Introdução à Inteligência Artificial

Regressão Linear • Gradiente Descendente • Inferência

Prof. Jéfer Benedett Dörr
UFPR • Computação

1. O Conceito Base da Regressão Linear

Na sua essência, um modelo de regressão linear em Inteligência Artificial tenta encontrar a melhor linha reta que represente um conjunto de dados. Essa reta é definida pela clássica equação matemática:

Equação da Reta: y = mx + b

Onde:

O trabalho da IA (o "treinamento") é descobrir os melhores valores para m e b de modo que a reta passe o mais perto possível de todos os pontos reais.

Função de Custo (Erro):

MSE = (1/n) × Σ(y_real − ŷ)² Onde:

Quanto menor o MSE, melhor a reta se ajusta aos dados.

2. O "Motor" da IA: Gradiente Descendente

Como a reta descobre para onde deve se mover? Ela utiliza o algoritmo de otimização chamado Gradiente Descendente.

Imagine que você está no topo de uma montanha, com os olhos vendados, e precisa chegar ao fundo do vale ("erro zero"). O processo é:

  1. Calcular o erro atual.
  2. Ajustar os pesos na direção que reduz o erro.
  3. O tamanho do ajuste é controlado pela Taxa de Aprendizado (Learning Rate).

De forma intuitiva, o ajuste dos pesos segue a ideia: quanto maior o erro, maior o ajuste (o modelo "corrige mais"). E quanto maior o valor de x, maior o impacto no peso m.

Δm ∝ erro × x

A Matemática "Pé no Chão": Calculando um Passo

Cenário Inicial:

Passo 1: A Predição Atual

ypred = 0 × 2 + 0 = 0

Passo 2: O Cálculo do Erro

Erro = 4 − 0 = 4

Passo 3: Atualização dos Pesos

mnovo = 0 + (4 × 2 × 0.1) = 0.8
bnovo = 0 + (4 × 0.1) = 0.4

Em uma fração de segundo, a equação passou de y = 0x + 0 para y = 0.8x + 0.4. Na simulação, isso se repete dezenas de vezes por segundo para todos os pontos!

3. Simulação Interativa (Treino e Inferência)

Clique na área abaixo para adicionar dados. Use SHIFT+Clique para adicionar um outlier. Segure P para entrar no modo inferência.

Outliers são pontos muito fora do padrão e ajudam a entender como dados extremos podem distorcer o modelo.

Época: uma passagem completa por todos os pontos de treino.

● Clique → Dados de Treino ● SHIFT+Clique → Outlier ● Segure P → Inferência


MSE: — | Pontos: 0 | m: 0.000 | b: 0.000

Reta vermelha = modelo aprendido • Ponto amarelo = predição (modo P)

📐 Detalhes do Último Passo (Época)

Clique em "Executar 1 Passo" para ver os cálculos detalhados de uma época completa.
📉 Curva de Perda — MSE ao longo do treinamento
📊 Evolução dos Pesos (m e b)
⚡ Comparação de Learning Rates — quem converge mais rápido?
LR = 0.003 (lento)
LR = 0.05 (ideal)
LR = 0.30 (agressivo)

4. Da Simulação para o Mundo Real: Python e Scikit-Learn

O que você acabou de fazer visualmente com cliques do mouse é exatamente o que fazemos no código usando linguagens profissionais. No ecossistema Python, usamos a biblioteca Scikit-Learn.

from sklearn.linear_model import LinearRegression
import numpy as np

# 1. Dados de treino (equivalente aos cliques no simulador)
X_treino = np.array([[1], [2], [4], [5], [7]])
y_treino = np.array([2.5, 3.8, 6.1, 7.5, 9.2])

# 2. Criar o modelo
modelo = LinearRegression()

# 3. Treinamento (Gradiente Descendente interno - ajuste automático dos parâmetros)
modelo.fit(X_treino, y_treino)

# 4. Fazer predição (como segurar 'P')
novo_dado = np.array([[6]])
nota_prevista = modelo.predict(novo_dado)

print(f"Para 6 horas de estudo, nota prevista: {nota_prevista[0]:.2f}")
print(f"Inclinação (m): {modelo.coef_[0]:.2f}")
print(f"Intercepto (b): {modelo.intercept_:.2f}")
  

Reflexão: Se os pontos estiverem muito espalhados e sem padrão claro, a reta ainda será traçada — porém, a predição será confiável? A qualidade da Inteligência Artificial depende fundamentalmente da qualidade dos dados que fornecemos a ela.

5. Quiz: Teste seu Conhecimento

Responda as perguntas abaixo para verificar o que você aprendeu com a simulação.