【原】Coursera—Andrew Ng機器學習—課程筆記 Lecture 2_Linear regression with one variable 單變量線性回歸


  Lecture2   Linear regression with one variable  單變量線性回歸

2.1 模型表示 Model Representation

2.1.1  線性回歸 Linear regression

2.1.2 單變量線性回歸  Linear regression with one variable

2.2 代價函數 Cost Function

2.2.1  如何選擇模型的參數 θ

2.2.2  建模誤差 modeling error

2.2.3  平方誤差代價函數 Squared error cost function

  2.3 代價函數的直觀理解 I

     2.4 代價函數的直觀理解 II

  2.5 梯度下降 Gradient descent

2.5.1  局部最優解 local optimum

2.5.2  梯度下降算法 Gradient descent algorithm

   2.6 梯度下降的直觀理解

2.6.1  梯度下降算法的更新規則

2.6.2   學習速率 α 的選擇

2.6.3   不調整學習速率 α 也能收斂

  2.7 梯度下降的線性回歸

2.7.1  梯度下降和線性回歸相結合

2.7.2  批處理梯度下降 batch gradient descent

  2.8 接下來的內容

 

2.1 模型表示 Model Representation

  參考視頻: 2 - 1 - Model Representation (8 min).mkv

  本節引入第一個監督學習算法:線性回歸 Linear regression。其中只有一個參數的線性回歸算法叫做 單變量線性回歸 Linear regression with one variable。

 2.1.1  線性回歸 Linear regression

   還是房價預測的例子, 訓練集如下:

      

    定義各個變量的含義如下:

m      代表訓練集中實例的數量
x     代表特征/輸入變量
y     代表目標變量/輸出變量
(x,y)     代表訓練集中的實例
(x(i),y(i))    代表第 i 個觀察實例:其中x(i) 代表第i個輸入變量, y(i)代表第i個目標變量
h     代表學習算法的解決方案或函數,也稱為假設(hypothesis)

2.1.2 單變量線性回歸  Linear regression with one variable

     h 根據輸入的 x 值來得出 y 值, y 值對應房子的價。因此, h 是一個從x y 的函數映射。

 

h 的一種可能的表達方式如下。因為只含有一個特征/輸入變量,這樣的問題叫作單變量線性回歸問題。

        

 

2.2 代價函數 Cost Function

參考視頻: 2 - 2 - Cost Function (8 min).mkv

  線性回歸算法優化的目標是:選取最有可能與數據相擬合的直線。數據與直線的誤差,稱為建模誤差 modeling error。為了使建模誤差最小,我們需要調整參數θ0 和 θ1,使得代價函數Cost function J(θ0, θ1)的值最小。

  在各種代價函數中,最常用的是平方誤差代價函數 Squared error cost function

2.2.1  如何選擇模型的參數 θ

    因為 h 是一次方程,它對應兩個模型參數(parameters) θ0 和 θ1

   

 

   選取不同的參數 θ0 和 θ1,產生的 h 不同,最終的直線也不同:

 2.2.2  建模誤差 modeling error

