Fundamentos de Redes Neurais: dados, modelos e função de perda

Capítulo 1

Tempo estimado de leitura: 7 minutos

+ Exercício

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 matriz N × d (cada linha é um exemplo).
  • y pode ser um vetor N (regressão) ou uma estrutura que represente classes (classificação).

Exemplo fictício (3 exemplos, 2 características):

Continue em nosso aplicativo e ...
  • Ouça o áudio com a tela desligada
  • Ganhe Certificado após a conclusão
  • + de 5000 cursos para você explorar!
ou continue lendo abaixo...
Download App

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” de y em termos de distância.

Exemplo: prever preço (em milhares) a partir de área e idade.

x = [area=80, idade=10]  →  y = 350

Classificaçã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 = 1

Conjuntos 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=1 e o modelo prevê p pequeno (ex.: 0,05).
  • y=0 e o modelo prevê p grande (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=1 e p=0,9, a perda é baixa.
  • Se y=1 e p=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 probabilidade p de 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).

Exemplox1 (m²)x2 (moradores)y (kWh)
1502180
21204420
3801200

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.

Exemplox1x2y
1611
2350
31071
4210

Tarefas:

  • Qual deve ser a interpretação da saída ŷ? (dica: probabilidade de aprovação)
  • Qual perda usar?
  • Se o modelo prevê p=0,95 para um exemplo com y=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}.

Exemplox1x2y
11306maçã
21109banana
31605laranja

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, queremos p alto; quando y=0, queremos p baixo.
  • 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?

Agora responda o exercício sobre o conteúdo:

Ao dividir um dataset em treino, validação e teste, qual prática ajuda a estimar de forma confiável o desempenho do modelo em dados novos?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Treino serve para ajustar os parâmetros minimizando a perda; validação orienta escolhas como hiperparâmetros e parada para evitar overfitting; teste deve ser usado uma única vez no fim para estimar a generalização, sem guiar decisões.

Próximo capitúlo

Perceptron e neurônio artificial em Redes Neurais: soma ponderada e decisão

Arrow Right Icon
Capa do Ebook gratuito Introdução a Redes Neurais: do perceptron ao deep learning moderno
7%

Introdução a Redes Neurais: do perceptron ao deep learning moderno

Novo curso

15 páginas

Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.