寫在前面的話:文章主要參考斯坦福吳恩達(dá)教授在Coursera上的《machine learning》視頻漓柑。
線性回歸算法主要適用于線性模型混蔼,視頻中給了一個(gè)生動(dòng)的例子杈绸,是關(guān)于房價(jià)的:
????? 我們可以從中發(fā)現(xiàn)數(shù)據(jù)的分布可以近似的用一條直線來描述,線性回歸算法就是依照已知數(shù)據(jù)來生成回歸直線企软,對(duì)相關(guān)問題進(jìn)行預(yù)測(cè)留荔。流程如下圖所示:
由于是線性問題,我們提出的模型假設(shè)是線性函數(shù):
該模型主要是由兩個(gè)參數(shù)決定的,如何確定兩個(gè)參數(shù)就需要引入代價(jià)函數(shù):
其中聚蝶,
為對(duì)應(yīng)于樣本Xi的預(yù)測(cè)值杰妓,它減去樣本中的Yi,可以將上式看作是預(yù)測(cè)值與真實(shí)值的距離碘勉。因此巷挥,我們將這個(gè)距離最小,就使得我們的模型更加貼近我們給定的訓(xùn)練數(shù)據(jù)验靡。因此倍宾,我們的目標(biāo)函數(shù)為:
梯度下降算法
梯度下降算法可以計(jì)算線性回歸中的參數(shù),其中a的選擇很重要胜嗓,如果過小就會(huì)耗費(fèi)時(shí)間高职,如果過大會(huì)造成不再收斂,無法找到最優(yōu)解辞州。對(duì)于初始值的選定怔锌,我們可以用0來初始化參數(shù),視頻中变过,吳恩達(dá)大神還探討了下如果初始值恰好為最優(yōu)值的情況: