從零開始機(jī)器學(xué)習(xí)-6 如何降低損失

本文由 沈慶陽 所有,轉(zhuǎn)載請與作者取得聯(lián)系!

前言

在上一節(jié)中俊柔,我們介紹了和機(jī)器學(xué)習(xí)有關(guān)的一些概念。其中昭殉,通過損失來評價模型預(yù)測的準(zhǔn)確程度棵癣。那么對于訓(xùn)練過程中辕翰,我們應(yīng)該采取什么樣的方法來減少損失呢?
我們都玩過猜價格的游戲:給定一個商品的價格狈谊,出題人明確商品的價格是多少喜命,開始你也許會胡亂猜一個數(shù)字,出題人會告訴你相差多少(高很多河劝,高一點壁榕,低一點...),那么你會根據(jù)出題人的反饋再次猜一個數(shù)字赎瞎。上述的價格牌里,可以是機(jī)器學(xué)習(xí)中的w1,當(dāng)猜w1為0時务甥,給出損失loss牡辽,根據(jù)損失再次猜w1的另一個值,比如0.2缓呛。如果一直這樣猜下去的話催享,總有猜中的時候。但是哟绊,如何以最快的方法確定w1的值是值得商榷的因妙。

降低損失的方法

迭代的方法

訓(xùn)練模型的迭代過程

上圖展示了訓(xùn)練模型的迭代過程,首先迭代將模型的單個或多個特征來作為輸入票髓,然后通過模型來輸出一個預(yù)測值y'作為輸出攀涵,再通過輸入標(biāo)簽與預(yù)測的值得出損失,再根據(jù)損失來更新模型中的參數(shù)洽沟。
假設(shè)以故,只有一個特征作為輸入,則上述模型以機(jī)器學(xué)習(xí)形式表示如下:
y' = b + w1x1
通常裆操,b和w1的初始值的取值是無所謂的怒详,所以假設(shè)b和w1為0,若輸入值(特征)為1的話踪区,則y'=0昆烁。此時,我們需要通過y(特征x對應(yīng)的正確的標(biāo)簽)和y'(預(yù)測值)進(jìn)行對比缎岗,得出損失静尼。我們的機(jī)器學(xué)習(xí)程序,通過得到的損失相應(yīng)的更新參數(shù),產(chǎn)生新的b和w1的值鼠渺,從而通過模型得到新的預(yù)測y'鸭巴,并為損失函數(shù)提供新的輸入。如此往復(fù)拦盹,直到整體損失不再改變鹃祖,或是改變地很慢的時候,此時該模型已收斂掌敬。

梯度下降法

在高等數(shù)學(xué)中惯豆,我們學(xué)習(xí)過梯度池磁。
梯度:本意是一個向量(矢量)奔害,表示某一函數(shù)在該點處的方向?qū)?shù)沿著該方向取得最大值,即函數(shù)在該點處沿著該方向(此梯度的方向)變化最快地熄,變化率最大(為該梯度的模)华临。
在一元函數(shù)中,梯度即導(dǎo)數(shù)端考,而在二元以上函數(shù)中雅潭,梯度即偏導(dǎo)數(shù)。此處不深究計算方法却特。
在上一小節(jié)中講到的迭代的方法并沒有詳細(xì)說明計算參數(shù)是如何更新的扶供。那么該小節(jié)講到的梯度下降法則是更為具體的方法。


損失曲線圖

假設(shè)裂明,實際損失與權(quán)重的圖如上圖所示(實際上我們是不知道該圖是什么樣子的)椿浓。對于損失與權(quán)重的圖,其始終是凹的闽晦,即存在最低點使損失最邪獍(也就是該點的斜率為0)。
暴力一點的方法仙蛉,就是計算整個數(shù)據(jù)集中的w1的每個可能的值來得到最低的損失笋敞。對于回歸問題來說,這種方法往往太過暴力而導(dǎo)致效率低下荠瘪。在機(jī)器學(xué)習(xí)領(lǐng)域中有著一種更為聰明的方法——梯度下降法夯巷。
在梯度下降法中,首先需要找到一個起點w1的值哀墓。對于起點值得選取并不重要趁餐,在一些機(jī)器學(xué)習(xí)的訓(xùn)練程序中,起點值通常選擇為0麸祷,或是任意一個值澎怒。這個起點值就是梯度下降法的起點。
梯度是偏導(dǎo)數(shù)相對于所有自變量的矢量,梯度下降法在起點選擇好之后喷面,會計算損失曲線在起點處的梯度星瘾。由于梯度的定義為:某一函數(shù)在該點處的方向?qū)?shù)沿著該方向取得最大值。即沿著梯度的方向惧辈,損失是增長的琳状。因此我們需要取負(fù)梯度的方向。所以我們的下一步會沿著負(fù)梯度的方向盒齿,將梯度大小的一部分與起點相加取得下一個點念逞。并重復(fù)該過程,直到取得最低點或模型趨于收斂边翁。


通過負(fù)梯度確定下一步的方向
學(xué)習(xí)速率