參數決定了直線相對於訓練集的准確程度,模型所預測值 與 訓練集實際值 之間的差距(下圖中藍線所指)就是 建模誤差(modeling error

 

    調整參數 θ0 和 θ1,目標:使建模誤差的平方和最小

 

 2.2.3  平方誤差代價函數 Squared error cost function 

  為了使建模誤差最小,需要 使代價函數 J(θ0, θ1) 最小,公式如下。其中 h(x) - y 是預測值和實際值的差,取其平方和。m 指的是數據集的大小,乘以1/2m 是為了便於計算。這個J(θ0 ,θ1)  通常稱為 平方誤差函數(Squared error function),有時也被稱為 平方誤差代價函數(Squared error cost function)

       

    下面公式的意思是:尋找θ0 和 θ1,使得 J 值最小。

                                     

 

我們繪制一個等高線圖, 三個坐標分別為 θ0 和 θ1 J(θ0 和 θ1),則可以看出在三維空間中存在一個點,使得 J(θ0 和 θ1)最小

     

 

      

2.3 代價函數的直觀理解 I

  參考視頻: 2 - 3 - Cost Function - Intuition I (11 min).mkv

    線性回歸模型的假設、參數、代價函數、目標如下:

取將 θ0 固定為 0時,代價函數簡化為只關於 θ1 的函數:

  下面的例子里,三個數據點的坐標是(1,1)(2,2)(3,3)。當將 θ0固定為0,只變化 θ1 代價函數是一條二次曲線。

  當 θ1 分別取值1,0.5,0的時候,對應左邊從上到下三條曲線。

  當 θ1 取1時,J(θ1) = 0 , 此時 J(θ1) 最小,處於曲線最低點,是我們想要的結果。

 

 

2.4 代價函數的直觀理解 II

  參考視頻: 2 - 4 - Cost Function - Intuition II (9 min).mkv

    當 θ0 和 θ1 都發生變化時,代價函數 J(θ0 , θ1) 在三維空間中圖形如下:

 

   因為三維圖像看起來太復雜, 將它投射到二維平面。引入等高線contour plot 的概念,也叫contour figure。等高線上的點,對應的代價函數 J(θ0 , θ1) 取值相同。

     下面兩個圖,右邊紅點對應的直線如左圖,可以看出擬合的都不好。

    

  下圖取值位於三維圖形的最低點,在二維圖形上位於等高線的中心。對應的假設函數 h(x) 直線如左圖。雖然擬合數據有一些誤差(藍色豎線),但是已經很接近最小值了。

 

 

2.5 梯度下降 Gradient descent

   參考視頻: 2 - 5 - Gradient Descent (11 min).mkv

2.5.1  局部最優解 local optimum

   已有一個代價函數,我們的目的是使其最小化。通常情況下,始於θ0=0 , θ1=0,調整θ0 , θ1,止於J(θ0 , θ1) 的最小值。

  下面這個例子,θ0 和θ1沒有開始於0,0。當選取兩個不同的起始點,並向着不同方向進行梯度下降時,到達兩個不同的最優解,它們稱為局部最優解local optimum。

2.5.2  梯度下降算法 Gradient descent algorithm

  梯度下降算法對 θ賦值, 使得 J(θ)按梯度下降最快方向進行, 一直迭代下去, 最終得到局部最小值,即收斂 convergence梯度下降算法不只用於線性回歸, 可以用來最小化任何代價函數 J。公式如下,

  梯度下降算法中,兩個參數 同步更新 simultaneous update(左下)。如果是同步更新 non-simultaneous update (右下),則不是梯度下降。

 

   a := b 是賦值操作 assignment ,將 b 的值賦值給 a。

   a = b  是真值斷言Truth assertion,判斷 a 和 b 是否相等。

   α   是 學習速率 learning rate決定了沿着能讓代價函數下降程度最大的方向向下邁出的步子有多大。

2.6 梯度下降的直觀理解

  參考視頻: 2 - 6 - Gradient Descent Intuition (12 min).mkv

2.6.1  梯度下降法的更新規則

    梯度下降算法如下圖:

  求導的目的,基本上可以說取這個紅點的切線,即這條紅色直線。由於曲線右側斜率為正,導數為正。 因此,θ1 減去一個正數乘以 α,值變小

曲線左側斜率為負,導數為負。 因此,θ1 減去一個負數乘以 α,值變大。

2.6.2   學習速率 α 的選擇

  如果 α 太小,只能小碎步下降,需要很多步才能到達全局最低點,很慢。
  如果 α 太大,那么算法可能會越過最低點。一次次越過最低點,離它越來越遠。會導致無法收斂, 甚至發散。

2.6.3   不調整學習速率 α 也能收斂

假設將 θ1初始化在局部最低點。導數為0,會使得 θ1不再改變,不會改變參數的值。也解釋了為什么即使學習速率 α 保持不變時, 梯度下降也可以收斂到局部最低點。



為什么不用調整α也能到達局部最優點?因為梯度下降一步后, 新的導數會變小,移動的幅度會自動變小。直到最終移動幅度非常小時,已經收斂到局部極小值。

 

 

2.7 梯度下降的線性回歸 Gradient Descent For Linear Regression

參考視頻: 2 - 7 - GradientDescentForLinearRegression (6 min).mkv

2.7.1 梯度下降和線性回歸相結合  

  將平方誤差函數 h(x), 結合梯度下降法, 以及平方代價函數J(Θ),得出第一個機器學習算法, 即線性回歸Linear Regression

梯度下降算法和線性回歸模型的比較:

 

對之前的線性回歸問題運用梯度下降法,關鍵在於求出代價函數的導數,即:

j 分別取 0 和 1 時,其導數如下:

  

  將上面兩個導數帶入梯度下降算法中,替代原來的 。梯度下降算法變為:

雖然梯度下降一般易受局部最小值影響 susceptible to local minima,但我們在線性回歸中提出的優化問題只有一個全局最優解,而沒有其他局部最優解,代價函數是凸二次函數。因此,梯度下降總是收斂到全局最小值(假設學習率α不是太大)

 

 2.7.2  批處理梯度下降 batch gradient descent

  上面使用的算法也叫批處理梯度下降 batch gradient descent,指的是梯度下降的每一步都涉及到所有的訓練實例。也有其他類型的非批處理梯度下降法,每次只關注訓練集中一些小子集。

  高等線性代數中有一種計算代價函數 J 最小值的數值解法,不需要梯度下降這種迭代算法,也能解出代價函數 J 的最小值,這是另一種稱為正規方程(normal equations)的方法。實際上在數據量較大的情況下,梯度下降法比正規方程要更適用一些。

2.8 接下來的內容

  參考視頻: 2 - 8 - What_'s Next (6 min).mkv

    介紹了一點線性代數 Linear algebra

相關術語

線性回歸    Linear regression
單變量線性回歸  Linear regression with one variable

代價函數    Cost Function
平方誤差代價函數 Squared error cost function
建模誤差    Modeling error
等高線  contour plot 、contour figure
梯度下降    Gradient descent
批處理梯度下降     Batch gradient descent

學習效率  Learning rate
同步更新  simultaneous update
非同步更新 non-simultaneous update

局部最優    local optimum
全局最優    global optimum
全局最小值     global minimum
局部最小值     local minimum

微分項        derivative term
微積分        calculus
導數    derivatives
偏導數        partial derivatives
負導數        nagative derivative
負斜率        nagative slope

收斂            converge
發散            diverge
陡峭            steep
碗型            bow-shaped function
凸函數        convex function

線性代數     linear algebra
迭代算法     iterative algorithm
正規方程組     normal equations methods
梯度下降的泛化     a generalization of the gradient descent algorithm
越過最低點        overshoot the minimum

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM