1. 程式人生 > >吳恩達機器學習(二)多元線性迴歸(假設、代價、梯度、特徵縮放、多項式)

吳恩達機器學習(二)多元線性迴歸(假設、代價、梯度、特徵縮放、多項式)

目錄

0. 前言

學習完吳恩達老師機器學習課程的多變數線性迴歸,簡單的做個筆記。文中部分描述屬於個人消化後的理解,僅供參考。

0. 前言

多元線性迴歸(Multivariate Linear Regression)是多個變數的線性迴歸函式。初始作如下定義:

  • n --- 特徵的數量
  • x^{(i)} --- 第 i 個樣本
  • x_{j}^{(i)} --- 第 i 個樣本的第 j 個特徵

1. 假設函式(Hypothesis)

用一線性函式擬合樣本資料集,與單變數線性迴歸不同的是,其中的變數 x 有多個,給出如下定義:

\LARGE h_{\theta}=\theta_{0}+\theta_{1}x_{1}+\theta_{2}x_{2}+...+\theta_{n}x_{n}

我們可定義 x_{0}=1 \ or\ x_{0}^{(i)}=1,則可將 \vec{x} 和 \vec{\theta} 寫成 x=\begin{bmatrix} x_{0} \\ x_{1} \\ ...\\ x_{n} \end{bmatrix} 和 \theta=\begin{bmatrix} \theta_{0}\\ \theta_{1}\\ ...\\ \theta_{n} \end{bmatrix},則 h_{\theta} 可定義成如下:

\LARGE h_{\theta}=\theta^{T}x

2. 代價函式(Cost Function)

\LARGE J(\theta)=\frac{1}{2m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2

3. 梯度下降(Gradient Descent)

\LARGE \theta_{j}:=\theta_{j}-\alpha \frac{\partial }{\partial \theta_{j} }J(\theta)\\ \Rightarrow \theta_{j}:=\theta_{j}-\alpha \frac{1}{m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})x_{j}^{(i)}

4. 特徵縮放(Feature Scaling)

假設多元線性迴歸中的兩個變數 x_{1}\in (0,2000)\ x_{2} \in (0,5),由於它們的取值範圍相差甚遠,會造成梯度下降的收斂速度慢,可將其歸一化於 (0,1) 之間,可加快梯度下降的收斂。有時,可採用均值歸一化(Mean normalization),給出定義如下:

\LARGE x_{i}=\frac{x_{i}-\mu_{i}}{s_{i}}

其中,\mu_{i} 為均值,s_{i} 為取值範圍的最大值減去最小值。

注:不一定需要歸一化至 (-1,1),只需要幾個變數的取值範圍相對合適接近,即可。

5. 多項式迴歸方程(Polynomial Regression)

對於 h_{\theta}=\theta_{0}+\theta_{1}x+\theta_{2}x^{2}+\theta_{3}x^{3},可令 x_{1}=x ,\ x_{2}=x^{2},\ x_{3}=x^{3},再採用多元梯度下降即可。但對於這種情況,不同變數之間的取值範圍可能相差很大,特徵縮放是必要的

。有時也可採用平方根進行擬合,h_{\theta}=\theta_{0}+\theta_{1}x+\theta_{2}\sqrt{x}+...