Middle+
Разкажете за регуляризацията в класическите алгоритми за ML: L1 и L2. Какви са техните свойства и разлики?
sobes.tech AI
Отговор от AI
L1 и L2 са два вида регуларизация, които добавят наказание към функцията на загубата, за да предотвратят пренасищане.
-
Регуларизация L1 (Lasso) добавя сумата от абсолютните стойности на коефициентите: ( \lambda \sum |w_i| ). Тя насърчава разреждането на модела, т.е. много коефициенти стават нулеви, което помага при избора на характеристики.
-
Регуларизация L2 (Ridge) добавя сумата от квадратите на коефициентите: ( \lambda \sum w_i^2 ). Тя не нулира коефициентите, а ги намалява, правейки модела по-устойчив на шум.
Разлики:
- L1 може да доведе до разредени решения, полезни за избор на характеристики.
- L2 изглажда теглата, намалявайки ги, но не ги нулира.
Пример в линейна регресия:
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)