[爆卦]l1 l2正規化是什麼?優點缺點精華區懶人包

為什麼這篇l1 l2正規化鄉民發文收入到精華區:因為在l1 l2正規化這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者bibo9901 (function(){})()看板DataScience標題Re: [問題]...


※ 引述《bokxko1023 (bokxko1023)》之銘言:
: 在網路上看了不少文章,但還是無法理解為何L1會具有稀疏的特性?這兩者的具體差別到
: 底是什麼呢,能用gradient descent 在微分時的差別來解釋嗎?
: 另外想請問大家是怎麼選正規化的權重alpha的?雖說知道是用trial and error,但數字
: 範圍這麼廣,有沒有限縮範圍的方法呢?
: 感謝大家


推文裡提到一些觀點都不太嚴謹 (可能是我想像力太差)

1. 每次梯度下降的大小是L1>L2:

格局太小不說(離了GD推論就無效), 迭代的過程只是想當然耳,

每一步用的梯度大小應該只影響收斂速度而非收斂到的值,
難道是原來就有稀疏解, 只是用L1比較快?

那麼不用L1但增加learning rate或多迭代幾次, 為什麼不會解到零?

2. 等高線優先撞到角角、相當於lagrange的某個式子...:

更複雜的想當然耳, 為什麼極值一定在邊邊角角?
又為什麼邊上的每個點機率是一樣的?
碰到線段上的某定點的機率是0, 應該是「很難」碰到頂點吧?

甚至, 如果降到1維, 整個推論就變得很荒謬:
因為 x 的範圍都在 [-C, +C], 線段一樣, 頂點一樣, 範圍裡等高線也一樣,
此時 L1, L2, L3, ... 沒有差別, 而且一定收斂到 -C 或 +C (保證不稀疏)

這解釋跟本禁不起推敲



其實可以直接求"存在稀疏解"的條件


假設原損失函數 f(x) 在 x=0 可微,
R(x) 是 regularization term,
a 是 regularization 的權重



則 f(x) + a R(x) 在 x=0 處有最小值(稀疏解) 的定義是:

存在一點 x0 > 0, 使得

for all h in [-x0, x0]

恒有 f(h) + a R(h) >= f(0) + a R(0),

即 f(h) - f(0) >= -a [ R(h) - R(0) ]

把式子兩邊同時除以 h,並分別取 0 的左右極限
因為是不等式, 所以 h 的正負需分開討論

<=> lim{h->0+} [f(h)-f(0)]/h >= lim{h->0+} -a [R(h)-R(0)]/h



lim{h->0-} [f(h)-f(0)]/h <= lim{h->0-} -a [R(h)-R(0)]/h

由於 f 在 0 可微, 所以上兩式的左項相等, 即 f'(0)

整理得

<=> -a R'(0+) <= f'(0) <= -a R'(0-)

其中 R'(0+) 為 R 在 0 的右導數,
R'(0-) 為 R 在 0 的左導數.


所以,

L1:
R(x) = |x|, R'(0+)=1, R'(0-)=-1, 有稀疏解的充要條件是 -a <= f'(0) <= a

L2:
R(x) = x^2, R'(0+)=0, R'(0-)=0 , 有稀疏解的充要條件是 0 <= f'(0) <= 0


換句話說:

用 L1 時, 只要 f 在原點的梯度絕對值 <= 正則的權重,
x=0 就會是區域極小
甚至 f 沒有極值都可以 (e.g., x^3 + |x|)

可以想成 "無論f是什麼樣子, 只要在0附近足夠平緩, 加上L1就會有稀疏解"
當然能不能解到是另一回事

但用 L2 時, 只有原來 f'(0) = 0 才會有稀疏解,
也就是說加上 L2, 對稀疏解沒有幫助


也可以機率的觀點來看
regularization相當於強迫參數服從於特定的prior distribution
而L1對應的分佈 相較L2集中在零點
這有機會再說了

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 174.119.85.87
※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1523488715.A.DAE.html
※ 編輯: bibo9901 (174.119.85.87), 04/12/2018 07:20:54
※ 編輯: bibo9901 (174.119.85.87), 04/12/2018 09:12:14
※ 編輯: bibo9901 (174.119.85.87), 04/12/2018 09:13:34
goldflower: 推 04/12 12:33
sxskr1001: 推 04/12 12:55
※ 編輯: bibo9901 (174.119.85.87), 04/12/2018 13:51:29
※ 編輯: bibo9901 (174.119.85.87), 04/12/2018 14:06:14
lucien0410: 推 數據科學家的超能力不是數學運算 是數學想像力! 04/12 15:42
AmibaGelos: 大推! 從input來看扣掉需要非0 filter的features 其 04/13 12:52
AmibaGelos: 它dof是在學noise 用L2的話noise只是rescale 用L1的 04/13 12:52
AmibaGelos: 話就是把scattering<regularization strength的砍掉 04/13 12:52
goldflower: 話說我一直覺得regularization用機率的角度來看他的 04/13 15:26
goldflower: 假設會不會太強啊 一直有這種疑問XD 04/13 15:27
a78998042a: 推推 05/02 15:09

你可能也想看看

搜尋相關網站