1. 程式人生 > >Stanford機器學習課程(Andrew Ng) Week 1 Model and Cost Function --- 第二節 Cost Function

Stanford機器學習課程(Andrew Ng) Week 1 Model and Cost Function --- 第二節 Cost Function

Cost Function

在學習線性迴歸之前,我們有必要補充代價函式的知識,來幫助我們弄清楚如何把最有可能的直線和我們的資料相擬合。

這裡寫圖片描述

還是上節課的資料集,而假設函式也是這樣的一個最基本的線性函式形式

我們把θi稱為模型引數,而且我們將討論如何選擇不同的θ0和θ1

這裡寫圖片描述

我們想要選擇合適θ0和θ1來使直線最好的擬合圖中的資料點。
所以這裡有一個最小化的概念就是使假設函式與訓練樣本之間的誤差最小

  • 圖中右上角的式子,求取訓練集中每一個樣例的假設值與真實值的差的平方,再進行求和,平均,最終得到平均誤差。我們要做的就是儘量最小化這個平均誤差
  • 將式子改寫代價函式的形式就是右下角的式子,意為求出使代價函式J(θ0, θ1)
    最小的θ0和θ1,所以代價函式也成為平方誤差代價函式
  • 平方誤差代價函式可能是解決迴歸問題最常用的一種代價函式

Cost Function Intuition1:

下面我們通過一些例子來獲取一些直觀的感受:

為了更好的理解代價函式,
我們使用更為簡化的一個例子h(x) = θ1x

這裡寫圖片描述

兩個重要函式h(x) and J(x)

假設函式h(x)是對於固定的θ1,這是一個關於x的函式,θ1控制斜率

代價函式J(x)是關於引數θ1的函式

假設我們訓練樣本包含三個點(1 , 1),(2 , 2),(3 , 3)

這裡寫圖片描述

假設θ1 = 1,我們算出θ1 = 1 時候的代價函式為0+0+0=0

並且我們在J(θ)上找到θ1= 1時候對應的點(1 , 0)

所以如果θ1=0.5的時候會發生什麼呢

這裡寫圖片描述

從圖中我們也可以看出h(θ)和y之間的差值其實就是特徵點與直線之間的距離

如過θ為0呢?

這裡寫圖片描述

假設函式直接和x軸重合,當然θ值也可以為負,不過相應的代價函式點可能會非常的大。計算更多的值我們可以看到J(θ1)的樣子了

  • J(θ)中任何一個點都對應著代價函式的一條擬合直線。
  • 所以θ1=1時可以獲得最佳擬合的直線。

Cost Function Intuition2:

兩個引數

上面為了更好的視覺化代價函式,將θ0設為了0.
而下面我們將使用兩個值

來計算代價函式。

這裡寫圖片描述

先假設一個假設函式,但並不是很好的擬合數據。

這裡寫圖片描述

根據給出的θ0和θ1的值。我們在右邊畫出代價函式的影象,但是我們現在有兩個引數,不好畫出,但是仍會呈現出弓形:

這裡寫圖片描述

下面兩個軸代表θ0和θ1,縱軸代表某個特定的點(θ0 , θ1)代價函式的大小

輪廓圖表示代價函式

這裡列出了不同值情況下的代價函式影象

這裡寫圖片描述

這裡每一圈代表表示J(θ0 , θ1)相同的所有點的集合,左邊就是相應的假設函式,比如上圖中的(800,-0.15)點離中心圓很遠,就代表還遠沒有達到最佳的擬合效果。

這裡寫圖片描述
這裡寫圖片描述

從圖中看出有的點和離中心比較近,相應的假設函式也看起來能更好的劃分資料。

但是畫出這些圖相當麻煩,所以我們要尋找一種方法能自動找出是這些代價函式J取最小值的引數θ0和θ1。