Middle+
Fale sobre regularização em algoritmos clássicos de ML: L1 e L2. Quais são suas propriedades e diferenças?
sobes.tech IA
Resposta da IA
L1 e L2 são dois tipos de regularização que adicionam uma penalidade à função de perda para evitar o sobreajuste.
-
Regularização L1 (Lasso) adiciona a soma dos valores absolutos dos coeficientes: ( \lambda \sum |w_i| ). Promove a esparsidade do modelo, ou seja, muitos coeficientes tornam-se zero, ajudando na seleção de características.
-
Regularização L2 (Ridge) adiciona a soma dos quadrados dos coeficientes: ( \lambda \sum w_i^2 ). Não zera os coeficientes, apenas os reduz, tornando o modelo mais resistente ao ruído.
Diferenças:
- L1 pode levar a soluções dispersas, útil para seleção de características.
- L2 suaviza os pesos, reduzindo-os, mas não os zera.
Exemplo em regressão linear:
from sklearn.linear_model import Ridge, Lasso
ridge = Ridge(alpha=1.0) # L2
lasso = Lasso(alpha=1.0) # L1
ridge.fit(X_train, y_train)
lasso.fit(X_train, y_train)