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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

繼續是機器學習課程的筆記,這節課介紹的是多變量的線性回歸。

多變量線性回歸

多維特征

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

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

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

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

現在支持多變量的假設h表示為:

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

多變量梯度下降

與單變量一樣,我們也需要為多變量構建一個代價函數,同樣也是一個所有建模誤差的平方和,即:

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

Repeat{

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

也就是

Repeat{

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

通過求導數后,可以得到

Repeat{

θj:=θj?α1mi=1m(hθ(x(i))?y(i))?x(i)j(θ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

特征縮放

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

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

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

xn=xn?μnSnμnSn

學習率

對于梯度下降,我們還需要解決的問題有:

  • 如何判斷當前的梯度下降是正常工作,即最終可以收斂;
  • 如何選擇一個學習率

對于第一個問題,由于迭代次數會隨著模型不同而不同,我們也不能提前預知,但可以通過繪制迭代次數和代價函數的圖表來觀察算法在何時收斂。如下圖所示:

由上圖所示,當曲線在每次迭代后都是呈下降趨勢,那么可以表明梯度下降是正常工作的,然后圖中可以看出在迭代次數達到400后,曲線基本是平坦的,可以說明梯度下降法在迭代到這個次數后已經收斂了。

當然也有一些自動測試是否收斂的,例如將代價函數的變化值與某個閾值(如0.001)進行比較。但選擇這個閾值是比較困難的,所以通常看上面的圖表會更好。

對于第二個問題,如何選擇一個學習率。由于梯度下降算法的每次迭代都會受到學習率的影響,如果學習率過小,那么達到收斂需要的迭代次數會非常大;但如果學習率過大,每次迭代可能不會減小代價函數,可能會越過局部最小值導致無法收斂。

通常可以考慮嘗試這些學習率α=0.001,0.003,0.01,0.03,0.1,0.3,1,

特征和多項式回歸

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

當然,如果我們希望繼續使用線性回歸模型,可以令:

x2=x22x3=x33

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

正規方程(Normal Equation)

到目前為止,我們都是使用梯度下降算法來解決線性回歸問題,但是對于某些線性回歸問題,正規方程方法是更好的解決方案。

正規方程是通過求解下面的方程來找出使得代價函數最小的參數的:

??θjJ(θj)=0

假設我們的數據如下所示:
![此處輸入圖片的描述][1]
然后我們在每行數據都添加一個x0=1,可以得到下列表格數據:

那么可以得到我們的訓練集特征矩陣X以及訓練結果向量y:

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

注意:對于那些不可逆的矩陣(通常是因為特征之間不獨立,如同時包含英尺為單位的尺寸和米為單位的尺寸兩個特征,也有可能是因為特征數據量大于訓練集的數量),正規方程方法是不能用的。

梯度下降法與正規方程的比較

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

梯度下降正規方程
需要選擇學習率α不需要
需要多次迭代一次運算得到
當特征量n大時也能較好使用如果特征數量n比較大則運算代價大,因為矩陣逆的運算時間復雜度為O(n3),通常來說n小于10000還是可以接受的
適用于各種類型的模型只適用于線性模型,不適合邏輯回歸模型等其他模型

小結

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

接著就是介紹了多項式回歸方法,這是由于線性回歸可能對某些數據并不適用,所以需要使用如二次方模型,三次方模型等訓練數據,但可以通過變量轉換來重新使用線性回歸模型,但是需要使用特征縮放方法。

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。