1.多變量線性回歸
在第一周的房?jī)r(jià)和房屋面積的例子中竭恬,由于變量只有一個(gè)—面積跛蛋,所以這類(lèi)機(jī)器學(xué)習(xí)問(wèn)題稱(chēng)為單變量線性回歸,很明顯痊硕,當(dāng)變量數(shù)量>1時(shí)赊级,即為多變量線性回歸
2.多維特征
現(xiàn)在,假設(shè)除了房屋面積外岔绸,又增加了房屋數(shù)量理逊、樓層、房屋年齡等特征盒揉,則此模型即變?yōu)榱硕嘧兞康哪P徒唬P偷奶卣鳛?則相應(yīng)的多維的假設(shè)函數(shù)為:
為了方便,此時(shí)引入
簡(jiǎn)化一下刚盈,假設(shè)函數(shù)可以簡(jiǎn)化成:
其中羡洛,特征矩陣的維度是 代表特征矩陣的轉(zhuǎn)置
3.多變量梯度下降
多變量線性回歸的損失函數(shù)/代價(jià)函數(shù)和之前的單變量線性回歸類(lèi)似,用到的還是平均損失函數(shù)藕漱,只是變量維度多了
其中:
我們的目標(biāo)和單變量線性回歸問(wèn)題中一樣欲侮,是要找出使得代價(jià)函數(shù)最小的一系列參數(shù)。
多變量線性回歸的批量梯度下降算法為:Repeat { }即:Repeat { }
求導(dǎo)后得到:Repeat {
for (j = 0,1,2...n)
}
特征維度>1時(shí)(n>1)有:
開(kāi)始隨機(jī)選擇一系列參數(shù)值肋联,計(jì)算所有預(yù)測(cè)結(jié)果威蕉,再給所有參數(shù)一個(gè)新的值,如此循環(huán)直到收斂牺蹄,即損失函數(shù)局部最小值忘伞。代碼示例:
def computeCost(X, y, theta):
inner = np.power(((X * theta.T) - y), 2)
return np.sum(inner) / (2* len(X))
4.特征縮放
還是以房子為例,多變量線性回歸模型中沙兰,房?jī)r(jià)不僅取決于房屋面積這個(gè)特征氓奈,還取決于房屋數(shù)量這個(gè)特征。
這兩個(gè)特征的范圍分別為:
面積:0~2000平方英尺
房屋數(shù)量:0~5
對(duì)x1特征罗岖,只需除以2000涧至,對(duì)x2特征,除以5桑包。即可使得特征值范圍屬于0~1
5.學(xué)習(xí)率
梯度下降算法收斂所需要的迭代次數(shù)根據(jù)模型的不同而不同南蓬,我們不能提前預(yù)知,我們可以繪制迭代次數(shù)和代價(jià)函數(shù)的圖表來(lái)觀測(cè)算法在何時(shí)趨于收斂。
如下圖所示:
有一些自動(dòng)測(cè)試是否收斂的方法乘综,例如將代價(jià)函數(shù)的變化值與某個(gè)閥值(例如 0.001)
進(jìn)行比較憎账,但通程着穑看上面這樣的圖表更好。
梯度下降算法的每次迭代受到學(xué)習(xí)率的影響胞皱,如果學(xué)習(xí)率??過(guò)小邪意,則達(dá)到收斂所需的迭代次數(shù)會(huì)非常高;如果學(xué)習(xí)率??過(guò)大,每次迭代可能不會(huì)減小代價(jià)函數(shù)反砌,可能會(huì)越過(guò)局部最小值導(dǎo)致無(wú)法收斂雾鬼。
通常可以考慮嘗試這些學(xué)習(xí)率: ?? = 0.01宴树,0.03策菜,0.1,0.3酒贬,1又憨,3,10