1. 程式人生 > >Stanford機器學習-Linear Regressioon with One Variable(2)

Stanford機器學習-Linear Regressioon with One Variable(2)

代價函式 (Cost function)

前面我們已經得到了如下的訓練集:
這裡寫圖片描述

如圖所示,現有顯示的有四條資料,我們假設函式這裡寫圖片描述 ,那麼兩個引數該如何選擇呢,這就是我們要做的工作。下面我們來對這兩個引數取一些值來看看具體是什麼情況。
這裡寫圖片描述

當取不同的引數時,所畫出的線各不一樣,那麼那一條更好呢?這就引出了一個所謂的代價的問題,也就是我們通過訓練集所得出的模型來預測的數值和真實值之間的差距。

理想的情況如下所示:
這裡寫圖片描述

這裡我們使用的平方誤差代價函式,來計算出所選曲線和真實值之間的差距,它的大小也就是這裡所說的代價,我們的目標就是找到使代價最小的兩個引數,就是我們要找的。

下面總結一下:
這裡寫圖片描述

我們得出h函式,待定的兩個引數,以及得出一個目標代價函式J(),我們的目標就是使得J()函式的輸出值最小,當我們的兩個引數均不為零時,得出的是一條有縱截距的傾斜直線。下面選擇一種簡答的情況來討論,也就是使得西塔0為零,此時便是一條過原點的直線,此時的引數就只有西塔1了。
這裡寫圖片描述

這裡當西塔1取0.5時,劃出一條線,對應的x座標我們有一個輸出,我們便可以求出與真實值得差距,帶入代價函式,我們便可以得出一個最小代價大約為0.58。而當我們取0時,便是橫座標軸,同樣也可以求出一個最小代價。
這裡寫圖片描述

因此當我們選擇不同的引數值時就可以得出不同的代價,我們將其描繪在代價函式的座標圖中,當資料多時我們就可以描出一條代價曲線,我們發現這時一條凹曲線,當取值為1時,取值最小代價,取到了曲線的底部。

當我們的西塔0和西塔1均未知時,此時的圖就無法在二維座標中直觀的表現出來了,而是在三維空間的一張圖,如下所示:
這裡寫圖片描述

此時橫縱座標分別表示兩個引數,Z軸是代價。在這個三維的圖形中我們也可以很清楚的看到存在一個代價最小的點,即圖形的最低點。

下面就是選擇不同引數的一些情況:
這裡寫圖片描述這裡寫圖片描述這裡寫圖片描述

當我們選到最低點時,來看一下效果如何:
這裡寫圖片描述

發現擬合模型選取的越好,J函式的值越靠近中心,當我們選到最後一張圖時,此時的擬合效果最好,而且可以算出此時的代價最小.

代價函式也被稱作平方誤差函式,有時也被稱為平方誤差代價函式。我們之所以要求出誤差的平方和,是因為誤差平方代價函式,對於大多數問題,特別是迴歸問題,都是一個合理的選擇。還有其他的代價函式也能很好地發揮作用,但是平方誤差代價函式可能是解決迴歸問題最常用的手段了。