在線最優化求解(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)中包含了3個部分:(1) 線性函數,包含了之前所有梯度(或次梯度)的平均值(dual average);(2) 正則項
;(3) 額外正則項
,它是一個嚴格凸函數。
2. L1-RDA
我們下面來看看在L1正則化下,RDA中的特征權重更新具有什么樣的形式以及如何產生稀疏性。
令,由於
是一個關於
的嚴格凸函數,不妨令
,此外將非負非自減序列
定義為
,將L1正則化代入公式(1)有:

直接求解上式看上去非常困難,但是我們可以仿照上一篇FOBOS中采用的方法,針對特征權重的各個維度將其拆解成N個獨立的標量最小化問題:

這里,
;
;公式(3)就是一個無約束的非平滑最優化問題。其中第2項
在
處不可導。假設
是其最優解,並且定義
為
在
的次導數,那么有:

如果對公式(3)求導(求次導數)並等於0,則有:

由於,我們針對公式(5)分三種情況進行討論:
-------------------------------------
(1) 當時:
還可以分為三種情況:
(a) 如果,由公式(5)可得
,滿足公式(4)
(b) 如果,由公式(4)可得
,那么有
,不滿足公式(5)
(c) 如果,由公式(4)可得
,那么有
,不滿足公式(5)
所以,當時,
(2) 當時:
采用相同的分析方法可以得到,此時
,即:
(3) 當時:
采用相同的分析方法可以得到,此時
,即:
--------------------------------------
綜合上面的分析,可以得到L1-RDA特征權重的各個維度更新的方式為:

這里我們發現,當某個維度上累積梯度平均值的絕對值小於閾值
的時候,該維度權重將被置
,特征權重的稀疏性由此產生。
根據公式(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