Sobes.tech
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)