日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UA MATH567 高维统计专题3 含L1-norm的凸优化6 Stochastic Gradient Descent简介

發布時間:2025/4/14 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UA MATH567 高维统计专题3 含L1-norm的凸优化6 Stochastic Gradient Descent简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UA MATH567 高維統計專題3 含L1-norm的凸優化6 Stochastic Gradient Descent簡介

    • Stochastic Gradient Descent的思想
    • Variance Reduction

Stochastic Gradient Descent的思想

Stochastic Gradient Descent的想法是在數據量越來越大以后出現的。在監督學習中,需要做最小化的目標函數通常是loss function+penalty,其中loss function一般是所有數據點的loss的和:
min?xf(x)=1m∑i=1mhi(x)+λψ(x)\min_x \ \ f(x)= \frac{1}{m}\sum_{i=1}^mh_i(x)+\lambda \psi(x)xmin???f(x)=m1?i=1m?hi?(x)+λψ(x)

比如regularized least square:
min?x1m∑i=1m(yi?Aix)2+λψ(x)\min_x \ \ \frac{1}{m}\sum_{i=1}^m (y_i-A_ix)^2+\lambda \psi(x)xmin???m1?i=1m?(yi??Ai?x)2+λψ(x)

在用梯度下降求解這個最小化問題時,每一步迭代我們都需要計算?f(xk)\nabla f(x_k)?f(xk?),如果數據量非常大,也就是mmm非常大時,這一步會嚴重拖低計算效率(需要計算mmm?hi(xk)\nabla h_i(x_k)?hi?(xk?))。Stochastic Gradient Descent認為并不需要用所有的樣本來計算loss,因為在統計學的觀念中,樣本本來就是因為難以兼顧總體而用某些采樣方法得到的用來推斷總體性質的,樣本量過大就需要用一些dimensional reduction的手段讓信息更加dense,在計算loss的時候也是如此,數據太大的時候可以只用一個子樣本進行計算,于是在第kkk次迭代時先采樣得到一個子樣本
Bk?{1,2,?,m},∣Bk∣=bB_k \subset \{1,2,\cdots,m\},|B_k|=bBk??{1,2,?,m}Bk?=b

然后用這個子樣本計算?f(xk)\nabla f(x_k)?f(xk?):
?f(xk)=1b∑i∈Bk?hi(xk)+λ?ψ(xk)\nabla f(x_k) = \frac{1}\sum_{i \in B_k}\nabla h_i(x_k)+\lambda \nabla \psi(x_k)?f(xk?)=b1?iBk???hi?(xk?)+λ?ψ(xk?)

如果b=o(m)b=o(m)b=o(m),那么每次迭代中梯度計算的復雜度就會大大下降,但后果是因為做了sub-sampling,樣本信息沒有完全用上,所以收斂所需要的迭代次數會增加。在實踐中,這種方法在一定程度上可以提升計算效率。

如果sub-sampling能夠保證無偏性,即
E?Bkf(xk)=?f(xk)E \nabla_{B_k}f(x_k)=\nabla f(x_k)E?Bk??f(xk?)=?f(xk?)

那么盡管BkB_kBk?是隨機的,多次采樣計算梯度得到的期望也會約等于?f(xk)\nabla f(x_k)?f(xk?),但是這樣只是提高了計算速度,并沒有兼顧精度,因為在每次迭代中我們只會計算一次梯度(沒有辦法做多次sub-sampling取均值,也就不能保證它就會約等于?f(xk)\nabla f(x_k)?f(xk?)),所以sub-sampling會帶來額外的關于梯度的估計誤差
E∥?Bkf(xk)??f(xk)∥E \left\|\nabla_{B_k}f(x_k)-\nabla f(x_k) \right\|E?Bk??f(xk?)??f(xk?)

Variance Reduction

經過上述討論,我們可以發現如果能夠縮減E∥?Bkf(xk)??f(xk)∥E \left\|\nabla_{B_k}f(x_k)-\nabla f(x_k) \right\|E?Bk??f(xk?)??f(xk?)這個方差就可以提高收斂速度,那么Stochastic Gradient Descent應該還是很好用。

Method 1:Anchor Point
固定x~\tilde xx~作為Anchor Point,用所有數據點計算?f(x~)\nabla f(\tilde x)?f(x~),在第kkk次迭代中,計算
?~Bkf(xk)=?Bkf(xk)??Bkf(x~)+?f(x~)\tilde \nabla_{B_k}f(x_k)=\nabla_{B_k}f(x_k)-\nabla_{B_k}f(\tilde x)+\nabla f(\tilde x)?~Bk??f(xk?)=?Bk??f(xk?)??Bk??f(x~)+?f(x~)

作為梯度代入遞推式中,
xk+1=xk?rk?~Bkf(xk)x_{k+1}=x_k-r_k \tilde \nabla_{B_k}f(x_k)xk+1?=xk??rk??~Bk??f(xk?)

這種方法只需要額外多出用所有數據點計算Anchor Point處的梯度這一步的計算量(如果對計算量的限制沒有那么嚴格,也可以多增加幾個Anchor point,比如每十次迭代更新一下Anchor point),就可以實現Variance Reduction:?Bkf(xk)\nabla_{B_k}f(x_k)?Bk??f(xk?)?f(xk)\nabla f(x_k)?f(xk?)的無偏估計,??Bkf(x~)+?f(x~)-\nabla_{B_k}f(\tilde x)+\nabla f(\tilde x)??Bk??f(x~)+?f(x~)是0無偏估計,所以?~Bkf(xk)\tilde \nabla_{B_k}f(x_k)?~Bk??f(xk?)?f(xk)\nabla f(x_k)?f(xk?)的無偏估計,只要零無偏估計與?Bkf(xk)\nabla_{B_k}f(x_k)?Bk??f(xk?)負相關就可以達到variance reduction的目的。

Method 2 用累積到第kkk次迭代的所有子樣本計算梯度:

?f(xk)=1b∑i∈∪Bk?hi(xk)+λ?ψ(xk)\nabla f(x_k) = \frac{1}\sum_{i \in \cup B_k}\nabla h_i(x_k)+\lambda \nabla \psi(x_k)?f(xk?)=b1?iBk???hi?(xk?)+λ?ψ(xk?)


閱讀材料

關于SGD的一些新進展可以看看ICML 2017 Tutorial: Recent Advances in Stochastic Convex and Non-Convex Optimization by Zeyuan Allen Zhu. 這里有一個網頁http://people.csail.mit.edu/zeyuan/topics/icml-2017可以找到一些資料。關于SGD的variance reduction可以看看Yuxin Chen的課件,鏈接在這里http://www.princeton.edu/~yc5/ele522_optimization/lectures/variance_reduction.pdf

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的UA MATH567 高维统计专题3 含L1-norm的凸优化6 Stochastic Gradient Descent简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。