Middle — Senior
Neden L1 düzenlemesi bazı ağırlıkları sıfırlarken, L2 yapmaz?
sobes.tech yapay zeka
AI'dan gelen yanıt
L1 düzenlemesi (Lasso), kayıp fonksiyonuna ağırlıkların mutlak değerlerinin toplamını (||w||₁) ekler, bu da optimizasyon yüzeyinde köşelerin oluşmasına neden olur. Bu, bazı ağırlıkların tam olarak sıfır olmasını teşvik eder, yani onları sıfırlar ve modelin seyrek olmasını sağlar.
L2 düzenlemesi (Ridge), ağırlıkların karelerinin toplamını (||w||₂²) ekler, bu da düzgün bir parabollü yüzey oluşturur ve köşeleri olmayan bir yapı sağlar. Sonuç olarak, ağırlıklar küçülür, ancak nadiren tam olarak sıfır olur, çünkü optimizasyon küçük ama sıfır olmayan değerlere yöneliktir.
Örnek:
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 ağırlıkları:', lasso.coef_)
ridge = Ridge(alpha=0.1)
ridge.fit(X, y)
print('L2 ağırlıkları:', ridge.coef_)
Burada, L1 bazı ağırlıkları sıfırlayabilir, L2 ise sadece küçültür.