1. 程式人生 > >第二週(多變數線性迴歸 +Matlab使用)-【機器學習-Coursera Machine Learning-吳恩達】

第二週(多變數線性迴歸 +Matlab使用)-【機器學習-Coursera Machine Learning-吳恩達】

目錄:
    多變數線性迴歸(模型、梯度下降技巧)
    特徵選擇和多項式迴歸
    正規方程

    Matlab學習

1 多變數線性迴歸

1)模型

- 假設函式:


- 引數:全部的 theta
- 代價函式:和單變量回歸一樣

- 梯度下降:

2)梯度下降演算法的實用技巧

    - 特徵縮放(Feature Scaling)

    均值歸一化


    u為該特徵平均值;s為範圍,也就是max-min

    - 學習率 alpha

    0.001,0.01,0.1……直到開始發散

    (alpha太小,收斂太慢;alpha太大可能會發散)

2 特徵選擇和多項式迴歸

特徵是有很多選擇的,利用一些多項式,可以實現非線性迴歸(特別注意特徵縮放)


3 正規方程(Normal equation)

直接一次性利用公式求 引數theta

在某些線性迴歸中,用正規方程法求最多引數theta的最優值更好。


Octave:theta = pinv(x' * x) * x' *y


    - 辨析梯度下降和正規方程法


(在n達到一萬左右時,考慮換成梯度下降法,其它時間用正規方程比較好)

    - 如果出現XTX不可逆怎麼辦?
    解:在Octave中實用pinv求逆矩陣,總可以給出一個值,即使不可逆
    從原因中找解決辦法,造成不可逆的原因在於:
    (1)冗餘的特徵,2個特徵關係非常密切

    (2)太多的特徵值了(eg:m<=n)

4 Octave/Matlab學習:

1)基本操作:包含輸入變數、矩陣
2)資料移動:裝載資料檔案、資料儲存、矩陣簡單操作
3)資料的計算:針對矩陣資料的個各種運算與方法
4)圖資料:plot、
5)控制語句、函式
6)向量化