吴恩达机器学习 -- 多变量线性回归
5.1 多維特征
前一周所講是單變量線性回歸,即 ,是只有一個變量 的假設函數,現在對房價預測模型有了更多的參考特征,比如樓層數,臥室的數量,還有房子的使用年限。根據這些特征來預測房價。此時的變量有多個。 構成一個含有多個變量的模型,模型中的特征為
一些注釋:
:特征的數量
:第 i 個樣本的特征向量
:第 i 個樣本的 特征向量中的第 j 個特征
那么,線性回歸的多變量假設函數變為 ,式子中有n+1個參數和n個變量。為了公式簡化,引入 ,公式變為
此模型中,參數是一個n+1維的向量,任何一個訓練實例也都是n+1維的向量,公式就簡化為
?
5.2 多變量梯度下降
和單變量線性回歸一樣,構造多變量模型的代價函數 :
其中
與單變量線性回歸梯度下降相同,多變量線性回歸梯度下降算法為: ,
求導后 :
然后隨機選擇一系列的參數值,計算所有的預測結果后,再給所有的參數一個新的值,如此循環直到收斂。
5.3 梯度下降法實踐1-特征縮放
如果多個特征的取值范圍差距懸殊過大,會導致梯度下降收斂速度較慢。因此我們要保證這些特征都具有相近的尺度,這樣就可以使梯度下降算法更快地收斂。
解決的方法是嘗試將所有特征的尺度都盡量縮放到-1到1之間。
最簡單的方法是令:,其中 是平均值,是標準差(或者是特征的范圍max-min)。
5.4 梯度下降法實踐2-學習率
梯度下降法迭代次數隨不同模型而不同,提前無法預知。但我們可以通過兩種方法來觀察 算法在何時趨于收斂。
(1)繪制迭代次數與 代價函數的圖表
(2)自動測試是否收斂的方法:例如將代價函數的變化值與某個閥值(例如0.001)進行比較
梯度下降算法的每次迭代受到學習率 α 的影響,如果學習率過小,則達到收斂所需的迭代次數會非常高;
如果學習率過大,每次迭代可能不會減小代價函數,可能會越過局部最小值導致無法收斂。
吳恩達建議的 α 選擇:
5.5 特征和多項式回歸
線性回歸并不適用于所有數據,有時我們需要曲線來適應我們的數據,比如一個二次方模型:,或者三次方模型:。通常需要先觀察數據然后再決定準備嘗試怎樣的模型。
一個房價預測問題:
(臨街寬度), (縱向深度),(占用面積),則
可以令 ,,從而將模型轉化為線性回歸模型。
根據函數圖形特性,我們還可以使:
或者:
注:如果采用多項式回歸模型,在運行梯度下降算法前,特征縮放非常有必要。
5.6 正規方程
對某些線性回歸問題,還可以用正規方程解決。
正規方程通過求解 找出使得代價函數最小的參數.
假設訓練集特征矩陣為 ,訓練集結果為向量 ,則利用鄭正規方程求解出的
梯度下降法與正規方程法的比較:
| 梯度下降法 | 正規方程法 |
| 需要選擇學習率 | 不需要 |
| 需要多次迭代 | 一次運算得出 |
| 當特征數量大時也能較好適用 | 特征數量較大則運算代價大,因為矩陣逆的計算時間復雜度為,通常來說當n小于10000 時還是可以接受的 |
| 適用于各種類型的模型 | 只適用于線性模型,不適合邏輯回歸模型等其他模型 |
5.7? 正規方程及不可逆性(可選)
有的矩陣可逆,有的矩陣不可逆。
式子中,要求 ,如果不可逆該怎么辦呢?在Octave里,有兩個函數可以求解矩陣的逆,一個被稱為pinv(),另一個是inv(),這兩者之間的差異是些許計算過程上的,一個是所謂的偽逆,另一個被稱為逆。使用pinv() 函數可以展現數學上的過程,這將計算出的值,即便矩陣是不可逆的。
?
總結
以上是生活随笔為你收集整理的吴恩达机器学习 -- 多变量线性回归的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 操作系统(5) -- 输入/输出管理
- 下一篇: 计算机组成原理 -- 概念点整理