1. 程式人生 > >資料學習(1)·線性迴歸和Logistic迴歸

資料學習(1)·線性迴歸和Logistic迴歸

本系列是作者上課時記錄的筆記整理,同時有對應的作業習題,自學的同學參考部落格同步即可。郵箱聯絡[email protected]

Preview:

監督學習(第一部分)

  • 線性迴歸
  • Logistic迴歸
  • Softmax迴歸

程式設計作業


Review:

監督學習:
輸入 χ \chi ,目標 ψ

\psi ,通過給出訓練樣本,我們希望學習到一個假設函式 h : χ ψ h:\chi\rightarrow\psi
,所以 h ( x ) h(x) y y
的一個好的預測器。
結構圖
如果 y y 是離散的,我們稱為分類問題。如果 y y 是連續的,我們稱為迴歸問題。


1 線性迴歸

線性迴歸
h ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 h(x)=\theta_0+\theta_1x_1+\theta_2x_2
θ i \theta_i 稱為引數。
使用向量標記:
h ( x ) = θ T x , θ = [ θ 0 θ 1 θ 2 ] , x = [ 1 x 1 x 2 ] h(x)=\theta^Tx,\theta=\begin{bmatrix} \theta_0\\ \theta_1\\ \theta_2 \end{bmatrix},x=\begin{bmatrix} 1\\ x_1\\ x_2 \end{bmatrix}
最小二乘法
損失函式:
J ( θ ) = 1 2 i = 1 m ( h ( x ( i ) ) y ( i ) ) 2 J(\theta)=\frac{1}{2}\sum_{i=1}^m(h(x^{(i)})-y^{(i)})^2
x ( i ) x^{(i)} 表示第幾個樣本,而 x i x_{i} 表示 x x 的第幾個特徵。
最小二乘法
總結最小二乘法問題:
m i n θ J ( θ ) = m i n θ 1 2 i = 1 m ( h ( x ( i ) y ( i ) ) ) 2 min_\theta\quad J(\theta)=min_\theta\frac{1}{2}\sum_{i=1}^m(h(x^{(i)}-y^{(i)}))^2
最小化損失函式的方法:

  • 數值解法(梯度下降,牛頓方法)
  • 分析解法(正規方程)

1.1 梯度下降

利用一階導數優化,來發現最優值。
梯度下降
如果 J ( θ ) J(\theta) 是凸的,那麼梯度下降演算法一定可以找到全域性最優解。
要點:

  • 隨機開始
  • 迭代計算 θ \theta

對最小二乘法來說:
m i n θ J ( θ ) = m i n θ 1 2 i = 1 m ( h ( x ( i ) ) y ( i ) ) 2 = 1 2 i = 1 m ( θ T x ( i ) y ( i ) ) 2 min_\theta\quad J(\theta)=min_\theta\frac{1}{2}\sum_{i=1}^m(h(x^{(i)})-y^{(i)})^2=\frac{1}{2}\sum_{i=1}^m(\theta^Tx^{(i)}-y^{(i)})^2
J ( θ ) = [ J ( θ ) θ 1 . . . J ( θ ) θ n ] , \bigtriangledown J(\theta)=\begin{bmatrix}\frac{\partial J(\theta)}{\partial \theta_1}\\ ...\\ \frac{\partial J(\theta)}{\partial \theta_n} \end{bmatrix},