久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    女朋友問我什么是最優化原理(上)——系列連載(9)

     新用戶8173JS52 2020-10-27

    后臺回復"python",立刻領取100本機器學習必備的Python電子書!

    泰勒定理?


    滿足一定條件的函數可以通過泰勒展開式對其做近似:

    泰勒展開式


    泰勒展開式原理如下,主要采用分部積分推導:


    泰勒中值定理?


    需要注意泰勒中值定理是一個嚴格的等式:


    梯度下降法

    基本原理

    梯度下降是一種簡單、好用、經典的使用一階信息的最優化方法(意味著相對低廉的計算成本),其基本原理可以想象為一個下山問題,當下降方向與梯度方向一致時,目標函數的方向導數最大,即此時目標函數在當前起點位置的下降速度最快。

    基于梯度的優化算法通常有兩個核心元素:搜索方向和搜索步長,并且一般都會和泰勒定理有某種聯系,從泰勒中值定理可以得到下面的等式:

    迭代框架

    批量梯度下降

    按照上面等式,每次迭代,為計算梯度值都需要把所有樣本掃描一遍,收斂曲線類似下圖:

    From michaeljancsy

    它的優點如下:

    ·  模型學習與收斂過程通常是平滑的和穩定的;

    ·  關于收斂條件有成熟完備的理論;

    ·  針對它有不少利用二階信息加速收斂的技術,例如             conjugate gradient;

    ·  對樣本噪聲點相對不敏感。

    它的缺點如下:

    ·  收斂速度慢;

    ·  對初始點敏感;

    ·  數據集的變化無法被學習到;captured.

    ·  不太適用于大規模數據。

    隨機梯度下降?

    完全隨機梯度下降(Stochastic Gradient Descent,可以想想這里為什么用Stochastic而不用Random?)每次選擇一個樣本更新權重,這樣會帶來一些噪聲,但可能得到更好的解,試想很多問題都有大量局部最優解,傳統批量梯度下降由于每次收集所有樣后更新梯度值,當初始點確定后基本會落入到離它最近的洼地,而隨機梯度下降由于噪聲的引入會使它有高概率跳出當前洼地,選擇變多從而可能找到更好的洼地。收斂曲線類似下圖:

    From michaeljancsy

    完全隨機梯度下降和批量梯度下降的優缺點幾乎可以互換:

    ·  SGD的收斂速度更快;

    ·  SGD相對來說對初始點不敏感,容易找到更優方案;

    ·  SGD相對適合于大規模訓練數據;

    ·  SGD能夠捕捉到樣本數據的變化;

    ·  噪聲樣本可能導致權重波動從而造成無法收斂到局部最優     解,步長的設計對其非常重要。

    實踐當中,很多樣本都有類似的模式,所以SGD可以使用較少的抽樣樣本學習得到局部最優解,當然完全的批量學習和完全的隨機學習都太極端,所以往往采用對兩者的折中。

    小批量梯度下降?

    小批量梯度下降(Mini-batch Gradient Descent)是對SGD和BGD的折中,采用相對小的樣本集學習,樣本集大小隨著學習過程保持或逐步加大,這樣既能有隨機帶來的好處,又能使用二階優化信息加速收斂,目前主流機器學習工具幾乎都支持小批量學習。小批量學習收斂過程如下:

    From michaeljancsy

    牛頓法

    從泰勒展開式可以得到帶最優步長的迭代式:

    Momentum

    SGD的一大缺點是函數只和當前樣本有關系,如果樣本存在噪聲則會導致權重波動,一種自然的想法就是即考慮歷史梯度又考慮新樣本的梯度:

    對動量的運行過程說明如下:

    ·  在初始階段,歷史梯度信息會極大加速學習過程(比如       n=2時);

    ·  當準備穿越函數波谷時,差的學習率會導致權重向相反方     向更新,于是學習過程會發生回退,這時有動量項的幫助     則有可能越過這個波谷;

    ·  最后在梯度幾乎為0的時候,動量項的存在又可能會使它     跳出當前局部最小值,于是可能找到更好的最優值點。

    Nesterov accelerated gradient 是對動量法的一種改進,具體做法是:首先在之前的方向上邁一大步(棕色向量),之后計算在該點的梯度(紅色向量),然后計算兩個向量的和,得到的向量(綠色向量)作為最終優化方向。

    From G. Hinton's lecture 6c

    AdaGrad?

    Adagrad同樣是基于梯度的方法,對每個參數給一個學習率,因此對于常出現的權重可以給個小的更新,而不常出現的則給予大的更新,于是對于稀疏數據集就很有效,這個方法常用于大規模神經網絡,Google的FTRL-Proximal也使用了類似方法,可參見:Google Ad Click Prediction a View from the Trenches和Follow-the-Regularized-Leader and Mirror Descent:

    Equivalence Theorems and L1 Regularization。

    這個方法有點像L2正則,其運作原理如下:

    ·  在學習前期,梯度比較小regularizer比較大,所以梯度會被放大;

    ·  在學習后期,梯度比較大regularizer比較小,所以梯度會被縮小。

    但它的缺點是,當初始權重過大或經過幾輪訓練后會導致正則化太小,所以訓練將被提前終止。

    AdaDelta?

    Adadelta是對Adagrad的改進,解決了以下短板:

    ·  經過幾輪的訓練會導致正則化太小;

    ·  需要設置一個全局學習率;

    ·  當我們更新,等式左邊和右邊的單位不一致。

    對于第一個短板,設置一個窗口,僅使用最近幾輪的梯度值去更新正則項但計算 太復雜,所以使用類似動量法的策略:

    對其他短板,AdaDelta通過以下方法解決。

    來源于Becker 和 LeCuns' 的hessian估計法:

    完整的算法描述如下:


    From Zeiler

    對以上算法的比較如下:

    From Karpathy

    From SGD optimizationon loss surface contours

    Adam

    Adam是對Adadelta的改進,原理如下:

    算法偽代碼如下:
















    1.機器學習原來這么有趣!【第一章】

    2.機器學習原來這么有趣!【第二章】:用機器學習制作超級馬里奧的關卡

    3.機器學習從零開始系列連載(1)——基本概念

    4.機器學習從零開始系列連載(2)——線性回歸

    5.機器學習從零開始系列連載(3)——支持向量機

    6.機器學習從零開始系列連載(4)——邏輯回歸

    7.機器學習從零開始系列連載(5)——Bagging and Boosting框架

    掃描個人微信號,

    拉你進機器學習大牛群。

    福利滿滿,名額已不多…

      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 伊人无码一区二区三区| 特级毛片A级毛片免费播放| 97无码免费人妻超级碰碰夜夜| 国偷自产AV一区二区三区| 最近中文字幕国产精选| 蜜桃视频一区二区在线观看| 欧美人和黑人牲交网站上线| 草裙社区精品视频播放| 成在线人视频免费视频| 久久精品不卡一区二区| 欧美孕妇变态孕交粗暴| 无码精品人妻一区二区三区中| 天天影视网色香欲综合网| 精品久久久久中文字幕日本| 国产精品 欧美 亚洲 制服| 亚洲AV无码一区东京热久久| 国产精品美女久久久久久麻豆| 无码精品一区二区三区在线| 亚洲欧洲精品日韩av| 把女人弄爽大黄A大片片| 午夜成人无码免费看网站| 亚洲精品乱码久久久久久不卡| 国产成人一区二区三区免费| 国产高清不卡一区二区| 一二三四免费中文字幕| 日韩精品国产二区三区| 日韩精品久久久肉伦网站| 久久天天躁狠狠躁夜夜躁2020| 国产av无码专区亚洲av软件| AV免费播放一区二区三区| 国产稚嫩高中生呻吟激情在线视频| 果冻传媒亚洲区二期| 国产97视频人人做人人爱| 性奴sm虐辱暴力视频网站| 亚洲中文字幕无码专区| 欧美巨大极度另类| 亚洲国产午夜精品理论片妓女| 欧美国产综合欧美视频| 欧美高清狂热视频60一70| 久久综合亚洲色一区二区三区| 色综合久久久久综合99|