機器學(xué)習(xí)常見的優(yōu)化算法

1 梯度下降法

梯度:如果函數(shù)是一維的變量睦柴,則梯度就是導(dǎo)數(shù)的方向;
如果是大于一維的毡熏,梯度就是在這個點的法向量坦敌,并指向數(shù)值更高的等值線,這就是為什么求最小值的時候要用負(fù)梯度招刹。


梯度下降法(Gradient Descent) 梯度下降法是最早最簡單,也是最為常用的最優(yōu)化方法窝趣。梯度下降法實現(xiàn)簡單疯暑,當(dāng)目標(biāo)函數(shù)是凸函數(shù)時,梯度下降法的解是全局解哑舒。一般情況下妇拯,其解不保證是全局最優(yōu)解,梯度下降法的速度也未必是最快的洗鸵。梯度下降法的優(yōu)化思想是用當(dāng)前位置負(fù)梯度方向作為搜索方向越锈,因為該方向為當(dāng)前位置的最快下降方向,所以也被稱為是”最速下降法“膘滨。最速下降法越接近目標(biāo)值甘凭,步長越小,前進(jìn)越慢火邓。

梯度下降法的缺點

  • (1)靠近極小值時收斂速度減慢丹弱,如下圖所示;
  • (2)直線搜索時可能會產(chǎn)生一些問題铲咨;
  • (3)可能會“之字形”地下降躲胳。


從上圖可以看出,梯度下降法在接近最優(yōu)解的區(qū)域收斂速度明顯變慢纤勒,利用梯度下降法求解需要很多次的迭代坯苹。在機器學(xué)習(xí)中,基于基本的梯度下降法發(fā)展了以下3種梯度下降方法.

1.1 批量梯度下降法(BGD)


  從上面的公式可以看出摇天,批量梯度下降法可以得到一個全局最優(yōu)解粹湃,但是每迭代一步恐仑,計算量是mn^2,m—樣本個數(shù)再芋,n—特征維數(shù)菊霜,都要用到訓(xùn)練集的所有數(shù)據(jù),如果m很大济赎,那么迭代速度會很慢鉴逞,所以可以采用隨機梯度下降法*。

1.2 隨機梯度下降(SGD)

隨機梯度下降是通過每個樣本來迭代更新一次司训,如果樣本量很大的情況(例如幾十萬)构捡,那么可能只用其中幾萬條或者幾千條的樣本,就已經(jīng)將theta迭代到最優(yōu)解了壳猜,對比上面的批量梯度下降勾徽,迭代一次需要用到十幾萬訓(xùn)練樣本,一次迭代不可能最優(yōu)统扳,如果迭代10次的話就需要遍歷訓(xùn)練樣本10次喘帚。但是,SGD伴隨的一個問題是噪音較BGD要多咒钟,使得SGD并不是每次迭代都向著整體最優(yōu)化方向吹由。

SGD的問題是噪音比BGD要多,使得SGD不是每次迭代都向著整體最優(yōu)的方向朱嘴,SGD以損失一部分精確度和增加一定的迭代次數(shù)為代價倾鲫,換取了總體的優(yōu)化效率的提升,增加的迭代次數(shù)遠(yuǎn)小于樣本的數(shù)量萍嬉。

#1.3 SGD和BGD的比較

可以看到BGD和SGD是兩個極端乌昔,SGD由于每次參數(shù)更新僅僅需要計算一個樣本的梯度,訓(xùn)練速度很快壤追,即使在樣本量很大的情況下磕道,可能只需要其中一部分樣本就能迭代到最優(yōu)解,由于每次迭代并不是都向著整體最優(yōu)化方向行冰,導(dǎo)致梯度下降的波動非常大捅厂,更容易從一個局部最優(yōu)跳到另一個局部最優(yōu),準(zhǔn)確度下降资柔。

  • BGD:最小化所有訓(xùn)練樣本的損失函數(shù)焙贷,使得最終求解的是全局最優(yōu)解,即使得求解的風(fēng)險函數(shù)最小贿堰,但是對于大規(guī)模樣本效率較低辙芍。
  • SGD:最小化每條樣本的損失函數(shù),雖然不是每次迭代得到的損失函數(shù)都向著全局最優(yōu)的方向,但是大方向是全局最優(yōu)解故硅,最終的結(jié)果往往是在全局最優(yōu)解的附近庶灿,適用于大規(guī)模的訓(xùn)練樣本情況。

2 牛頓法

2.1 牛頓法

