機器學習Lesson 2 代價函式之線性回歸演算法

2021-09-03 00:21:06 字數 2524 閱讀 9302

本章內容主要是介紹:單變數線性回歸演算法(linear regression with one variable)

下圖是奧勒岡州波特蘭市的住房**和面積大小的關係:

該問題屬於監督學習中的回歸問題,讓我們來複習一下:

(x,y)表示乙個訓練樣本。

x(1) 指的是 第乙個訓練集裡值為2104的輸入值, 這個就是第一行裡的x x(2) 等於1416。這是第二個x y(1) 等於460,這是第乙個訓練集樣本的y值, 這就是(1)所代表的含義。

這就是乙個監督學習演算法的工作方式,我們可以看到這裡有我們的訓練集裡房屋**,我們把它餵給我們的學習演算法,然後輸出乙個函式。

按照慣例,通常表示為小寫h代表hypothesis(假設) h表示乙個函式。輸入是房屋尺寸大小,就像你朋友想**的房屋。因此,h 根據輸入的 x 值來得出 y 值。 y值對應房子的**。所以h是乙個從x到y的函式對映 。

hθ(x)=θ0+θ1*x
這個模型被稱為線性回歸(linear regression)模型。 這實際上是關於單個變數的線性回歸,這個變數就是x 根據x來**所有的**函式。同時, 對於這種模型有另外乙個名稱,稱作單變數線性回歸單變數是對乙個變數的一種特別的表述方式。總而言之 這就是線性回歸。

任何能夠衡量模型**出來的值h(θ)與真實值y之間的差異的函式都可以叫做代價函式c(θ),如果有多個樣本,則可以將所有代價函式的取值求均值,記做j(θ)。

j(θ0,θ1)=12m$\sum$i=1m(y^i−yi)2=12m∑i=1m(hθ(xi)−yi)2

hθ(x)=θ1x,如下圖:

重要公式

(1)假設函式

x軸為面積,y軸為房價

假設函式 h(x) 對於乙個固定的θ1,這是乙個關於x 的函式。 所以這個假設函式就是乙個關於 x 這個房子大小的函式。

(2)代價函式

x軸為假設函式的斜率,y即代價大小

代價函式 j 是乙個關於引數 θ1 的函式,而 θ1 控制著這條直線的斜率 。

斜率為0.5時,取3個樣本(m=3):(0.5,1),(1,2),(1.5,3)。套公式得出j(0.5)=0.58

同理,j(0)=1/6(1²+2²+3²)=14/6,求出更多的點之後,我們得出類似以下函式:

學習演算法的優化目標是我們想找到乙個 θ1 的值,來將 j(θ1) 最小化。這是我們線性回歸的目標函式。 上面的曲線中,讓 j(θ1) 最小化的值是 θ1=1。這個確實就對應著最佳的通過了資料點的擬合直線 。這條直線就是由 θ1=1 的設定而得到的。 對於這個特定的訓練樣本,我們最後能夠完美地擬合 這就是為什麼最小化 j(θ1),對應著尋找乙個最佳擬合直線的目標。

包含θ0、θ1兩個引數的代價函式呈現出來的是類似下圖的三維曲面圖,兩個軸分別表示θ0、θ1。

在ml中,一般使用輪廓圖( contour plot 或 contour figure 的意思)描述該模型。

右側圖形就是乙個輪廓圖,兩個軸分別表示θ0和θ1。 而這些一圈一圈的橢圓形,每乙個圈就表示j(θ0,θ1) 相同的所有點的集合。

如圖選取三個點,這三個點都表示相同的 j(θ0,θ1) 的值。橫縱座標分別是θ0, θ1 這三個點的 j(θ0,θ1) 值是相同的。我們需要算的代價函式即為圓心的點,此時我們的代價最小。

我們選取一組資料,θ0=800θ1=-0.15,此時我們可以對應得到乙個左邊這樣一條線。

以這組 θ0,θ1 為引數的這個假設 h(x) 並不是資料的較好擬合。並且你也發現了這個代價值 距離最小值點還很遠。也就是說這個代價值還是算比較大的,因此不能很好擬合資料。

θ0=360θ1=0。我們可以得到h(x)=360+0*x這樣一條直線。同樣不能很好的擬合資料。

最後乙個例子:

這個點其實不是最小值,但已經非常靠近最小值點了。 這個點對資料的擬合就很不錯,它對應這樣兩個θ0 和 θ1 的值。同時也對應這樣乙個 h(x) 這個點雖然不在最小值點,但非常接近了。 因此誤差平方和,或者說 訓練樣本和假設的距離的平方和,這個距離值的平方和 非常接近於最小值,儘管它還不是最小值。

通過這些圖形,本篇文章主要是幫助理解這些代價函式 j 所表達的值;它們是什麼樣的它們對應的假設是什麼樣的;以及什麼樣的假設對應的點更接近於代價函式j的最小值。

我們真正需要的是一種有效的演算法,能夠自動地找出這些使代價函式j取最小值的引數θ0和θ1來。我們也不希望編個程式 把這些點畫出來,然後人工的方法來讀出這些點的數值,這很明顯不是乙個好辦法。

事實上在深入機器學習的過程中, 我們會遇到更複雜、更高維度、更多引數的情況。而這些情況是很難畫出圖的,因此更無法將其視覺化,因此我們真正需要的,是編寫程式來找出這些最小化代價函式的θ0和θ1的值。在後續文章中將介紹一種演算法 能夠自動地找出能使代價函式 j最小化的引數θ0和θ1的值。

[1]網易雲課堂機器學習課程:

[2]coursera課程:

機器學習Lesson 2 代價函式之線性回歸演算法

本章內容主要是介紹 單變數線性回歸演算法 linear regression with one variable 下圖是奧勒岡州波特蘭市的住房 和面積大小的關係 該問題屬於監督學習中的回歸問題,讓我們來複習一下 x,y 表示乙個訓練樣本。x 1 指的是 第乙個訓練集裡值為2104的輸入值,這個就是第...

學習筆記 機器學習 1 1代價函式

目前在學習 coursera 的machine learning課程,決定做乙份筆記以便記錄學習情況。這是機器學習的 第一章第一節 cost function 代價函式 通過這一節的學習將會了解到以下兩個函式公式的含義 函式1.1.1 hypothesis h theta x theta 0 the...

吳恩達機器學習9 代價函式 2

1.下面是我們慣例的公式,有假設函式 引數和代價函式以及我們優化的目標 和上節課不同的是,對代價函式圖形化的時候,這次課我們要保留全部引數theta0和theta1,這裡是關於房價的訓練集,之前我們只有乙個引數theta1,畫出來的形狀是乙個碗狀函式,當我們有兩個引數的時候,j theta0,the...