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