Redes Neurais – Deep Learning

árvore de ipê rosa

O que é regressão com perceptron multicamadas

A regressão com redes neurais é um método poderoso. Ela usa uma arquitetura chamada perceptron multicamadas (MLP). Diferentemente da árvore, a MLP aprende funções suaves e complexas. Por exemplo, podemos prever o consumo de energia elétrica. A rede é composta por neurônios artificiais interconectados. Cada neurônio aplica uma transformação matemática simples. Essa transformação é frequentemente não linear. O aprendizado ocorre por meio de um processo chamado retropropagação. Iniciantes podem pensar na MLP como um “matemático universal”.

As características principais incluem flexibilidade e capacidade de generalização. Primeiramente, a MLP pode aproximar qualquer função contínua. Além disso, ela lida bem com dados de alta dimensionalidade. Contudo, seu treinamento pode ser mais demorado. A interpretabilidade é menor em comparação com árvores. Por essa razão, é importante entender sua arquitetura. Modelos bem ajustados produzem predições precisas e estáveis. Eles são amplamente usados em problemas do mundo real.

Arquitetura da rede neural

A arquitetura MLP possui três tipos de camadas. A camada de entrada recebe as características dos dados. Cada característica é conectada a todos os neurônios seguintes. Em seguida, vêm uma ou mais camadas ocultas. Cada camada oculta contém neurônios com funções de ativação. Finalmente, a camada de saída produz o valor numérico previsto. Para regressão, essa camada usa ativação linear. O número de neurônios ocultos é um hiperparâmetro crucial. Redes mais largas e profundas são mais expressivas.

Uma fórmula descreve a operação de um neurônio. Primeiro, calcula-se a soma ponderada das entradas: \(z = \sum_{i=1}^{n} w_i x_i + b\). Depois, aplica-se a função de ativação \(a = f(z)\). Funções comuns são ReLU, tangente hiperbólica e sigmoide. A ReLU é definida como \(f(z) = \max(0, z)\). Ela é frequentemente usada em camadas ocultas. A saída final da rede é uma combinação linear dessas ativações. Todo esse processamento é feito simultaneamente para todos os dados.

Hiperparâmetros importantes

Os hiperparâmetros controlam o treinamento da MLP. A taxa de aprendizado define o tamanho dos passos de ajuste. O número de épocas é quantas vezes vemos todos os dados. O tamanho do lote (batch) afeta a estabilidade do gradiente. A escolha da função de ativação impacta a convergência. Além disso, a regularização evita overfitting. Ela é aplicada por meio de penalidades nos pesos. A inicialização dos pesos também é um fator relevante. Esses parâmetros são ajustados empiricamente.

Uma fórmula central é a da retropropagação do erro. O erro quadrático médio é frequentemente minimizado: \(MSE = \frac{1}{N}\sum_{i=1}^{N} (y_i – \hat{y}_i)^2\). A atualização dos pesos segue a regra do gradiente descendente: \(w_{novo} = w_{velho} – \eta \frac{\partial MSE}{\partial w}\). Nessa equação, \(\eta\) é a taxa de aprendizado. O gradiente é calculado pela regra da cadeia. Esse processo é repetido até a convergência do erro. Sem ajuste cuidadoso, a rede pode não aprender corretamente.

Exemplo prático em Python

O código abaixo deve ser executado no Google Colab. Ele cria dados sintéticos com ruído e uma tendência cúbica. Uma MLP com uma camada oculta é treinada para regressão. O gráfico mostra os dados reais e a predição da rede. Certifique-se de ter as bibliotecas instaladas. A seguir, o código completo é apresentado.

A normalização dos dados é aplicada antes do treinamento. Ela é necessária porque redes neurais são sensíveis a escalas. A MLP usada tem 100 neurônios em uma camada oculta. A função ReLU é escolhida para evitar gradientes desvanecentes. O gráfico final mostra uma curva suave ajustada aos dados. Diferentemente da árvore, não há degraus visíveis. Isso demonstra a natureza contínua da regressão neural. Para melhores resultados, experimente mais neurônios ou camadas. Ajustar hiperparâmetros é uma prática comum e recomendada.

Logistica

professor de matemática

quando a resposta é uma probabilidade

Regressão logística é um algoritmo de classificação apesar do nome sugerir regressão. Ela estima a probabilidade de um exemplo pertencer a uma determinada categoria. Diferente da regressão linear, a saída está sempre entre 0 e 1. Por exemplo, podemos estimar a probabilidade de um e-mail ser spam. Primeiramente, o modelo usa uma função sigmoide que transforma qualquer valor em probabilidade. Além disso, essa função tem formato de “S”, comprimindo valores extremos. A decisão final usa um limiar (geralmente 0,5) para classificar o resultado.

