3 1 代價函式

2021-08-14 16:10:28 字數 3513 閱讀 6667

接下來,我們引入一些術語,ɵ0和ɵ1,這些ɵi我們將它稱作為模型引數,我們要做的就是如何去選擇這兩個引數。對於不同的ɵ0和ɵ1,我們會得到不同的假設函式,如下圖所示。

簡單的說,我們將這個問題變為找到能使我的訓練集中的**值與實際值的差的平方和的1/2m最小的ɵ0和ɵ1的值。因此,這將是我的線性回歸的整體的目標函式(這就是代價函式),為了使它更加的清楚,我們需要改寫這個函式。按照慣例,我們定義乙個代價函式j,如下圖所示,我們要做的是對ɵ0和ɵ1求j的最小值,j就是代價函式。

代價函式也被稱為平方誤差函式(

squared error function

),有時也被稱為平方均方誤差(

mean squared error

)。為什麼我們要求出誤差的平方和,是因為誤差平方代價函式,對於大多數問題,特別是線性回歸問題都是乙個合理的選擇,其他代價函式也能很好的發揮作用,但是平方誤差函式可能是解決線性回歸問題最常用的手段了。在後面將更加詳細的介紹j的工作原理以及嘗試更加直觀的解釋它在計算什麼,以及我們使用它的目的。

總結,我們可以使用代價函式來衡量我們得到的假設函式的準確度。

3.1.1 代價函式intuition i

上面我們介紹了代價函式數學上的定義,在這裡讓我們通過一些例子來獲取一些直觀的感受,看看代價函式到底是在幹什麼?

回顧一下,上次我們講到,我們想找到一條直線來擬合我們的資料。我們用 θ0和θ1 等引數得到了這個假設h,而且通過選擇不同的引數,我們會得到不同的直線擬合,然後我們還有乙個代價函式(cost function),這就是我們的優化目標(goal)。

為了便於我們理解,我們需要將代價函式簡化,如下圖右邊所示。 也就是我們可以將這個函式看成是 把 θ0 設為0,假設函式變為θ1*x,所以我只有乙個引數,唯一的區別是現在 h(x) 等於 θ1*x,只有乙個引數 θ1 ,所以我的 優化目標是將 j(θ1) 最小化,用圖形來表示就是如果θ0 等於零,也就意味這我們選擇的假設函式會經過原點。如下圖所示。

試著更好的理解代價函式這個概念,我們需要理解這兩個重要的函式,乙個是假設函式,乙個是代價函式。

假設函式就是乙個關於x房子大小的函式,與此不同的數,代價函式是關於θ1的函式,而θ1控制著這條直線的斜率,我們將這些函式畫出來,試著更好的理解它們,如下圖所示。

先從假設函式開始,我們的資料集包含了三個點(1,1)(2,2),(3,3)。選擇θ1=1,我們的假設函式看起來就是下圖所示的一條直線,橫軸表示的是房子的**x。我們將θ1定為1,我們想要做的是算出在θ1=1的時候j(θ1)是多少。

所以我們按照這個思路來計算代價函式的大小和之前一樣代價函式定義如圖中所示, 對這個誤差平方項進行求和,簡化以後就等 三個0的平方和,當然還0。 現在在代價函式裡,我們發現所有這些值都等於0 因為對於我所選定的這三個訓練樣本 ( 1 ,1 ) (2,2) 和 (3,3) ,如果 θ1 等於 1 那麼 h(x(i)) 就會正好等於 y(i),所以 h(x) - y 所有的這些值都會等於零,這也就是為什麼 j(1) 等於零。

在下圖的右邊是對應的代價函式,要注意的是我們的代價函式是關於θ1的函式,當我們描述代價函式的時候,橫軸表示的是θ1,j(1)等於0,我們有了乙個點,我們來看其他一些樣本,θ1可以被設定為某個範圍內的各種取值,可以使負數等,如果θ1=0.5會發生什麼?

如下圖所示,我們發現代價函式後面的求和,就是藍色線段的高度的平方求和,我們可以計算出j(0.5)=0.58,如下圖中所示,將這個點在右邊圖中畫出來,

這樣一步步的得到更多的點,我們就可以一步步的畫出代價函式對應的曲線。如下圖右邊所示。

我們回顧一下,對於不同的θ1的取值,對應著不同的假設函式,或者說對應於左邊一條不同的擬合直線,對於任意的θ1,你可以計算出不同的j(θ1),我們可以利用這些畫出右邊的這條曲線。現在,你還記得學習演算法的優化目標是我們想找乙個θ1,使得j(θ1)最小,看圖中j(θ1)的曲線可以知道,使j(θ1)最小的θ1的值是1,從圖中的左邊可以看出,θ1=1確實對應著最佳的資料擬合直線,我們最後能夠完美的擬合,這就是為什麼最小化j(θ1),對應著尋找乙個最佳擬合直線的目標。

這裡我們使用圖形幫助我們理解代價函式,為了便於理解,我們將θ0設定為0,下面我們將回到原來的問題,即不將θ0設定為0,畫出存在θ1和θ0的代價函式的圖形,希望能夠幫助我們更好的理解代價函式。

3.1.2 代價函式intuition ii

這一小節,我們將更加深入的學習代價函式的作用,和之前一樣,下圖所示的是幾個重要的公式,包含了假設h、引數θ、代價函式、以及優化目標goal。與上一節不同的是我們將假設函式寫為關於θ0和θ1的函式。

首先我們同樣來理解假設函式和代價函式,存在兩個引數的時候,可能會得到如下所示的乙個三維曲面圖,下面的兩個軸分別表示θ0和θ1,縱軸表示j(θ0,θ1),你改變θ0和θ1,會得到不同的代價函式j(θ0,θ1),j(θ0,θ1)對於某個特定的(θ0,θ1),這個曲面的高度,也就是豎直方向的高度,就表示代價函式j(θ0,θ1)的值。

後面不再使用三維曲面圖來解釋代價函式,將使用輪廓圖(contour plot/figure)來進行解釋。如下圖右邊所示就是乙個輪廓圖。

橫軸表示的是θ0,縱軸表示的是θ1,而這些一圈一圈的橢圓形,每乙個圈表示j(θ0, θ1)相同的所有點的集合。一系列同心橢圓的中心點就是最小值。其實輪廓圖就是等高線圖,相當於三維曲面圖在乙個平面上的投影。

接下來讓我們看幾個簡單的例子,在這裡有乙個點(藍色標記的),θ0是800,θ1是大概是-0.15,這個(θ0,θ1)組,對應於左邊這樣一條假設函式直線,與縱軸相交的地方是800,斜率大概是-0.15,但是這條直線不能很好的擬合所有資料,你也發現了,這個代價值所在的位置離中心點(最小值)也比較遠,也就是說這個代價值是比較遠的。如下圖所示。

後續我們將遇到更高維度、更多引數、更加複雜的情況。我們需要做的是編寫程式自動找出θ0和θ1這樣的值。下一節將介紹一種能夠自動找出θ0和θ1的演算法。

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

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

BP神經網路(四) 代價函式

用於分類的代價函式 神經網路的代價函式一般與線性回歸模型和邏輯回歸模型的代價函式相同,將神經網路用於分類則採用負的對數似然當作其代價函式,對於回歸則採用均方誤差作為代價函式。代價方程定義為 注 m為資料集的數量,k為輸出的數量 分類數 用於回歸的代價函式 採用均方誤差損失函式。補充 對於損失函式的選...

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

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