Middle — Senior
Por que a regularização L1 zera alguns pesos, enquanto a L2 não?
sobes.tech IA
Resposta da IA
A regularização L1 (Lasso) adiciona à função de perda a soma dos valores absolutos dos pesos (||w||₁), o que leva ao aparecimento de pontos angulares na superfície de otimização. Isso favorece que a solução ótima tenha valores exatamente nulos para alguns pesos, ou seja, que os anule, garantindo a esparsidade do modelo.
A regularização L2 (Ridge) adiciona a soma dos quadrados dos pesos (||w||₂²), criando uma superfície parabólica suave sem ângulos. Como resultado, os pesos diminuem, mas raramente se tornam exatamente nulos, pois a otimização busca valores pequenos, mas não nulos.
Exemplo:
import numpy as np
from sklearn.linear_model import Lasso, Ridge
X = np.array([[1, 2], [3, 4], [5, 6]])
y = np.array([1, 2, 3])
lasso = Lasso(alpha=0.1)
lasso.fit(X, y)
print('Pesos L1:', lasso.coef_)
ridge = Ridge(alpha=0.1)
ridge.fit(X, y)
print('Pesos L2:', ridge.coef_)
Aqui, o L1 pode zerar alguns pesos, enquanto o L2 apenas os reduz.