1. 程式人生 > >第二章:單變數線性迴歸

第二章:單變數線性迴歸

目錄

單變數線性迴歸(Univariate linear regression)

介紹

一個數據集也被稱為一個訓練集

  • 資料集的表示
    m :資料集樣本容量
    (x,y) :一個樣本,x為輸入,y為輸出
    x (
    i ) x^{(i)}
    :第i個樣本的輸入 , y ( i
    ) y^{(i)}
    :第i個樣本的輸出
  • 學習演算法的任務就是根據訓練集來輸出一個函式,這個函式能夠根據input來預測output
    在這裡插入圖片描述
    定義代價函式(平方誤差代價函式:square error cost function )
    J (
    θ 0 , θ 1 ) = 1 2 m i n ( h θ ( x ( i ) ) y ( i ) ) 2 J(\theta_0,\theta_1)=\frac{1}{2m}\sum_i^n(h_\theta(x^{(i)})-y^{(i)})^2

    其中 h θ ( x i ) = θ 0 + θ 1 x ( i ) h_\theta(x^{i})=\theta_0+\theta_1x^{(i)}
    為我們要求出的預測函式。
    我們要做的事是求出 θ 0 θ 1 \theta_0和\theta_1 使得代價函式最小。
  • ** 梯度下降法**( Gradient Descent)
    給出一個函式 J ( θ 0 , θ 1 , . . . , θ n ) J(\theta_0,\theta_1,...,\theta_n) 梯度下降法可以求得其取最小值時,引數 θ 0 , θ 1 , . . . θ n \theta_0,\theta_1,...\theta_n 的值。
    • 過程(此處的梯度下降法為“Batch” Gradient Descent,每一步更新都會遍歷整個資料集,還有其他的梯度下降法)
      repeat until convergence {
      θ j : = θ j α θ j J ( θ 0 , θ 1 ) \theta_j := \theta_j-\alpha\frac{\partial}{\partial \theta_j}J(\theta_0,\theta_1) ( j = 0   a n d   j = 1 ) (j=0\ and\ j=1)
      }
      α \alpha 被稱為學習率(learning rate),它決定了梯度下降的速度
    • 同時更新
      t e m p 0 : = θ 0 θ 0 J ( θ 0 , θ 1 ) temp0 := \theta_0-\frac{\partial}{\partial \theta_0}J(\theta_0,\theta_1)
      t e m p 1 : = θ 1 θ 1 J ( θ 0 , θ 1 ) temp1 := \theta_1-\frac{\partial}{\partial \theta_1}J(\theta_0,\theta_1)
      θ 0 : = t e m p 0 \theta_0:=temp0
      θ 1 : = t e m p 1 \theta_1:=temp1
    • 梯度下降法單變數時的直觀解釋
      在這裡插入圖片描述
    • 學習率 α \alpha 的直觀解釋
      在這裡插入圖片描述

線性迴歸的梯度下降

根據公式,求偏導代入即可
在這裡插入圖片描述