機(jī)器學(xué)習(xí)基礎(chǔ)-梯度下降方法與牛頓法

相關(guān)概念:

步長(zhǎng)(learning rate):步長(zhǎng)決定了梯度下降過程中蚯涮,每一步沿梯度負(fù)方向前進(jìn)的長(zhǎng)度

特征(feature):樣本輸入

矩陣求導(dǎo)的鏈?zhǔn)椒▌t:

公式一:\frac{\partial(XX^T)}{\partial X} =2X

公式二:\frac{\partial X}{\partial x} = X^T

假設(shè)函數(shù)(hypothesis function):監(jiān)督學(xué)習(xí)中脚囊,為擬合輸入樣本,使用的假設(shè)函數(shù)奕筐,記為h_\theta(x)

損失函數(shù)(loss function):為評(píng)估模型擬合好壞,用損失函數(shù)度量擬合程度通孽。損失函數(shù)極小化意味著擬合程度最好妇智,對(duì)應(yīng)的模型參數(shù)即為最優(yōu)讨惩。線性回歸中辟癌,損失函數(shù)通常為樣本輸出和假設(shè)函數(shù)的歐式距離(L2距離),即J(\theta) = \sum_{i=0}^m(h_\theta(x_i)-y_i)^2

梯度下降法(gradient descent)是求解無約束最優(yōu)化問題的一種最常用方法荐捻,實(shí)現(xiàn)簡(jiǎn)單黍少,梯度下降法是迭代算法寡夹,每一步需要求解目標(biāo)函數(shù)的梯度。

1.確定優(yōu)化模型的假設(shè)函數(shù)和損失函數(shù)

2.算法相關(guān)參數(shù)初始化:主要對(duì)象\theta_i(i=1,2,...,N),算法終止距離\varepsilon 和步長(zhǎng)\eta 厂置。

3.算法過程

1)確定當(dāng)前位置的損失函數(shù)梯度菩掏,對(duì)于\theta_i其梯度表達(dá)式如下:

\frac{\partial}{\partial{\theta_i}} J(\theta_0,\theta_1,...,\theta_n),也可直接對(duì)損失函數(shù)在\theta_i處進(jìn)行一階泰勒展開昵济。

2)步長(zhǎng)乘損失函數(shù)梯度智绸,得到當(dāng)前位置下降的距離,即\theta_i=\theta_i-\eta \frac{\partial}{\partial{\theta_i}} J(\theta_0,\theta_1,...,\theta_n)

3)確定是否所有\theta 梯度下降距離都小于\varepsilon 访忿,如果小于則算法終止瞧栗,當(dāng)前所有\theta 即為最終結(jié)果,否則進(jìn)入步驟4

4)更新所有\theta 海铆,對(duì)\theta_i其更新表達(dá)式如下迹恐,更新完畢繼續(xù)轉(zhuǎn)入步驟1

\theta_i^{k+1}\leftarrow \theta_i^k-\eta \frac{\partial}{\partial{\theta_i^k}} J(\theta_0^k,\theta_1^k,...,\theta_n^k)

向量表示為

\theta_i^{k+1}\leftarrow \theta_i^k-\eta G_k

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

現(xiàn)在隨機(jī)梯度下降算法一般指小批量梯度下降法(mini-batch gradient descent)

采用小批量樣本更新\theta ,選擇n個(gè)訓(xùn)練樣本(n<m卧斟,m為總訓(xùn)練集樣本數(shù))殴边,在這n個(gè)樣本中進(jìn)行n次迭代,每次使用1個(gè)樣本唆涝,對(duì)n次迭代得出的n個(gè)gradient進(jìn)行加權(quán)平均再并求和找都,作為這一次mini-batch下降梯度唇辨。

梯度下降算法與其他無約束優(yōu)化算法比較

與最小二乘相比廊酣,梯度下降法迭代求解,最小二乘法計(jì)算解析解赏枚,樣本小且存在解析解則最小二乘法比梯度下降更有優(yōu)勢(shì)亡驰,計(jì)算速度快,樣本大則需要解一個(gè)超大的逆矩陣饿幅,難解且耗時(shí)凡辱。

與牛頓法相比,兩者均為迭代求解栗恩,梯度下降法是梯度求解透乾,牛頓法用二階梯度或海森矩陣的逆矩陣或偽逆矩陣求解。牛頓法收斂更快但每次迭代時(shí)間比梯度下降法長(zhǎng)磕秤。

牛頓法

牛頓法和梯度下降法示意圖如下:


左圖為梯度下降法乳乌,右圖為牛頓法


由上圖可知牛頓法每次迭代希望找到\theta_i處切線與橫軸的交點(diǎn),即為所求的更新值

\theta_i^k處對(duì)損失函數(shù)進(jìn)行二階泰勒展開

