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-ը՝ միայն նվազեցնել։