在線最優化求解(Online Optimization)之四:RDA
轉載自:http://www.wbrecom.com/?p=394;作者是大牛
不論怎樣,簡單截斷、TG、FOBOS都還是建立在SGD的基礎之上的,屬於梯度下降類型的方法,這類型方法的優點就是精度比較高,並且TG、FOBOS也都能在稀疏性上得到提升。但是有些其它類型的算法,例如RDA從另一個方面來求解Online Optimization並且更有效地提升了特征權重的稀疏性。RDA(Regularized Dual Averaging)是微軟十年的研究成果。RDA是Simple Dual Averaging Scheme一個擴展,由Lin Xiao發表於2010年[1]。
1. 算法原理
在RDA中,特征權重的更新策略為:
公式(1)
其中
表示梯度
對
的積分平均值(積分中值);
為正則項;
為一個輔助的嚴格凸函數;
是一個非負且非自減序列。
本質上,公式(1)中包含了3個部分:(1) 線性函數
,包含了之前所有梯度(或次梯度)的平均值(dual average);(2) 正則項
;(3) 額外正則項
,它是一個嚴格凸函數。
2. L1-RDA
我們下面來看看在L1正則化下,RDA中的特征權重更新具有什么樣的形式以及如何產生稀疏性。
令
,由於
是一個關於
的嚴格凸函數,不妨令
,此外將非負非自減序列
定義為
,將L1正則化代入公式(1)有:
公式(2)
直接求解上式看上去非常困難,但是我們可以仿照上一篇FOBOS中采用的方法,針對特征權重的各個維度將其拆解成N個獨立的標量最小化問題:
公式(3)
這里
,
;
;公式(3)就是一個無約束的非平滑最優化問題。其中第2項
在
處不可導。假設
是其最優解,並且定義
為
在
的次導數,那么有:
公式(4)
如果對公式(3)求導(求次導數)並等於0,則有:
公式(5)
由於
,我們針對公式(5)分三種情況進行討論:
-------------------------------------
(1) 當
時:
還可以分為三種情況:
(a) 如果
,由公式(5)可得
,滿足公式(4)
(b) 如果
,由公式(4)可得
,那么有
,不滿足公式(5)
(c) 如果
,由公式(4)可得
,那么有
,不滿足公式(5)
所以,當
時,
(2) 當
時:
采用相同的分析方法可以得到
,此時
,即:
(3) 當
時:
采用相同的分析方法可以得到
,此時
,即:
--------------------------------------
綜合上面的分析,可以得到L1-RDA特征權重的各個維度更新的方式為:
公式(6)
這里我們發現,當某個維度上累積梯度平均值的絕對值
小於閾值
的時候,該維度權重將被置
,特征權重的稀疏性由此產生。
根據公式(6),可以設計出L1-RDA的算法邏輯為:
3. L1-RDA與FOBOS的比較
在上一篇博文中中我們看到了L1-FOBOS實際上是TG的一種特殊形式,在L1-FOBOS中,進行“截斷”的判定條件是
。通常會定義
為
的正相關函數(
),因此L1-FOBOS的“截斷閾值”為
,隨着
的增加,這個閾值會逐漸降低。
相比較而言,從公式(6)可以看出,L1-RDA的“截斷閾值”為
,是一個常數,並不隨着
而變化,因此可以認為L1-RDA比L1-FOBOS在截斷判定上更加aggressive,這種性質使得L1-RDA更容易產生稀疏性;此外,RDA中判定對象是梯度的累加平均值
,不同於TG或L1-FOBOS中針對單次梯度計算的結果進行判定,避免了由於某些維度由於訓練不足導致截斷的問題。並且通過調節
一個參數,很容易在精度和稀疏性上進行權衡。
參考文獻
[1] Lin Xiao. Dual Averaging Methods for Regularized Stochastic Learning and Online Optimization. Journal of Machine Learning Research, 2010

