Regressão Linear Regularizada (Ridg, Lasso e Elastic Net)

1.1 – Supervisionado
1.1.1 – Regressao
1.1.1.4 – Ridge, Lasso, Elastic Net
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

O que é regressão linear e por que regularizar?

Primeiramente, imagine desenhar uma linha reta entre vários pontos. Por conseguinte, essa linha tenta prever um valor (como o preço de uma casa). Esse método chama-se regressão linear simples. Contudo, dados reais costumam ser bagunçados e cheios de variáveis. Assim, o modelo pode ficar complexo demais para os dados. Esse problema é conhecido como overfitting (sobreajuste). Para evitar isso, usamos técnicas de regularização. Dessa forma, elas aplicam “punições” aos coeficientes do modelo. Além disso, o modelo fica mais simples e generalizável. Três métodos populares são Ridge, Lasso e Elastic Net. Cada um age de maneira diferente nos coeficientes. Especialistas usam esses métodos em aprendizado de máquina. Seu principal benefício é melhorar previsões em novos dados. Portanto, a regularização é essencial para modelos confiáveis.

Ridge: encolhendo coeficientes sem zerar

Ridge é a primeira técnica que vamos explorar. Ela adiciona uma penalidade ao quadrado dos coeficientes. Os profissionais chamam essa penalidade de norma L2. O objetivo é encolher todos os coeficientes, mas sem zerá-los. Assim, nenhuma variável sai completamente do modelo. Isso é útil quando todas as variáveis importam um pouco. Por exemplo, dados genéticos ou de sensores se beneficiam disso. A força da penalidade depende de um parâmetro (alpha). Consequentemente, alpha maior produz coeficientes menores. Isso resulta em modelo mais simples e robusto. Uma desvantagem é que Ridge mantém variáveis irrelevantes. Elas ficam perto de zero, mas não exatamente zero. Portanto, isso pode dificultar a interpretação do modelo final. Ainda assim, Ridge evita overfitting severo com eficiência. Muitas situações práticas se beneficiam dessa abordagem.

Lasso: escolhendo variáveis importantes

Lasso usa uma penalidade diferente, chamada norma L1. Ela soma os valores absolutos dos coeficientes. O resultado é que alguns coeficientes viram exatamente zero. Desse modo, Lasso faz seleção automática de variáveis. Variáveis zeradas saem do modelo final completamente. Isso torna o modelo mais simples e fácil de explicar. Por exemplo, marketing com 100 possíveis canais de venda. Lasso descobre quais canais realmente influenciam as vendas. Contudo, Lasso tem uma limitação importante. Se duas variáveis forem muito correlacionadas, ele escolhe uma. A outra variável fica zerada, mesmo que ambas sejam úteis. Além disso, poucos dados podem deixar Lasso instável. A escolha do alpha também exige cuidado e testes. Apesar disso, Lasso é muito usado em dados de alta dimensão.

Elastic Net: o melhor dos dois mundos

Elastic Net combina Ridge e Lasso em um só método. Sua penalidade mistura norma L1 e norma L2. Dois parâmetros controlam essa mistura: alpha e l1ratio. O alpha controla a força total da regularização. Já o l1ratio decide quanto de L1 versus L2 usar. Quando l1ratio é 1, Elastic Net vira Lasso puro. Quando l1ratio é 0, Elastic Net vira Ridge puro. Valores intermediários trazem benefícios de ambos. Por exemplo, ele encolhe coeficientes como Ridge. Mas também zera variáveis menos importantes como Lasso. Além disso, Elastic Net funciona bem com variáveis correlacionadas. Ele mantém grupos de variáveis relevantes juntos normalmente. Por essa razão, os especialistas preferem esse método. Em muitos projetos, Elastic Net supera Ridge e Lasso. Portanto, sua flexibilidade representa uma grande vantagem prática.

Como aplicar esses métodos na prática

Primeiramente, padronize os dados antes de tudo. Isso significa colocar todas as variáveis na mesma escala. Caso contrário, as penalidades seriam aplicadas de forma injusta. Use StandardScaler da biblioteca scikit-learn para isso. Depois, divida os dados em treino e teste. A regularização depende apenas dos dados de treino. Escolha o parâmetro alpha (e l1_ratio) com cuidado. Uma técnica comum é a validação cruzada (cross-validation). Ela testa vários valores e seleciona o melhor. No scikit-learn, existem RidgeCV, LassoCV e ElasticNetCV. Essas classes já implementam a busca automática. Avalie modelos regularizados pelo R² ou MSE. Sempre compare com uma regressão linear sem regularização. Isso mostra se a regularização realmente ajudou. Por fim, interprete os coeficientes com atenção. Eles indicam o impacto de cada variável no resultado. Lembre-se: regularização não resolve todos os problemas. Dados mal coletados ou com poucos exemplos continuam sendo um desafio. Portanto, combine sempre boas práticas de coleta e limpeza. Com esses passos, você estará pronto para usar Ridge, Lasso e Elastic Net.

enunciado: previsão de eficiência energética

Você recebeu um conjunto de dados sobre edifícios. O objetivo é prever a carga de aquecimento (variável alvo). Existem oito características disponíveis:

  • Área relativa do edifício
  • Área do telhado
  • Altura do edifício
  • Tamanho do vidro
  • Distribuição do vidro
  • Orientação (codificada)
  • Área da superfície do telhado
  • Área da superfície da parede

Seu trabalho é construir um modelo de regressão linear regularizado. O modelo deve aprender a relação entre as características e a carga de aquecimento. A arquitetura do modelo é simples: uma combinação linear das entradas. A fórmula da regressão linear é: \(\hat{y} = w_1 x_1 + w_2 x_2 + … + w_n x_n + b\) Onde \(w_i\) são os pesos e \(b\) é o intercepto. A regularização Ridge adiciona uma penalidade à soma dos quadrados dos pesos. Para Ridge, a função de custo é: \(J(w) = \text{MSE}(w) + \alpha \sum_{i=1}^{n} w_i^2\) Para Lasso, a penalidade usa o valor absoluto dos pesos: \(J(w) = \text{MSE}(w) + \alpha \sum_{i=1}^{n} |w_i|\) Elastic Net combina ambas as penalidades: \(J(w) = \text{MSE}(w) + \alpha \cdot \text{l1\_ratio} \sum |w_i| + \alpha \cdot (1 – \text{l1\_ratio}) \sum w_i^2\) Hiperparâmetros importantes:

  • alpha – controla a força da regularização. Quanto maior, mais simples o modelo.
  • l1_ratio (Elastic Net) – mistura entre Lasso (1) e Ridge (0).
  • max_iter – número máximo de iterações para convergência.
  • tol – tolerância para parar o treinamento.

Use validação cruzada para escolher o melhor alpha. Avalie o modelo com o erro quadrático médio (MSE) e o R². Compare os três métodos (Ridge, Lasso, Elastic Net).

Exemplo com Ridge

 

Exemplo com Lasso

 

Exemplo com Elastic Net

 

Deixe um comentário