學(xué)習(xí)速率又稱Learn Rate翎承,在有些機(jī)器學(xué)習(xí)程序中也稱為Step Size即步長。
在梯度下降法中符匾,我們確定下一步的位置首先依賴于負(fù)梯度的方向(確定方向)叨咖,其次則是依賴步長來確定大小。
假設(shè)在梯度下降法中啊胶,起點的w1取0.5甸各,起點的梯度大小通過計算為1,若學(xué)習(xí)速率為0.1焰坪,則梯度下降算法會取距離起點沿著負(fù)梯度方向相距1*0.1大小的點趣倾,即下一步的w1取0.6。
學(xué)習(xí)速率作為一個超參數(shù)某饰,影響著訓(xùn)練的速度儒恋。如果學(xué)習(xí)速率過大,則會造成模型永遠(yuǎn)不會收斂露乏;若學(xué)習(xí)速率過小碧浊,則會造成模型訓(xùn)練花費大量的時間。因此瘟仿,在機(jī)器學(xué)習(xí)的過程中箱锐,工程師往往會花費大量的時間來選擇合適的學(xué)習(xí)速率。


過大的學(xué)習(xí)速率造成來回震蕩

通常在確定學(xué)習(xí)速率的時候劳较,如果一個損失曲線的梯度一直都比較小驹止,那么則可以相應(yīng)加大學(xué)習(xí)速率;反之观蜗,減少學(xué)習(xí)速率臊恋。

隨機(jī)梯度下降法(SGD)

在介紹隨機(jī)梯度下降法之前,我們先說一下什么是批量(Batch)墓捻。
在機(jī)器學(xué)習(xí)領(lǐng)域中抖仅,批量(Batch)指的是在單次的迭代中用于計算梯度的樣本的總數(shù),批量可大可小。在前幾個小節(jié)中撤卢,我們默認(rèn)地認(rèn)為批量是整個數(shù)據(jù)集环凿。對于小規(guī)模的樣本來說,這樣做沒什么不妥放吩。但是當(dāng)數(shù)據(jù)集規(guī)模十分巨大的時候智听,如上億個樣本(比如垃圾郵件的樣本),面對如此超大批量的樣本渡紫,進(jìn)行一次迭代將會消耗大量的時間到推。
此外,對于大批量的樣本惕澎,存在冗余樣本的可能性越高莉测。這些冗余樣本是重復(fù)的樣本。相比較集灌,超大規(guī)模的批量比大規(guī)模批量出現(xiàn)冗余的可能性要高悔雹。
隨機(jī)梯度下降法通過更少地計算來得到平均梯度。在隨機(jī)梯度下降法中欣喧,批量的大小為1,即每次取1個樣本來計算平均梯度梯找,這個樣本的選取是隨機(jī)的唆阿。也就是隨機(jī)梯度下降法中的隨機(jī)指的是樣本的選取。在這種方法下锈锤,當(dāng)?shù)拇螖?shù)足夠多的時候驯鳖,平均梯度的值也就越準(zhǔn)確。但是這樣來計算平均梯度卻顯得極為雜亂久免。
通常浅辙,我們使用的是小批量隨機(jī)梯度下降法。小批量隨機(jī)梯度下降法是全批量和SGD的中間方案阎姥。小批量通常是10到100個隨機(jī)選擇的樣本记舆。相比隨機(jī)梯度下降法,小批量隨機(jī)梯度下降法可以減少雜亂樣本的數(shù)量呼巴,同時也比全批量更為高效泽腮。

練習(xí)

1、在一個平均梯度較小的損失曲線情況下衣赶,學(xué)習(xí)速率應(yīng)該怎樣選日锷蕖?
A.學(xué)習(xí)速率應(yīng)越低越好
B.學(xué)習(xí)速率應(yīng)相應(yīng)變大
2府瞄、在進(jìn)行超大型數(shù)據(jù)集的訓(xùn)練過程中碧磅,使用哪種方法效率更高?
A.小批量SGD或SGD
B.全批量SGD

覺得寫的不錯的朋友可以點一個 喜歡? ~
謝謝你的支持!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鲸郊,一起剝皮案震驚了整個濱河市敲街,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌严望,老刑警劉巖多艇,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異像吻,居然都是意外死亡峻黍,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進(jìn)店門拨匆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來姆涩,“玉大人,你說我怎么就攤上這事惭每」嵌觯” “怎么了?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵台腥,是天一觀的道長宏赘。 經(jīng)常有香客問我,道長黎侈,這世上最難降的妖魔是什么察署? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮峻汉,結(jié)果婚禮上贴汪,老公的妹妹穿的比我還像新娘。我一直安慰自己休吠,他們只是感情好扳埂,可當(dāng)我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瘤礁,像睡著了一般阳懂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蔚携,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天希太,我揣著相機(jī)與錄音,去河邊找鬼酝蜒。 笑死誊辉,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的亡脑。 我是一名探鬼主播堕澄,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼邀跃,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蛙紫?” 一聲冷哼從身側(cè)響起拍屑,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎坑傅,沒想到半個月后僵驰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡唁毒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年蒜茴,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浆西。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡粉私,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出近零,到底是詐尸還是另有隱情诺核,我是刑警寧澤,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布久信,位于F島的核電站窖杀,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏入篮。R本人自食惡果不足惜陈瘦,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望潮售。 院中可真熱鬧,春花似錦锅风、人聲如沸酥诽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肮帐。三九已至,卻和暖如春边器,著一層夾襖步出監(jiān)牢的瞬間训枢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工忘巧, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留恒界,地道東北人。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓砚嘴,卻偏偏與公主長得像十酣,于是被迫代替她去往敵國和親涩拙。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容