Objetivo de uma rede neural: uma função parametrizada
Uma rede neural pode ser vista como uma função parametrizada que transforma entradas em saídas. Em vez de “programarmos” regras, escolhemos uma família de funções e deixamos o treinamento ajustar os parâmetros para que a saída fique próxima do desejado.
De forma mínima em notação:
- Entrada:
x(um vetor de características). Ex.:x = [area, quartos, idade]. - Saída desejada (rótulo/target):
y. - Modelo (rede):
f(x; θ), ondeθsão os parâmetros (pesos e vieses). - Predição:
ŷ = f(x; θ).
O treinamento escolhe θ para minimizar uma função de perda que mede o quão “erradas” estão as predições em relação aos alvos.
Dados como matrizes (visão prática)
Em um conjunto com N exemplos e d características:
Xé uma matrizN × d(cada linha é um exemplo).ypode ser um vetorN(regressão) ou uma estrutura que represente classes (classificação).
Exemplo fictício (3 exemplos, 2 características):
- Ouça o áudio com a tela desligada
- Ganhe Certificado após a conclusão
- + de 5000 cursos para você explorar!
Baixar o aplicativo
X = [[1.0, 0.2], [0.5, 1.3], [2.2, 0.1]]Regressão vs. classificação: o tipo de saída guia a perda
A primeira decisão prática é: o que a saída representa?
Regressão
Na regressão, a saída é um valor numérico contínuo. Exemplos: preço de imóvel, temperatura, tempo de entrega.
- Saída típica: um número real (ou um vetor de números reais).
- Interpretação: queremos que
ŷfique “perto” deyem termos de distância.
Exemplo: prever preço (em milhares) a partir de área e idade.
x = [area=80, idade=10] → y = 350Classificação
Na classificação, a saída é uma categoria. Exemplos: spam/não spam, doença A/B/C, tipo de defeito.
- Saída típica: probabilidade(s) por classe.
- Interpretação: queremos alta probabilidade para a classe correta.
Exemplo: classificar e-mail como spam (1) ou não spam (0).
x = [qtd_links=3, tem_palavra_promocao=1] → y = 1Conjuntos de treino, validação e teste
Para avaliar se o modelo aprende padrões gerais (e não apenas “decora” exemplos), separamos os dados em três partes:
- Treino: usado para ajustar os parâmetros
θminimizando a perda. - Validação: usado durante o desenvolvimento para escolher hiperparâmetros (ex.: tamanho da rede, taxa de aprendizado) e para decidir quando parar (evitar overfitting).
- Teste: usado uma única vez ao final para estimar o desempenho em dados novos.
Uma divisão comum é 70/15/15 ou 80/10/10, mas depende do tamanho do dataset. O ponto central é: o teste não deve influenciar decisões.
Generalização (intuição)
Generalizar é ter bom desempenho em exemplos que o modelo nunca viu. Se a perda no treino cai muito, mas a perda na validação piora, o modelo pode estar aprendendo detalhes específicos do treino (overfitting). Se ambas perdas ficam altas, pode estar faltando capacidade do modelo, dados, ou o problema pode estar mal formulado.
Função de perda: o que significa “errar”
A função de perda transforma a diferença entre y e ŷ em um número. O treinamento tenta minimizar a média dessa perda no conjunto de treino.
MSE (Erro Quadrático Médio) para regressão
Uma perda muito comum em regressão é o MSE (Mean Squared Error). Para um exemplo, o erro é (y - ŷ); no MSE, elevamos ao quadrado.
Intuição:
- Erros maiores são penalizados muito mais (por causa do quadrado).
- O modelo é incentivado a reduzir grandes desvios.
Exemplo numérico (1 saída):
- Exemplo A:
y=10,ŷ=8→ erro = 2 → erro² = 4 - Exemplo B:
y=10,ŷ=4→ erro = 6 → erro² = 36
O exemplo B pesa muito mais na perda total.
Entropia cruzada para classificação
Em classificação, queremos que o modelo produza probabilidades. A perda mais usada é a entropia cruzada, que penaliza fortemente quando o modelo dá baixa probabilidade para a classe correta.
Classificação binária (2 classes)
Para duas classes (0/1), o modelo costuma produzir p, a probabilidade de y=1. A perda (por exemplo) é alta quando:
y=1e o modelo prevêppequeno (ex.: 0,05).y=0e o modelo prevêpgrande (ex.: 0,95).
Intuição:
- Se o modelo está confiante e errado, a penalização é grande.
- Se está confiante e certo, a penalização é pequena.
Exemplo numérico (apenas intuição com valores):
- Se
y=1ep=0,9, a perda é baixa. - Se
y=1ep=0,1, a perda é alta.
Classificação multiclasse (3+ classes)
Para K classes, o modelo produz um vetor de probabilidades p = [p1, p2, ..., pK] que soma 1. A entropia cruzada “olha” principalmente para a probabilidade atribuída à classe correta.
Exemplo: 3 classes (A, B, C). Se o verdadeiro é B:
- Boa predição:
p=[0,05, 0,90, 0,05](classe B com 0,90) → perda baixa. - Má predição:
p=[0,80, 0,10, 0,10](classe B com 0,10) → perda alta.
Como escolher a saída e a perda (passo a passo)
Passo 1 — Defina o que é y
- Se
yé um número contínuo (ou vetor de números): regressão. - Se
yé uma categoria: classificação.
Passo 2 — Defina o formato de ŷ
- Regressão:
ŷé real (ex.: 1 valor para preço; vários valores para múltiplas saídas). - Classificação binária:
ŷpode ser uma probabilidadepde classe 1. - Classificação multiclasse:
ŷé um vetor de probabilidades por classe.
Passo 3 — Escolha a perda
- Regressão: use MSE (ponto de partida comum).
- Classificação: use entropia cruzada (binária ou multiclasse).
Passo 4 — Verifique se a perda “combina” com a interpretação
- Se você quer probabilidades calibradas por classe, entropia cruzada faz sentido.
- Se você quer minimizar distância numérica, MSE faz sentido.
Exercícios guiados (com dados fictícios)
Exercício 1 — Regressão: prever consumo de energia
Você tem um dataset com duas entradas: x1=tamanho da casa (em m²) e x2=número de moradores. O alvo y é o consumo mensal (kWh).
| Exemplo | x1 (m²) | x2 (moradores) | y (kWh) |
|---|---|---|---|
| 1 | 50 | 2 | 180 |
| 2 | 120 | 4 | 420 |
| 3 | 80 | 1 | 200 |
Tarefas:
- Identifique se é regressão ou classificação.
- Defina o formato de saída
ŷ(um número? um vetor?). - Escolha a função de perda adequada (MSE ou entropia cruzada) e justifique em 1 frase.
Checagem rápida (para você conferir): y é contínuo, então a saída é um número real e a perda típica é MSE.
Exercício 2 — Classificação binária: aprovar ou não um empréstimo
Entradas: x1=renda (mil R$), x2=dívida (mil R$). Alvo: y=1 se aprovado, y=0 se negado.
| Exemplo | x1 | x2 | y |
|---|---|---|---|
| 1 | 6 | 1 | 1 |
| 2 | 3 | 5 | 0 |
| 3 | 10 | 7 | 1 |
| 4 | 2 | 1 | 0 |
Tarefas:
- Qual deve ser a interpretação da saída
ŷ? (dica: probabilidade de aprovação) - Qual perda usar?
- Se o modelo prevê
p=0,95para um exemplo comy=0, a perda deve ser alta ou baixa? Explique intuitivamente.
Exercício 3 — Classificação multiclasse: tipo de fruta
Entradas: x1=peso (g), x2=doçura (0 a 10). Classes: {maçã, banana, laranja}.
| Exemplo | x1 | x2 | y |
|---|---|---|---|
| 1 | 130 | 6 | maçã |
| 2 | 110 | 9 | banana |
| 3 | 160 | 5 | laranja |
Tarefas:
- Qual o formato de saída
ŷmais adequado: um número, ou um vetor com 3 probabilidades? - Qual perda escolher?
- Para o exemplo 2 (banana), compare duas predições e diga qual deve ter menor perda: (A)
p=[0,10, 0,80, 0,10](B)p=[0,40, 0,30, 0,30].
Exercício 4 — Identificando o problema a partir do alvo
Para cada caso abaixo, diga: (1) regressão ou classificação, (2) formato de saída, (3) perda indicada.
- Caso A: prever a nota final de um aluno (0 a 10) a partir de horas de estudo e presença.
- Caso B: prever se uma imagem contém gato (sim/não).
- Caso C: prever o nível de risco {baixo, médio, alto} de um cliente.
- Caso D: prever a demanda de um produto (unidades) na próxima semana.
Mini-laboratório mental: calculando perdas em poucos pontos
Parte 1 — MSE em 3 exemplos
Considere um problema de regressão com 3 exemplos. Valores reais: y=[2, 0, 4]. Predições do modelo: ŷ=[3, -1, 2].
Passo a passo:
- Calcule os erros:
e = y - ŷ. - Eleve ao quadrado cada erro.
- Faça a média dos quadrados.
Preencha:
e = [__, __, __] → e² = [__, __, __] → MSE = (__ + __ + __)/3 = __Parte 2 — Entropia cruzada (intuição) em 3 exemplos binários
Considere 3 exemplos com rótulos y=[1, 0, 1]. O modelo prevê probabilidades p=[0,9, 0,7, 0,2] para a classe 1.
Passo a passo (sem fórmula):
- Quando
y=1, queremospalto; quandoy=0, queremospbaixo. - Identifique quais exemplos devem contribuir com perda baixa e quais com perda alta.
Perguntas:
- No exemplo 1 (
y=1,p=0,9), a perda é baixa ou alta? - No exemplo 2 (
y=0,p=0,7), a perda é baixa ou alta? - No exemplo 3 (
y=1,p=0,2), a perda é baixa ou alta?