日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

[机器学习笔记] Note3--多变量线性回归

發(fā)布時(shí)間:2023/12/10 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [机器学习笔记] Note3--多变量线性回归 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

繼續(xù)是機(jī)器學(xué)習(xí)課程的筆記,這節(jié)課介紹的是多變量的線性回歸。

多變量線性回歸

多維特征

上節(jié)課介紹的是單變量的線性回歸,這節(jié)課則是進(jìn)一步介紹多變量的線性回歸方法。
現(xiàn)在假設(shè)在房屋問(wèn)題中增加更多的特征,例如房間數(shù),樓層等,構(gòu)成一個(gè)含有多個(gè)變量的模型,模型中的特征為(x1,x2,,xn).
如下圖所示:

在增加這么多特征后,需要引入一系列新的注釋:

  • n 代表特征的數(shù)量
  • x(i)代表第i個(gè)訓(xùn)練實(shí)例,是特征矩陣中的第i行,是一個(gè)向量
  • x(i)j代表特征矩陣中第i行的第j個(gè)特征,也是第i個(gè)訓(xùn)練實(shí)例的第j個(gè)特征

所以在如上圖中,特征數(shù)量n=4,然后x(2)=?????14163240?????,這表示的就是圖中第二行的數(shù)據(jù),也是第二個(gè)訓(xùn)練實(shí)例的特征,而x(2)3=2,表示的就是第二行第3列的數(shù)據(jù)。

現(xiàn)在支持多變量的假設(shè)h表示為:

hθ(x)=θ0+θ1x1+θ2x2+?+θnxn
這個(gè)公式中有n+1個(gè)參數(shù)和n個(gè)變量,為了讓公式可以簡(jiǎn)化一些,引入 x0 =1,則公式變?yōu)?#xff1a;
hθ(x)=θ0x0+θ1x1+θ2x2+?+θnxn
此時(shí)模型中的參數(shù)是一個(gè)n+1維的向量,任何一個(gè)訓(xùn)練實(shí)例也是n+1維的向量,特征矩陣X的維度是 m*(n+1)。
此時(shí)特征矩陣 x=?????????x0x1x2?xn?????????,參數(shù) θ=?????????θ0θ1θ2?θn?????????,所以假設(shè) h就可以如下表示:
hθ(x)=θTx
上述公式中的 T表示矩陣轉(zhuǎn)置。

多變量梯度下降

與單變量一樣,我們也需要為多變量構(gòu)建一個(gè)代價(jià)函數(shù),同樣也是一個(gè)所有建模誤差的平方和,即:

J(θ0,θ1,,θn)=12mi=1m(hθ(x(i))?y(i))2
目標(biāo)也是找到讓代價(jià)函數(shù)最小的一系列參數(shù),使用的也是梯度下降法,多變量線性回歸的批量梯度下降算法如下所示:

Repeat{

θj:=θj?α??θjJ(θ0,θ1,,θn)
}

也就是

Repeat{

θj:=θj?α??θj12mi=1m(hθ(x(i))?y(i))2
}

通過(guò)求導(dǎo)數(shù)后,可以得到

Repeat{

θj:=θj?α1mi=1m(hθ(x(i))?y(i))?x(i)j(時(shí)數(shù)θj,forj=0,1,,n)
}

其更新方法如下所示:

θ0:=θ0?α1mi=1m(hθ(x(i))?y(i))?x(i)0θ1:=θ1?α1mi=1m(hθ(x(i))?y(i))?x(i)1θ2:=θ2?α1mi=1m(hθ(x(i))?y(i))?x(i)2

特征縮放

在面對(duì)多特征問(wèn)題的時(shí)候,我們要保證這些特征都具有相近的尺度,這將幫助梯度下降算法更快地收斂。

以房?jī)r(jià)問(wèn)題為例,假設(shè)我們使用兩個(gè)特征,房屋的尺寸和房間的數(shù)量,前者的值是0-2000平方英尺,而后者的值是0-5,以兩個(gè)參數(shù)分別為橫縱坐標(biāo),繪制代價(jià)函數(shù)的等高線圖,如下圖所示,能看出圖像會(huì)顯得很扁,梯度下降算法需要非常多次的迭代才能收斂。

解決的方法就是嘗試將所有特質(zhì)的尺度都盡量縮放到?1xi1之間。最簡(jiǎn)單的方法如下所示:

xn=xn?μnSnμnSn標(biāo)準(zhǔn)

學(xué)習(xí)率

對(duì)于梯度下降,我們還需要解決的問(wèn)題有:

  • 如何判斷當(dāng)前的梯度下降是正常工作,即最終可以收斂;
  • 如何選擇一個(gè)學(xué)習(xí)率

對(duì)于第一個(gè)問(wèn)題,由于迭代次數(shù)會(huì)隨著模型不同而不同,我們也不能提前預(yù)知,但可以通過(guò)繪制迭代次數(shù)和代價(jià)函數(shù)的圖表來(lái)觀察算法在何時(shí)收斂。如下圖所示:

由上圖所示,當(dāng)曲線在每次迭代后都是呈下降趨勢(shì),那么可以表明梯度下降是正常工作的,然后圖中可以看出在迭代次數(shù)達(dá)到400后,曲線基本是平坦的,可以說(shuō)明梯度下降法在迭代到這個(gè)次數(shù)后已經(jīng)收斂了。