J(\theta) = J(\theta^k)+G_k^T(\theta-\theta^k)+\frac{1}{2} (\theta-\theta^k)^T(\theta-\theta^k)H(\theta^k)

其中一階導(dǎo)G_k^T對(duì)應(yīng)雅可比矩陣市咆,二階導(dǎo)H(\theta^k)對(duì)應(yīng)海森矩陣

G_0^T = \begin{bmatrix} \frac{\partial f_1}{\partial x_1} & ... &\frac{\partial f_1}{\partial x_n} \\ ... & ...& ....\\ \frac{\partial f_m}{\partial x_1} & ... &\frac{\partial f_m}{\partial x_n}\end{bmatrix}\quadH = \begin{bmatrix} \frac{\partial^2 f}{\partial x_1^2}  & \frac{\partial^2 f}{\partial x_1\partial x_2}&... &\frac{\partial^2 f}{\partial x_1\partial x_n} \\ \frac{\partial^2 f}{\partial x_2\partial x_1}& ...& ....&...\\ ...&...&...&...\\\frac{\partial^2 f}{\partial x_n\partial x_1} & ... &...& \frac{\partial^2 f}{\partial x_n^2}\end{bmatrix}\quad


函數(shù)J(\theta) 有極值的必要條件是在極值點(diǎn)處一階導(dǎo)數(shù)為0汉操,即梯度向量為0

將其一階導(dǎo)在\theta_i^k處進(jìn)行泰勒展開

\nabla J(\theta) = G_k+H(\theta_i^k)(\theta_i^{(k+1)}-\theta_i^k)=0

則可得

\theta_i^{k+1} \leftarrow \theta_i^k-H^{-1}(\theta_i^k)G_k

代數(shù)表示為

\theta_i^{k+1}\leftarrow \theta_i^k-\frac{J`(\theta_i)}{J``(\theta_i)}

比較兩者差別,牛頓法迭代次數(shù)較少但求二階海森矩陣及其逆非常復(fù)雜蒙兰。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末磷瘤,一起剝皮案震驚了整個(gè)濱河市芒篷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌采缚,老刑警劉巖针炉,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異扳抽,居然都是意外死亡糊识,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門摔蓝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赂苗,“玉大人,你說我怎么就攤上這事贮尉“枳蹋” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵猜谚,是天一觀的道長(zhǎng)败砂。 經(jīng)常有香客問我,道長(zhǎng)魏铅,這世上最難降的妖魔是什么昌犹? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮览芳,結(jié)果婚禮上斜姥,老公的妹妹穿的比我還像新娘。我一直安慰自己沧竟,他們只是感情好铸敏,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著悟泵,像睡著了一般杈笔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上糕非,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天蒙具,我揣著相機(jī)與錄音,去河邊找鬼朽肥。 笑死禁筏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鞠呈。 我是一名探鬼主播融师,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蚁吝!你這毒婦竟也來了旱爆?” 一聲冷哼從身側(cè)響起舀射,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎怀伦,沒想到半個(gè)月后脆烟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡房待,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年邢羔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片桑孩。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拜鹤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出流椒,到底是詐尸還是另有隱情敏簿,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布宣虾,位于F島的核電站惯裕,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏绣硝。R本人自食惡果不足惜蜻势,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鹉胖。 院中可真熱鬧握玛,春花似錦、人聲如沸次员。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽淑蔚。三九已至,卻和暖如春愕撰,著一層夾襖步出監(jiān)牢的瞬間刹衫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國打工搞挣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留带迟,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓囱桨,卻偏偏與公主長(zhǎng)得像仓犬,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子舍肠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

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

  • 轉(zhuǎn)載-劉建平Pinard-www.cnblogs.com/pinard/p/5970503.html 在求解機(jī)器學(xué)...
    商三郎閱讀 3,495評(píng)論 0 2
  • http://www.cnblogs.com/pinard/p/5970503.html 在求解機(jī)器學(xué)習(xí)算法的模型...
    吃番茄的土撥鼠閱讀 1,639評(píng)論 0 5
  • 背景 學(xué)習(xí)深度學(xué)習(xí)已經(jīng)一段時(shí)間了搀继,但是學(xué)習(xí)過程中總覺得缺了點(diǎn)什么窘面,無從動(dòng)手編程。因此叽躯,我還是希望使用寫文章的方式來...
    yjy239閱讀 2,211評(píng)論 0 7
  • 什么是梯度下降财边?在求解機(jī)器學(xué)習(xí)算法的模型參數(shù),即無約束優(yōu)化問題時(shí)点骑,梯度下降(Gradient Descent)是最...
    燁楓_邱閱讀 2,095評(píng)論 0 7
  • 人了解世界可能也不是線形的酣难,就像我以前一直認(rèn)為人類的發(fā)展是線形的!元謀人就是元謀人黑滴,山頂洞人就是山頂洞人憨募!兒時(shí)看到...
    LZCBRON閱讀 183評(píng)論 0 0