吴恩达《机器学习》学习笔记三——多变量线性回归
吳恩達(dá)《機(jī)器學(xué)習(xí)》學(xué)習(xí)筆記三——多變量線性回歸
- 一、 多元線性回歸問題介紹
- 1.一些定義
- 2.假設(shè)函數(shù)
- 二、 多元梯度下降法
- 1. 梯度下降法實(shí)用技巧:特征縮放
- 2. 梯度下降法的學(xué)習(xí)率
- 三、 特征選擇與多項(xiàng)式回歸
- 四、 正規(guī)方程法
- 1. 一些定義
- 2. 正規(guī)方程解的公式
- 3. 梯度下降法和正規(guī)方程法的比較
- 4. 正規(guī)方程法在矩陣不可逆的情況下的解決
課程鏈接: https://www.bilibili.com/video/BV164411b7dx?from=search&seid=5329376196520099118
上一個(gè)筆記介紹了單輸入變量(一元)線性回歸問題,即只考慮了一個(gè)屬性對(duì)房?jī)r(jià)的影響,但很多時(shí)候會(huì)有多個(gè)因素對(duì)輸出產(chǎn)生影響,所以這次筆記主要針對(duì)多元線性回歸問題,是對(duì)筆記二的推廣。
一、 多元線性回歸問題介紹
1.一些定義
還是以房?jī)r(jià)預(yù)測(cè)問題為例,與一元線性回歸問題所不同的是,將有多個(gè)因素來共同決定房?jī)r(jià),如下表所示,除了面積之外,還有臥室數(shù)量、樓層數(shù)量、房屋年紀(jì)共四個(gè)屬性作為輸入,分別記為x1、x2、x3、x4。
在這里,我們將屬性(特征)的數(shù)量記為n,這里n=4;數(shù)據(jù)樣本數(shù)量記為m,如m=47。x(i)表示第i個(gè)數(shù)據(jù)的所有屬性,是對(duì)數(shù)據(jù)集的索引,因?yàn)檫@里是多屬性,所以可以表示為一個(gè)向量,如x(2) = [1416 3 2 40]T;而x_j(i)表示第i個(gè)數(shù)據(jù)樣本的第j個(gè)屬性值,是對(duì)具體屬性的索引,如x_3(2)=2。
2.假設(shè)函數(shù)
還是考慮采用一次線性函數(shù),但是不再是一元,而是多元。再次強(qiáng)調(diào),并非一定采用一次線性函數(shù)的形式,可以采用別的形式如二次、指數(shù)等來進(jìn)行模型的求解,這里是為了介紹線性回歸問題所以采用線性函數(shù)。
針對(duì)上述提出的四個(gè)屬性,假設(shè)函數(shù)可以改寫為如下形式:
再推廣一下到一般形式:
這里有一個(gè)小技巧,為了后面表示的方便,我們定義一個(gè)x0=1,那么有
下面,令
那么假設(shè)函數(shù)又能用向量相乘的方式表示:
這么做的意義是,在計(jì)算機(jī)的一些庫(kù)中,向量相乘的計(jì)算速度要比普通的相乘相加來得快,當(dāng)數(shù)據(jù)量非常龐大時(shí),該操作可以有效提升效率。
二、 多元梯度下降法
多元線性回歸問題的假設(shè)函數(shù)、參數(shù)、代價(jià)函數(shù)和對(duì)應(yīng)的梯度下降法如下圖所示。
這里需要注意的是,我們盡量使用向量的計(jì)算來代替n個(gè)變量之間的計(jì)算,所以參數(shù)θ_0,θ_1,…,θ_n可以用一個(gè)n+1維的向量表示θ=[θ_0 θ_1…θ_n]^T。
下面具體看一下梯度下降的求偏導(dǎo)部分,如下所示:
與一元線性回歸問題相比,推廣到了更一般的情況,而其θ_0,θ_1的表達(dá)式就是一元的表達(dá)式。
1. 梯度下降法實(shí)用技巧:特征縮放
主要的思想是,如果數(shù)據(jù)的各個(gè)屬性的值的范圍都有相同的尺度,那么梯度下降法將能夠更快收斂。可以通過下面的圖來說明:
x1的值的范圍在0-2000,而x2的范圍是1-5,做出的等高線圖如左圖所示,因?yàn)槌叨炔町愡^大,非常細(xì)長(zhǎng),從而導(dǎo)致很不利于梯度下降法收斂到最優(yōu)點(diǎn),紅色的線是梯度下降的過程。解決辦法可以是將x1和x2都標(biāo)準(zhǔn)化到0-1的范圍,等高線圖將比較均勻,如右邊的圖所示,不論初始位置在哪,都容易收斂到最優(yōu)點(diǎn)。
一般我們特征縮放的范圍都會(huì)盡量使他靠近-1到1這個(gè)大致范圍,這不固定,0 ~ 3或-2 ~ 0.5這種范圍都可以接受,但是-100 ~ 100或-0.0001 ~ 0.0001這種就相差太大,最好進(jìn)行特征縮放。
說到底,特征縮放其實(shí)就是數(shù)據(jù)預(yù)處理的一個(gè)體現(xiàn)——標(biāo)準(zhǔn)化,以后會(huì)經(jīng)常遇到需要標(biāo)準(zhǔn)化的數(shù)據(jù),標(biāo)準(zhǔn)化的方法也有很多,如下面這種均值標(biāo)準(zhǔn)化,通過減去均值除以標(biāo)準(zhǔn)差后進(jìn)行范圍的標(biāo)準(zhǔn)化,后面有機(jī)會(huì)我會(huì)進(jìn)行標(biāo)準(zhǔn)化方法的總結(jié)。
2. 梯度下降法的學(xué)習(xí)率
主要介紹調(diào)試以及如何選擇學(xué)習(xí)率。
在梯度下降算法迭代的過程中,如何判斷是在朝著正確的方向計(jì)算,可以繪制一張迭代次數(shù)與代價(jià)函數(shù)的曲線圖,如下所示,如果代價(jià)函數(shù)J(θ)隨著迭代次數(shù)不斷減小,則是正確的。曲線下降到后期可能已經(jīng)趨于平坦,則意味著已經(jīng)達(dá)到收斂,此時(shí)幾乎就是最優(yōu)點(diǎn)。
一些不正確的的代價(jià)函數(shù)變化曲線如下所示,說明沒有在正確工作。一般的解決辦法是減小學(xué)習(xí)率。
理論上說,只要學(xué)習(xí)率足夠小,總能最終收斂到局部最優(yōu)點(diǎn),但是如果學(xué)習(xí)率太小的話,收斂所需的時(shí)間也是非常漫長(zhǎng)的,這是需要綜合考慮的問題,也就是調(diào)參的工作。
總結(jié)一下,一般判斷梯度下降是否在正確工作,會(huì)繪制迭代次數(shù)和代價(jià)函數(shù)的變化曲線圖來判斷,而且可以通過調(diào)節(jié)學(xué)習(xí)率來達(dá)到更好的結(jié)果,學(xué)習(xí)率的選擇一般需要嘗試,并不斷改善。
三、 特征選擇與多項(xiàng)式回歸
在之前的討論中,數(shù)據(jù)集提供了什么屬性(特征),我們就全部進(jìn)行了使用,其實(shí)特征的使用與否可以人為選擇,甚至可以根據(jù)現(xiàn)有的特征創(chuàng)造新的特征,只要是對(duì)問題的解決更合理即可。如下圖所示,給了房屋的寬度和深度特征,但是我們從現(xiàn)實(shí)情況考慮,應(yīng)該使用房屋的面積來衡量更為合理,所以定義新的特征面積等于寬度×深度,然后使用該新特征去計(jì)算。
還有一點(diǎn),之前提到過假設(shè)函數(shù)的形式并不唯一,這里是為了講解線性回歸問題才給定的多元線性模型,還可以使用二次,三次模型來擬合,如下圖所示,這里為簡(jiǎn)單起見,只考慮一個(gè)特征。
而這些其他的模型,其實(shí)也可以使用多元線性模型來擬合,只需要將二次項(xiàng)、三次項(xiàng)或平方根項(xiàng)當(dāng)成一個(gè)新的屬性即可。
四、 正規(guī)方程法
梯度下降法是通過不斷的迭代來求得最優(yōu)點(diǎn),而下面介紹的正規(guī)方程法,可以依據(jù)公式直接求得最優(yōu)解。
從微積分的知識(shí)可以知道,想要求使得函數(shù)達(dá)到最小的自變量的值,可以對(duì)該函數(shù)求偏導(dǎo)并使之等于0,求解出的自變量的值就是最優(yōu)解。但是當(dāng)函數(shù)復(fù)雜而且變量比較多時(shí),這樣做非常復(fù)雜。
1. 一些定義
還是使用房?jī)r(jià)預(yù)測(cè)的例子,假設(shè)有包含四條數(shù)據(jù)的數(shù)據(jù)集如下:
定義X,y為
更一般的形式如下圖:
2. 正規(guī)方程解的公式
該公式由來的推導(dǎo)過程這里暫時(shí)先不寫,有需要可以看深度之眼提供的西瓜書推導(dǎo)課程,詳細(xì)到令人發(fā)指,非常良心的課程:
深度之眼西瓜書推導(dǎo)課程
3. 梯度下降法和正規(guī)方程法的比較
先上圖
(1) 梯度下降法需要選擇學(xué)習(xí)率,需要需要很多次的迭代,而且經(jīng)常需要繪制代價(jià)函數(shù)變化曲線來判斷過程是否正確,而正規(guī)方程法不需要,它可以依據(jù)公式直接求解。
(2) 當(dāng)特征數(shù)量非常龐大時(shí),梯度下降法法依然可以很好的工作,而正規(guī)方程因?yàn)樯婕暗侥婢仃嚨挠?jì)算,計(jì)算復(fù)雜度會(huì)飛速上升,計(jì)算速度很慢,而且梯度下降是一種通用方法,正規(guī)方程是根據(jù)線性回歸的特點(diǎn)推導(dǎo)出來的,用在別的模型上就很可能不適用,如后面的邏輯回歸。
所以,當(dāng)特征數(shù)量不是很龐大時(shí),正規(guī)方程法是梯度下降法很好的替代方法,但是當(dāng)特征數(shù)量很龐大或是用到其他模型時(shí),梯度下降法會(huì)更好。
4. 正規(guī)方程法在矩陣不可逆的情況下的解決
從正規(guī)方程的求解公式中可以看到,需要進(jìn)行一次求逆矩陣的運(yùn)算,那么必然存在逆矩陣不存在的情況,這時(shí)該如何求解?
主要有兩個(gè)原因會(huì)導(dǎo)致不可逆:
一個(gè)是存在重復(fù)多余的特征,像面積特征有兩個(gè),一個(gè)用平方米做單位,一個(gè)用平方英尺做單位,其實(shí)是重復(fù)的,那么我們需要去掉。
還有可能是特征數(shù)太多,甚至超過了樣本數(shù),如100個(gè)特征卻只有10個(gè)數(shù)據(jù),則很可能導(dǎo)致不可逆,那么可以通過刪除一些特征或者采用正則化的方法來解決。正則化的方法后續(xù)會(huì)講到。這是籠統(tǒng)的解釋,更數(shù)學(xué)的解釋可以看深度之眼的西瓜書的課程,會(huì)一步步推導(dǎo)出來。
總結(jié)
以上是生活随笔為你收集整理的吴恩达《机器学习》学习笔记三——多变量线性回归的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吴恩达《机器学习》学习笔记十三——机器学
- 下一篇: Windows Redis安装