牛頓法是一種在實數(shù)域和復(fù)數(shù)域上近似求解方程的方法吃衅。方法使用函數(shù)f (x)的泰勒級數(shù)的前面幾項來尋找方程f (x) = 0的根往踢。牛頓法最大的特點就在于它的收斂速度很快

2.2 牛頓法優(yōu)缺點

  • 優(yōu)點:二階收斂徘层,收斂速度快峻呕;
  • 缺點:牛頓法是一種迭代算法,每一步都需要求解目標(biāo)函數(shù)的Hessian矩陣的逆矩陣趣效,計算比較復(fù)雜瘦癌。

2.3 梯度下降法和牛頓法的比較

從本質(zhì)來說,梯度下降法是一階收斂跷敬,牛頓法是二階收斂讯私,所以牛頓法的收斂速度更快。梯度下降法每次考慮的是當(dāng)前位置的負(fù)梯度下降西傀,而牛頓法不但考慮當(dāng)前位置下降的是否夠快斤寇,還會考慮下一步下降的是否夠大,也就是說牛頓法目標(biāo)更長遠(yuǎn)一點拥褂。牛頓法是用一個二次曲面去擬合你當(dāng)前所處位置的局部曲面娘锁,而梯度下降法使用一個平面去擬合當(dāng)前的局部曲面,通常情況二次曲面擬合會比平面更好肿仑,所以牛頓法的下降路徑會更符合真實的最優(yōu)下降路徑致盟。

3 擬牛頓法(DFP碎税、BFGS)

擬牛頓法的本質(zhì)思想是改善牛頓法每次需要求解復(fù)雜的Hessian矩陣的逆矩陣的缺陷尤慰,它使用正定矩陣來近似Hessian矩陣的逆,從而簡化了運算的復(fù)雜度雷蹂。擬牛頓法和最速下降法一樣只要求每一步迭代時知道目標(biāo)函數(shù)的梯度伟端。通過測量梯度的變化,構(gòu)造一個目標(biāo)函數(shù)的模型使之足以產(chǎn)生超線性收斂性匪煌。這類方法大大優(yōu)于最速下降法责蝠,尤其對于困難的問題。另外萎庭,因為擬牛頓法不需要二階導(dǎo)數(shù)的信息霜医,所以有時比牛頓法更為有效。如今驳规,優(yōu)化軟件中包含了大量的擬牛頓算法用來解決無約束肴敛,約束,和大規(guī)模的優(yōu)化問題。

4 共軛梯度法(Conjugate Gradient)

共軛梯度法是介于最速下降法與牛頓法之間的一個方法医男,它僅需利用一階導(dǎo)數(shù)信息砸狞,但克服了最速下降法收斂慢的缺點,又避免了牛頓法需要存儲和計算Hesse矩陣并求逆的缺點镀梭,共軛梯度法不僅是解決大型線性方程組最有用的方法之一刀森,也是解大型非線性最優(yōu)化最有效的算法之一。在各種優(yōu)化算法中报账,共軛梯度法是非常重要的一種研底。其優(yōu)點是所需存儲量小,具有步收斂性笙什,穩(wěn)定性高飘哨,而且不需要任何外來參數(shù)。


5 啟發(fā)式優(yōu)化方法

啟發(fā)式方法是指人在解決優(yōu)化問題時所采取的一種根據(jù)經(jīng)驗規(guī)則進(jìn)行發(fā)現(xiàn)的方法琐凭。其特點是在解決問題時芽隆,利用過去的經(jīng)驗,選擇已經(jīng)行之有效的方法统屈,而不是系統(tǒng)地胚吁、以確定的步驟去尋求答案。啟發(fā)式優(yōu)化方法種類繁多愁憔,包括經(jīng)典的模擬退火方法腕扶,遺傳算法、蟻群算法以及粒子群算法等等吨掌。
還有一種特殊的優(yōu)化算法被稱之多目標(biāo)優(yōu)化算法半抱,它主要針對同時優(yōu)化多個目標(biāo)(兩個及兩個以上)的優(yōu)化問題,這方面比較經(jīng)典的算法有NSGAII算法膜宋、MOEA/D算法以及人工免疫算法等窿侈。

6 EM算法

