不論怎樣,簡單截斷、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的算法邏輯為:

Algorithm 5. Regularized Dual Averaging with L1 Regularization

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