Machine Learning學習日記 — Coursera篇 (Week 1.2):Model representation, Cost function

Pandora123
6 min readApr 10, 2016

--

Linear Regression with One Variable(上)

Linear regression predicts a real-valued output based on an input value

綱要

  1. Model representation
  2. Cost function

1. Model representation

set:集合|Notation:符號|features:特性|target:目標|i th:第i個

大略描述一下之後會用到的符號意義,比較容易混淆的應該是x’s, y’s的表達

Hypothesis:假設|estimated:估計的|Univariate:單一變數

左圖大概就是machine learning的big picture,意思就是藉由learning algorithm來不斷改進hypothesis的預測精準度

右圖是一種表達hypothesis的方式:線性回歸的函數:hθ(x) = θ0+θ1*x。而hypothesis並不一定是線性的函數,它也有可能為非線性函數(各種曲線、畫不出來的形狀…)

2. Cost function

(以下皆為線性回歸函數)

Parameters:參數

那麼問題來了,如果給了一大群資料,那麼要怎麼選出最精準的參數呢?

可能會有人不懂為什麼要選什麼最精準的參數,下面的一張圖勝過千言萬語

選參數的原因就是為了能最貼近我們的訓練資料的分佈,才能在未來更加精準的預測未來的資料

下圖說明learning algorithm的目的

簡單的說,這個就是最小化”預測跟實際”的差距。

大家可能開始對下面這個頗長的函式有點壓力了

所以先注目著左方的J(θ0,θ1)就好,而這個J(θ0,θ1)就是我們要盡可能縮小的cost function

可能你會對為什麼要除以2m(而不是m)有疑問,應該是出於之後微分計算方便的考量:(節錄網上)

…it makes no difference, as you’ll get the same answer for your parameters (θ0, θ1, …, θn). My best guess is due to the fact that your cost function is quadratic(二次方的), when you take the partial derivative, and the derivative of y=x^k is kx^(k-1)dy/dx (chain rule), that you want the 2 from the power(次方項) to cancel with the 2m so you just get 1/m after taking the partial derivative(偏微分).

Parameter:參數

我知道大家一定會被hθ(x)跟J(θ0,θ1)搞的很混亂,慢慢來沒關係

先來想想我們的目的:要找到最精準的θ

所以我們使用J(θ0,θ1)這個函數,藉由輸入不同的θ0跟θ1來最小化所有預測跟現實的差距總和,以找出最好的θ0跟θ1。

再往J(θ0,θ1)裡面看深一點(Σ指的是後面那一大串函式的總和)

hθ(x)指的則是當給予固定的θ後,我們輸入不同的x值時,所得出的預測值

所以hθ(x)算出來的正是所謂的”預測”,y值則是”現實”

口說無憑,來看張圖吧

紅色的X就是我們被給予的資料(現實),而黑色的線代表著我們的函式hθ(x)所包含的x與y對應值。而所謂預測與現實的差距就是藍色的線。

所以為了做出更精準的預測,我們就要將這條線(不一定是線性)盡量貼近我們的資料集,而J(θ0,θ1)所輸入的每一個θ0,θ1、每一次嘗試都是在畫出一大堆黑色的線(圖中只有一條)來算”預測跟現實”的差距

這也就是為什麼我們要最小化”預測跟現實”的差距(藍色的線總和)

(不然你哪知道那一大堆黑色的線(hθ(x))誰最貼近現實啦!!)

隨堂練習:

plotted:繪製

Ans: 14/6

J(0)大概就像是畫了一條黑色的線在X軸上,然後問你cost function是多少

所以答案就是((0–1)^2+((0–2)^2)+(0–3)^2)/2m(m=3筆資料)

在經過一連串的嘗試後,我們試出了大大小小的J(θ)

在此圖中,我們會發現J(θ)的最小值是:當θ為1時發生。這就是之後可能再不斷的試驗中所能找到的θ最佳解。

剛剛都是在討論一個變數θ時的例子,那麼當今天出現兩個變數(θ0,θ1)呢?

大概就長的像這樣,一個3D圖的概念,而我們所要做的一樣是找到這張圖的最底層以最小化J(θ0,θ1)

Current hypothesis:目前的hypothesis

右邊那張圖,把它想像成是上面那張3D圖的俯視圖就好,所有的被橫切到的邊線都會像橢圓型一樣一圈一圈的呈現

每一圈上面的J(θ0,θ1)都是一樣的(橫切!),而我們所做的每一個嘗試都會落到其中一個圓圈的邊線上

以θ0=360,θ1=0為例,這將為構出一個h(x) = 360 + 0*x 的線,成為了左圖與X軸平行的直線,而其與每個資料的差距和將決定右圖中紅色的X所座落的位置。

--

--