吳恩達Coursera機器學習 - Chapter 4 多變量線性迴歸

Chapter 4 – 多變量線性迴歸(Linear Regression with Multiple Variables)

相比第二章,這一章無非就是數據集的特徵數由一個變爲多個,並引入了矩陣的概念。在第二章和高等數學的基礎上,學起來也挺快的。算法

多變量的線性迴歸

  • 新的假設函數

    這裏咱們引入新的變量n($n \geq 2$),表明模型/函數的變量數目。函數

$$ h\left( x \right) = \theta^{T}X = \theta_{0} + \theta_{1}x_{1} + \theta_{2}x_{2} + \ldots + \theta_{n}x_{n} $$學習

  • 代價函數的表示沒變
  • 梯度降低函數的表示也沒變,但要提一提

    因爲h(x)的改變,求導後梯度降低算法變爲:
    clipboard.png
    如此循環直至收斂。
    以n=2爲例,大括號內可寫做:
    clipboard.png
    對了,$x_0$就是1,加進來是爲了統一。spa

特徵縮放

保持特徵值有相近的尺度將使$J\left( \theta_{0},\ \theta_{1}\right)$更快收斂。當數據的各特徵值不在一個量級時,咱們能夠將他們的尺度縮放到-1~1之間。blog

最簡單的方法是令:$x_{n} = \frac{x_{n} -\mu_{n}}{s_{n}}$,其中$\mu_{n}$爲平均值,$s_{n}$爲標準差。ip

多項式迴歸

線性迴歸並不適用於全部數據,有時可能用到二次方或三次方模型。這種狀況下,先觀察數據再決定嘗試什麼樣的模型。有種方法是這樣的,如:令$x_{2}= x_{2}^{2},\ x_{3} = x_{3}^{2}$,從而將二次方模型轉化爲線性模型數學

正規方程

  • 原理:求解$\frac{\partial}{\partial\theta_{j}}J\left( \theta_{j}\right) = 0$
  • 正規方程表示:$\theta = {(X^{T}X)}^{- 1}X^{T}y$
    其中X爲訓練集的特徵矩陣,y爲目標變量的矢量
注意:線性代數中,定義方陣可逆的充分必要條件爲方陣的行/列向量線性無關,所以,若特徵之間不獨立或特徵數量大於訓練集數量,正規方程沒法使用。(後面所學的正則化方法能夠在大量特徵值和少許樣本的狀況下,依然能求解θ)
  • 正規方程與梯度降低算法的比較
正規方程 梯度降低
不須要多餘參數 須要選擇學習率α
一次計算完成 須要屢次迭代
矩陣逆計算的時間複雜度爲$O(n^{3})$
適合n較小的狀況,通常n<10000
特徵數量n較大時適用
僅適用於線性模型 適用各類類型的模型
相關文章
相關標籤/搜索