EM算法是一類算法的總稱。EM算法分為E-step和M-step兩步秋茫。EM算法的應(yīng)用范圍很廣史简,基本機器學(xué)習(xí)需要迭代優(yōu)化參數(shù)的模型在優(yōu)化時都可以使用EM算法。
EM算法的思想和過程
E-step:E的全稱是Exception肛著,即期望的意思圆兵。E-step也是獲取期望的過程。根據(jù)現(xiàn)有的模型枢贿,計算各個觀測數(shù)據(jù)輸入到模型中的結(jié)果殉农。這個過程稱為期望值計算過程,即E過程局荚。
M-step:M的全稱是Maximization超凳,即最大化的意思。M-step也是期望最大化的過程。得到一輪期望值以后聪建,重新計算模型參數(shù)钙畔,以最大化期望值。這個過程為最大化過程金麸,即M過程擎析。
最大化的意思是我們在使用這個模型時希望我們定義的函數(shù)能使得到的結(jié)果最大化,而結(jié)果越大越接近我們希望得到的結(jié)果挥下。我們優(yōu)化的目標(biāo)也就是這些能得到最大值的函數(shù)揍魂。
常見的EM算法有:隱含馬爾科夫模型的訓(xùn)練方法Baum-Welch算法;最大熵模型的訓(xùn)練方法GIS算法等棚瘟。

EM算法結(jié)果
EM算法不一定能保證獲得全局最優(yōu)解现斋,但如果我們優(yōu)化的目標(biāo)函數(shù)是一個凸函數(shù),那么一定能保證得到全局最優(yōu)解偎蘸。否則可能獲得局部最優(yōu)解庄蹋。因為如果優(yōu)化的目標(biāo)函數(shù)有多個峰值點,則如果優(yōu)化到某個不是最高的峰值點處迷雪,則會無法再繼續(xù)下去限书,這樣獲得的是局部最優(yōu)解。

EM算法總結(jié)
EM算法只需要輸入一些訓(xùn)練數(shù)據(jù)章咧,同時定義一個最大化函數(shù)倦西,接下來經(jīng)過若干次迭代,就可以蓄念出我們需要的模型了赁严。

7 小結(jié)

在機器學(xué)習(xí)中的無約束優(yōu)化算法扰柠,除了梯度下降以外,還有前面提到的最小二乘法疼约,此外還有牛頓法和擬牛頓法卤档。
  梯度下降法和最小二乘法相比,梯度下降法需要選擇步長忆谓,而最小二乘法不需要裆装。梯度下降法是迭代求解踱承,最小二乘法是計算解析解倡缠。如果樣本量不算很大,且存在解析解茎活,最小二乘法比起梯度下降法要有優(yōu)勢昙沦,計算速度很快。但是如果樣本量很大载荔,用最小二乘法由于需要求一個超級大的逆矩陣盾饮,這時就很難或者很慢才能求解解析解了,使用迭代的梯度下降法比較有優(yōu)勢。
  梯度下降法和牛頓法/擬牛頓法相比丘损,兩者都是迭代求解普办,不過梯度下降法是梯度求解,而牛頓法/擬牛頓法是用二階的海森矩陣的逆矩陣或偽逆矩陣求解徘钥。相對而言衔蹲,使用牛頓法/擬牛頓法收斂更快。但是每次迭代的時間比梯度下降法長呈础。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末舆驶,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子而钞,更是在濱河造成了極大的恐慌沙廉,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件臼节,死亡現(xiàn)場離奇詭異撬陵,居然都是意外死亡,警方通過查閱死者的電腦和手機网缝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門袱结,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人途凫,你說我怎么就攤上這事垢夹。” “怎么了维费?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵果元,是天一觀的道長。 經(jīng)常有香客問我犀盟,道長而晒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任阅畴,我火速辦了婚禮倡怎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贱枣。我一直安慰自己监署,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布纽哥。 她就那樣靜靜地躺著钠乏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪春塌。 梳的紋絲不亂的頭發(fā)上晓避,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天簇捍,我揣著相機與錄音,去河邊找鬼俏拱。 笑死暑塑,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的锅必。 我是一名探鬼主播梯投,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼况毅!你這毒婦竟也來了分蓖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤尔许,失蹤者是張志新(化名)和其女友劉穎么鹤,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體味廊,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡蒸甜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了余佛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柠新。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖辉巡,靈堂內(nèi)的尸體忽然破棺而出恨憎,到底是詐尸還是另有隱情,我是刑警寧澤郊楣,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布憔恳,位于F島的核電站,受9級特大地震影響净蚤,放射性物質(zhì)發(fā)生泄漏钥组。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一今瀑、第九天 我趴在偏房一處隱蔽的房頂上張望程梦。 院中可真熱鬧,春花似錦橘荠、人聲如沸屿附。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拿撩。三九已至衣厘,卻和暖如春如蚜,著一層夾襖步出監(jiān)牢的瞬間压恒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工错邦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留探赫,地道東北人。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓撬呢,卻偏偏與公主長得像伦吠,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子魂拦,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355