? ? 我們加入房屋的臥室數(shù)量作為該例的另一特征量:
? ? 這樣缨睡,是一個(gè)二維矢量,例如代表該訓(xùn)練集中第個(gè)房屋的住房面積陈辱,而代表其臥室數(shù)量奖年。
? ? 我們使用關(guān)于的線性函數(shù)去估計(jì):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
為了簡(jiǎn)化公式,我們約定?(intercept term)沛贪,因此有:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
等式最右部分我們將和均視為矢量陋守,表示輸入變量的數(shù)量(不包含)。
? ? 為了衡量對(duì)每一利赋,與相應(yīng)的的逼近程度水评,我們定義代價(jià)函數(shù)(cost function):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
(一)概率解釋
? ? 當(dāng)我們面對(duì)一個(gè)回歸問(wèn)題,為什么線性回歸媚送,特別地中燥,最小均方代價(jià)函數(shù)是合理的選擇?
? ? 我們假定目標(biāo)變量與其輸入有如下等式關(guān)系:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ,
這里塘偎,是誤差項(xiàng)(error term)疗涉,捕捉未建模效應(yīng)(例如拿霉,有許多特征量與房?jī)r(jià)相關(guān),但我們未在線性回歸中考慮他們)咱扣,或隨機(jī)噪聲绽淘。讓我們進(jìn)一步假設(shè)是服從均值為0,方差為的高斯分布的獨(dú)立同分布變量偏窝。即~,則的概率分布為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ,
故 ? ? ? ? ? ? ? ? ? ? ? ? ?? 祭往。?
似然函數(shù): ? ? ? ? ? ? ? ? ? ? ? ? ? .
根據(jù)之前對(duì)的獨(dú)立性假設(shè),
? ? ? ? ? ? ? ? ?
? ? 現(xiàn)在伦意,給定這個(gè)關(guān)于和的概率模型,如何去獲得參數(shù)的值硼补?根據(jù)最大似然估計(jì)法驮肉,通過(guò)選擇參數(shù)使得樣本數(shù)據(jù)有最大概率。因此已骇,我們應(yīng)選擇參數(shù)去最大化离钝。
? ? 為了簡(jiǎn)化推導(dǎo),我們選擇最大化對(duì)數(shù)似然函數(shù)(log likelihood function):
因此褪储,最大化即最小化
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 卵渴,
即為我們最初的最小均方代價(jià)函數(shù)。
結(jié)論:基于之前的概率假設(shè)鲤竹,線性回歸法即是找到的最大似然估計(jì)值浪读。
(二)最小均方算法(LMS algorithm)
? ? 我們想要通過(guò)選取去最小化,所以辛藻,讓我們使用一個(gè)搜索算法碘橘,從的“初始猜測(cè)值”開(kāi)始,不斷改變的值去減少吱肌,直到得到收斂值痘拆,使得最小。我們考慮梯度下降算法(gradient descent algorithm):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
(更新對(duì)所有同時(shí)進(jìn)行氮墨。)這里纺蛆,稱(chēng)為學(xué)習(xí)率(learning rate)。
? ? 為了完成這個(gè)算法规揪,我們需要計(jì)算出等式右邊的偏導(dǎo)數(shù)犹撒,當(dāng)只有一個(gè)訓(xùn)練例子時(shí),有:
? ? ? ? ?
? ? ? ? ? ? ? ? ? 粒褒。
? ? 對(duì)一個(gè)訓(xùn)練例子识颊,我們給定以下更新規(guī)律:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ,
該規(guī)律被稱(chēng)為LMS更新規(guī)則(LMS代表“l(fā)east mean squares”最小均方根)。
? ? 當(dāng)訓(xùn)練集中不止一個(gè)例子時(shí)祥款,有兩種方法修改LMS更新規(guī)則清笨,
? ? (1)批處理梯度下降算法(Batch Gradient Descent)
Repeat until convergence
? ? ? ? ? ? ? ? ?? ? ?? (for every )
? ? 隨著迭代次數(shù)的增加,每次的迭代變化會(huì)很小刃跛,可以設(shè)定一閾值抠艾,當(dāng)兩次迭代小于該閾值時(shí),就停止迭代桨昙,得到的結(jié)果也近似最優(yōu)解检号。
(2)隨機(jī)梯度下降(stochastic gradient descent also incremental gradient descent)
? ? Loop
? ? ? ? ?? for? to?,
? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ?? (for every ).
? ? ? ? ??
?? 批處理梯度下降在執(zhí)行每一次迭代時(shí),都需要遍歷整個(gè)訓(xùn)練集蛙酪,當(dāng)m較大時(shí)齐苛,算法會(huì)非常耗時(shí),而隨機(jī)梯度下降算法只需對(duì)當(dāng)前傳入的例子進(jìn)行更新桂塞。值得注意的是凹蜂,隨機(jī)梯度下降算法永遠(yuǎn)不會(huì)在最優(yōu)值收斂,參數(shù)的值會(huì)在的最小值附近持續(xù)震蕩阁危,但是實(shí)際上玛痊,在最優(yōu)值附近的值都是對(duì)最優(yōu)值的合理估計(jì)。當(dāng)訓(xùn)練集較大時(shí)狂打,我們一般都會(huì)優(yōu)先選擇隨機(jī)梯度算法擂煞。
(三)正規(guī)方程組(the normal equations)
? ? 定義設(shè)計(jì)矩陣(design matrix)X是一個(gè)m * n的矩陣(如果我們包含截距項(xiàng),則為m * n+1矩陣)趴乡,在其行中包含訓(xùn)練例子的輸入值:
令為包含所有訓(xùn)練集的目標(biāo)值的n維向量:
因?yàn)?img class="math-inline" alt="h_\theta(x^{(i)})=(x^{(i)})^T \theta" src="https://math.jianshu.com/math?formula=h_%5Ctheta(x%5E%7B(i)%7D)%3D(x%5E%7B(i)%7D)%5ET%20%5Ctheta" mathimg="1">对省,我們可以很容易的得到:
由于,則有
? ? ? ? ? ? ? ? ? ? ? ? ? ?
因此:
為了最小化浙宜,我們要使得其導(dǎo)數(shù)為0,所以我們得到正規(guī)方程組(normal equations):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
因此蛹磺,使得最小的值為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 粟瞬。
(四)牛頓法(Newton's method)
? ? 假設(shè)我們有一函數(shù),我們希望找到使得(為實(shí)數(shù))萤捆,牛頓法的更新方法如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? 牛頓法為我們提供了讓的方法裙品,如何利用這種方法去得到函數(shù)的最大值呢?當(dāng)取得最大值時(shí)俗或,有,所以令市怎,所以:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
推廣到為高維次的情況有:
其中稱(chēng)為Hessian矩陣,辛慰。
通常而言区匠,牛頓法比批處理梯度下降法需要更少的迭代次數(shù),但由于牛頓法都需要計(jì)算n*n階Hessian矩陣及其逆矩陣,牛頓法的每一次迭代會(huì)比梯度下降更加費(fèi)時(shí)驰弄。當(dāng)m不是太大時(shí)麻汰,一般而言使用牛頓法會(huì)更快。
(五)局部加權(quán)線性回歸(Locally weighted linear regression)
? ? 讓我們考慮用預(yù)測(cè)戚篙,最左圖是使用去匹配訓(xùn)練集五鲫,可以發(fā)現(xiàn)匹配效果不是太好。
? ? 我們額外再加入一個(gè)特征量岔擂,令位喂,如中間那幅圖所見(jiàn),似乎參數(shù)越多乱灵,匹配的效果越好塑崖。當(dāng)使用5個(gè)參數(shù),,進(jìn)行匹配時(shí)阔蛉,結(jié)果如最右圖所示弃舒,雖然曲線完美的通過(guò)了每一個(gè)數(shù)據(jù)點(diǎn),我們依然不能說(shuō)它是在不同住房面積()下状原,對(duì)房屋價(jià)格()的合理預(yù)測(cè)器聋呢。我們稱(chēng)左圖的情況為欠擬合(underfitting),右圖的情況為過(guò)擬合(overfitting)颠区。
? ? 上述例子說(shuō)明削锰,特征量的選擇很大程度上決定了學(xué)習(xí)算法的表現(xiàn)。本部分將討論局部線性加權(quán)回歸算法(locally weighted linear regression, LWR)毕莱,使得特征量的選擇不那么重要器贩。
? ? 在原始的線性回歸算法中,為了得到在查詢點(diǎn)預(yù)測(cè)值朋截,我們會(huì):
? ? 1蛹稍、選取使得最小的值。
? ? 2部服、輸出唆姐。
? ? 而在局部加權(quán)線性回歸中:
? ? 1、選取使得最小的值廓八。
? ? 2奉芦、輸出。
這里剧蹂,是非負(fù)權(quán)值(weights)声功。顯然,當(dāng)對(duì)應(yīng)的很大時(shí)宠叼,在選擇時(shí)會(huì)很難使得很小先巴,如果很小,將可以忽略不計(jì)。
? ? 權(quán)值的表達(dá)式為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
如果很小筹裕,那么會(huì)非常接近1醋闭,如果很大,那么會(huì)很小朝卒。因此证逻,可以這樣說(shuō),在局部構(gòu)成了線性回歸算法抗斤,對(duì)于的學(xué)習(xí)囚企,主要依靠于查詢點(diǎn)附近的值。
雖然的形式與高斯分布十分相似瑞眼,但與高斯分布并無(wú)關(guān)系龙宏,因?yàn)?img class="math-inline" alt="\omega^{(i)}" src="https://math.jianshu.com/math?formula=%5Comega%5E%7B(i)%7D" mathimg="1">中并無(wú)隨機(jī)變量。
? ? 局部線性加權(quán)回歸是一種非參數(shù)(non-parametric)學(xué)習(xí)算法伤疙,而之前的未加權(quán)線性回歸算法是一種參數(shù)(parametric)學(xué)習(xí)算法银酗,所謂參數(shù)學(xué)習(xí)算法,它有固定明確的參數(shù)去匹配訓(xùn)練集徒像。一旦參數(shù)確定黍特,我們就不需要保留訓(xùn)練集中的數(shù)據(jù)。相反锯蛀,當(dāng)使用局部線性加權(quán)回歸進(jìn)行·預(yù)測(cè)時(shí)灭衷,每進(jìn)行一次預(yù)測(cè),就要重新學(xué)習(xí)一次旁涤,我們需要一直保留整個(gè)訓(xùn)練集翔曲。“非參數(shù)”(non-parametric)大概指的是為了學(xué)習(xí)所需要的保存的數(shù)據(jù)隨著訓(xùn)練集的大小線性增長(zhǎng)劈愚。