função sigmoide: o coração do modelo

A função sigmoide transforma combinações lineares de variáveis em probabilidades entre 0 e 1. Sua fórmula matemática é f(z) = 1 / (1 + e^{-z}), onde z é combinação linear. Primeiramente, valores de z muito negativos produzem probabilidades próximas de zero. Além disso, valores de z muito positivos produzem probabilidades próximas de um. Por exemplo, características que indicam spam produzem z positivo e probabilidade alta. O modelo aprende os coeficientes que melhor separam as duas classes. Essa curva em “S” é fundamental para o funcionamento do algoritmo.

fronteiras de decisão

Regressão logística cria fronteiras lineares que separam as diferentes classes no espaço. Para duas dimensões, essa fronteira é uma linha reta no plano cartesiano. Primeiramente, pontos de um lado recebem classificação 0 e do outro lado 1. Além disso, podemos usar transformações polinomiais para criar fronteiras não lineares. Por exemplo, adicionar termos como x² e y² gera círculos como fronteira. A fronteira de decisão ocorre onde a probabilidade prevista é exatamente 0,5. Essa visualização ajuda a entender como o modelo faz classificações.

avaliando classificadores binários

Avaliar regressão logística exige métricas específicas para classificação binária. Primeiramente, acurácia mede a proporção de acertos entre todas as previsões realizadas. Além disso, precisão indica quantos positivos previstos estavam corretos. Recall mostra quantos positivos reais conseguimos capturar corretamente. Curva ROC e AUC ajudam a avaliar o desempenho em diferentes limiares. Primeiramente, AUC próximo de 1 indica excelente capacidade de separação entre classes. Matriz de confusão organiza acertos e erros em quatro categorias distintas. Essas métricas oferecem visão completa do desempenho do modelo.

aplicações no mundo real

Regressão logística é amplamente utilizada em problemas de classificação binária diversos. Primeiramente, bancos usam para prever inadimplência em empréstimos concedidos a clientes. Além disso, hospitais empregam para diagnosticar doenças com base em exames. Marketing utiliza para prever quais clientes responderão a campanhas promocionais. Recursos humanos aplicam para prever rotatividade de funcionários na empresa. Sistemas antifraude usam para identificar transações suspeitas em tempo real. Para iniciantes, regressão logística é a porta de entrada para classificação supervisionada. É simples, interpretável e eficaz para muitos problemas práticos do cotidiano.

Contexto do Problema

Uma clínica médica deseja prever se um paciente tem diabetes com base em dois atributos: glicose (mg/dL) e IMC (kg/m²). Utilize a Regressão Logística para construir um modelo classificador.

Características do Modelo

  • Tipo: Modelo de classificação binária supervisionada
  • Função de ativação: Sigmóide (Logística)
  • Saída: Probabilidade entre 0 e 1
  • Decisão: Classe 1 se P ≥ 0.5, senão Classe 0
  • Limitação: Assume linearidade nos log-odds

Arquitetura do Modelo

A Regressão Logística é um modelo linear com uma única camada: \[ z = w_1 x_1 + w_2 x_2 + b \] \[ \hat{y} = \sigma(z) = \frac{1}{1 + e^{-z}} \] Onde:
  • \(x_1, x_2\): características de entrada (glicose, IMC)
  • \(w_1, w_2\): pesos do modelo
  • \(b\): viés (bias)
  • \(\hat{y}\): probabilidade prevista da classe positiva

Hiperparâmetros

  • C (regularização inversa): \(C = \frac{1}{\lambda}\) (padrão=1.0). Valores menores aumentam a regularização. Controle de overfitting através da regularização L2.
  • penalty: Tipo de regularização (‘l1’, ‘l2’, ‘elasticnet’ ou None)
  • max_iter: Número máximo de iterações para convergência (padrão=100)
  • solver: Algoritmo de otimização (‘lbfgs’, ‘liblinear’, ‘newton-cg’, ‘sag’, ‘saga’)
  • tol: Tolerância para critério de parada (padrão=1e-4)

Função de Custo (Log-Loss)

\[ J(\mathbf{w}) = -\frac{1}{m} \sum_{i=1}^{m} [y^{(i)} \log(\hat{y}^{(i)}) + (1-y^{(i)}) \log(1-\hat{y}^{(i)})] \]

Tarefa

Implemente um modelo de Regressão Logística para classificar pacientes com diabetes. Utilize os dados sintéticos fornecidos e avalie o modelo com acurácia e matriz de confusão. Visualize a fronteira de decisão no espaço 2D.  
LinkedIn
Share
Instagram