《機(jī)器學(xué)習(xí)》第一周/第二周

cost function:假設(shè)我們的訓(xùn)練集中有n條數(shù)據(jù),每個(gè)數(shù)據(jù)有m個(gè)feature,cost function就是hypothesis減去真實(shí)值再平方再除以2m。


Gradient descent 就是將cost function對(duì) parameter (我們用希臘符號(hào) theta 表示)求導(dǎo)之后乘以 learning rate(我們用希臘字母alpha表示),再用原來parameter的值減掉它,就得到一次update的值,反復(fù)如此,直至converge。
Multiple Gradient Descent 就是 gradient descent 應(yīng)用于多個(gè) feature。針對(duì)于常數(shù)項(xiàng) parameter,我們假設(shè)它對(duì)應(yīng)于一個(gè)值為1的feature。


feature scaling 是針對(duì) gradient descent 的一個(gè)小技巧,因?yàn)楦鱾€(gè)feature的取值范圍差異很大,很明顯,范圍大的 feature 它的 parameter 范圍就小,又由于它的 feature 大,觀察 gradient descent 式子可以發(fā)現(xiàn)這會(huì)導(dǎo)致一次下降可能過大,就會(huì)在最優(yōu)解附近產(chǎn)生震蕩,導(dǎo)致迭代次數(shù)過多?!緜€(gè)人理解,還需驗(yàn)證】
而feature scaling 將每個(gè) feature 減去平均值后再除以 range (最大值減去最小值)就能得到一個(gè)接近于 [-1, +1] 的范圍,這樣可以提高迭代速率,這丫就是 mean normalization。


learning rate: 如果 learning rate 過小,就會(huì)收斂的過于緩慢,如果過快,就可能讓結(jié)果發(fā)散(小竅門:讓 learning rate 按照 1 -- 0.3 -- 0.1 -- 0.03 -- 0.01 - 0.003 -----)這樣3倍的速率進(jìn)行調(diào)試。


polynomial regression:除了線性回歸,我們還可以采用多項(xiàng)式回歸,比如某個(gè) feature 的平方,立方,開方等等。但是要注意的是,feature scaling 也要隨著 feature 一樣變化。


Normal Equation:gradient descent的一個(gè)替代方案,就是將 features 用一個(gè) m*(n+1)的矩陣X表示,將結(jié)果用一個(gè) m*1 的向量 y 表示,通過下面的式子算出 theta 向量。
parameter theta = X的轉(zhuǎn)置乘以 X,再取結(jié)果的逆矩陣,再乘以 X 的轉(zhuǎn)置矩陣,最后乘以 y。

gradient descent 和 normal equation 的比較:

Normal Equation Noninvertibility:如果說 X的轉(zhuǎn)置乘以X 所得到的矩陣不可逆怎么辦?在 octave 中,我們有 inv()進(jìn)行常規(guī)的逆矩陣運(yùn)算,也有 pinv()在不可逆的情況下仍然讓我們得到 theta。
是那些原因可能造成不可逆的問題呢:

  1. 重復(fù)的 feature。比如說有兩個(gè) feature 分別是房子的平方米面積和房子的平方英尺面積,這會(huì)導(dǎo)致矩陣的有一列是另外一列的倍數(shù)。這就導(dǎo)致了矩陣不可逆。
  2. 樣本數(shù)量 m 小于等于 feature 數(shù)量 n
    解決辦法:刪減 feature,或者 regularization

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容