當(dāng)然也有一些自動(dòng)測(cè)試是否收斂的,例如將代價(jià)函數(shù)的變化值與某個(gè)閾值(如0.001)進(jìn)行比較。但選擇這個(gè)閾值是比較困難的,所以通常看上面的圖表會(huì)更好。

對(duì)于第二個(gè)問(wèn)題,如何選擇一個(gè)學(xué)習(xí)率。由于梯度下降算法的每次迭代都會(huì)受到學(xué)習(xí)率的影響,如果學(xué)習(xí)率過(guò)小,那么達(dá)到收斂需要的迭代次數(shù)會(huì)非常大;但如果學(xué)習(xí)率過(guò)大,每次迭代可能不會(huì)減小代價(jià)函數(shù),可能會(huì)越過(guò)局部最小值導(dǎo)致無(wú)法收斂。

通常可以考慮嘗試這些學(xué)習(xí)率α=0.001,0.003,0.01,0.03,0.1,0.3,1,

特征和多項(xiàng)式回歸

線性回歸并不適用于所有數(shù)據(jù),有時(shí)需要曲線來(lái)適應(yīng)數(shù)據(jù),比如一個(gè)二次方模型hθ(x)=θ0+θ1x1+θ2x22,或者三次方模型hθ(x)=θ0+θ1x1+θ2x22+θ3x33
而這就是多項(xiàng)式回歸,比如在房屋問(wèn)題中,我們可以選擇3個(gè)特征,一個(gè)房屋的價(jià)格,房屋的面積,房屋的體積,這樣就會(huì)用到三次方模型,其曲線如下圖所示:

當(dāng)然,如果我們希望繼續(xù)使用線性回歸模型,可以令:

x2=x22x3=x33

這樣就可以將模型轉(zhuǎn)換為線性回歸模型hθ(x)=θ0+θ1x1+θ2x2+θ3x3但是如果使用多項(xiàng)式回歸模型,在運(yùn)行梯度下降算法前,有必要使用特征縮放。

正規(guī)方程(Normal Equation)

到目前為止,我們都是使用梯度下降算法來(lái)解決線性回歸問(wèn)題,但是對(duì)于某些線性回歸問(wèn)題,正規(guī)方程方法是更好的解決方案。

正規(guī)方程是通過(guò)求解下面的方程來(lái)找出使得代價(jià)函數(shù)最小的參數(shù)的:

??θjJ(θj)=0

假設(shè)我們的數(shù)據(jù)如下所示:
![此處輸入圖片的描述][1]
然后我們?cè)诿啃袛?shù)據(jù)都添加一個(gè)x0=1,可以得到下列表格數(shù)據(jù):

那么可以得到我們的訓(xùn)練集特征矩陣X以及訓(xùn)練結(jié)果向量y:

X=?????11112104141615348525332122145403036?????y=?????460232315178?????
則利用正規(guī)方法可以得到向量 θ=(XTX)?1XTy,其中T代表矩陣轉(zhuǎn)置,上標(biāo)-1表示矩陣的逆。

注意:對(duì)于那些不可逆的矩陣(通常是因?yàn)樘卣髦g不獨(dú)立,如同時(shí)包含英尺為單位的尺寸和米為單位的尺寸兩個(gè)特征,也有可能是因?yàn)樘卣鲾?shù)據(jù)量大于訓(xùn)練集的數(shù)量),正規(guī)方程方法是不能用的。

梯度下降法與正規(guī)方程的比較

下面給出梯度下降方法和正規(guī)方法的比較:

梯度下降正規(guī)方程
需要選擇學(xué)習(xí)率α不需要
需要多次迭代一次運(yùn)算得到
當(dāng)特征量n大時(shí)也能較好使用如果特征數(shù)量n比較大則運(yùn)算代價(jià)大,因?yàn)榫仃嚹娴倪\(yùn)算時(shí)間復(fù)雜度為O(n3),通常來(lái)說(shuō)n小于10000還是可以接受的
適用于各種類(lèi)型的模型只適用于線性模型,不適合邏輯回歸模型等其他模型

小結(jié)

本節(jié)課內(nèi)容主要是介紹了多變量的線性回歸方法,跟單變量線性回歸方法還是比較類(lèi)型的,只是需要增加多幾個(gè)變量,同樣是使用誤差平方和函數(shù)作為代價(jià)函數(shù),然后也是使用梯度下降算法。但需要注意的是由于是多個(gè)變量,每個(gè)變量的取值范圍可能相差很大,這就需要使用特征縮放,通常是將每個(gè)特征縮放到[?1,1],然后就是介紹了如何選擇學(xué)習(xí)率以及判斷梯度下降是否收斂的問(wèn)題。

接著就是介紹了多項(xiàng)式回歸方法,這是由于線性回歸可能對(duì)某些數(shù)據(jù)并不適用,所以需要使用如二次方模型,三次方模型等訓(xùn)練數(shù)據(jù),但可以通過(guò)變量轉(zhuǎn)換來(lái)重新使用線性回歸模型,但是需要使用特征縮放方法。

最后就是介紹了一種跟梯度下降方法有同樣效果的正規(guī)方程方法,主要是通過(guò)求解??θjJ(θj)=0來(lái)得到參數(shù)值,并給出兩種方法的對(duì)比。

總結(jié)

以上是生活随笔為你收集整理的[机器学习笔记] Note3--多变量线性回归的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。