Sobes.tech
Middle — Senior

Неге L1 регуляциясы кей бир салмактарды нөлгө коюп жатат, ал эми L2 — жок?

sobes.tech AI

AIден жооп

L1-регуляризациясы (Lasso) жоготуу функциясына салмактардын абсолют маанилеринин жыйындысын (||w||₁) кошот, бул оптимизациянын бетинде бурчтуу чекиттердин пайда болушуна алып келет. Бул моделдин кээ бир салмактары так нөлгө тең болушун, башкача айтканда, аларды нөлгө коюуну илгерилетет, моделдин сирек болушун камсыз кылат.

L2-регуляризациясы (Ridge) салмактардын квадратынын жыйындысын (||w||₂²) кошот, ал тегиз парабола бетин түзөт жана бурчсуз болот. Натыйжада, салмактар азая берет, бирок так нөлгө айланбайт, анткени оптимизация кичинекей, бирок нөлгө жетпеген маанилерге умтулат.

Мисал:

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('L1 салмактар:', lasso.coef_)

ridge = Ridge(alpha=0.1)
ridge.fit(X, y)
print('L2 салмактар:', ridge.coef_)

Бул жерде, L1 кээ бир салмактарды нөлгө коюшу мүмкүн, ал эми L2 алардын өлчөмүн гана азайтат.