之前提到用最小二乘法計算經(jīng)驗風(fēng)險的最小值,實(shí)際上骡和,當(dāng)樣本量特別多的時候相赁,使用最小二乘法的效率并不高,大家轉(zhuǎn)而使用梯度下降算法慰于。
1. 梯度
在微積分里面钮科,對多元函數(shù)的參數(shù)求?偏導(dǎo)數(shù),把求得的各個參數(shù)的偏導(dǎo)數(shù)以向量的形式寫出來婆赠,就是梯度绵脯。比如函數(shù)f(x,y), 分別對x,y求偏導(dǎo)數(shù),求得的梯度向量就是(?f/?x, ?f/?y)T,簡稱grad f(x,y)或者▽f(x,y)休里。對于在點(diǎn)(x0,y0)的具體梯度向量就是(?f/?x0, ?f/?y0)T.或者▽f(x0,y0)蛆挫,如果是3個參數(shù)的向量梯度,就是(?f/?x, ?f/?y妙黍,?f/?z)T,以此類推悴侵。
那么這個梯度向量求出來有什么意義呢?他的意義從幾何意義上講拭嫁,就是函數(shù)變化增加最快的地方可免。具體來說,對于函數(shù)f(x,y),在點(diǎn)(x0,y0)噩凹,沿著梯度向量的方向就是(?f/?x0, ?f/?y0)T的方向是f(x,y)增加最快的地方巴元≌庇剑或者說驮宴,沿著梯度向量的方向,更加容易找到函數(shù)的最大值呕缭。反過來說堵泽,沿著梯度向量相反的方向,也就是 -(?f/?x0, ?f/?y0)T的方向恢总,梯度減少最快迎罗,也就是更加容易找到函數(shù)的最小值。
2. 梯度下降與梯度上升
在機(jī)器學(xué)習(xí)算法中片仿,在最小化損失函數(shù)時纹安,可以通過梯度下降法來一步步的迭代求解,得到最小化的損失函數(shù)和模型參數(shù)值砂豌。反過來厢岂,如果我們需要求解損失函數(shù)的最大值,這時就需要用梯度上升法來迭代了阳距。
梯度下降法和梯度上升法是可以互相轉(zhuǎn)化的塔粒。比如我們需要求解損失函數(shù)f(θ)的最小值,這時我們需要用梯度下降法來迭代求解筐摘。但是實(shí)際上卒茬,我們可以反過來求解損失函數(shù) -f(θ)的最大值船老,這時梯度上升法就派上用場了。
3梯度下降的直觀解釋
假如我們在一座大山上的某處位置圃酵,由于我們不知道怎么下山柳畔,于是決定走一步算一步,也就是在每走到一個位置的時候郭赐,求解當(dāng)前位置的梯度荸镊,沿著梯度的負(fù)方向,也就是當(dāng)前最陡峭的位置向下走一步堪置,然后繼續(xù)求解當(dāng)前位置梯度躬存,向這一步所在位置沿著最陡峭最易下山的位置走一步。這樣一步步的走下去舀锨,一直走到覺得我們已經(jīng)到了山腳岭洲。當(dāng)然這樣走下去,有可能我們不能走到山腳坎匿,而是到了某一個局部的山峰低處盾剩。
從上面的解釋可以看出,梯度下降不一定能夠找到全局的最優(yōu)解替蔬,有可能是一個局部最優(yōu)解告私。當(dāng)然,如果損失函數(shù)是凸函數(shù)承桥,梯度下降法得到的解就一定是全局最優(yōu)解驻粟。
參考:
https://www.cnblogs.com/pinard/p/5970503.html