今天帶來第二周課程的筆記:梯度下降與正規方程。
主要内容:
- 多元特征
- 多變量梯度下降
- 梯度下降法實踐
- 正規方程
多元特征Multiple Features
還是利用房價模型的例子,增加了更多的特征,比如:房間樓層、房間數量、地理位置等,構成了一個含有多個變量的模型

n:代表的是特征的數量
x(i):代表第i個訓練執行個體,是特征矩陣中的第i行,是一個向量vector
算法目标
與單變量線性回歸類似,在多變量線性回歸中,建構一個代價函數,則這個代價函數是所有模組化誤差的平方和,即:
Python代碼
給定特征矩陣X,輸出y,學習率θ,求代價函數J
import numpy as np
def computeCost(X,y,theta):
inner = np.power(((X * theta.T) - y), 2) # 求解每個平方項
return np.sum(inner) / (2 / len(X)) # 求和再除以2*len(X)
特征縮放
面對多元度特征問題,我們需要保證這些特征具有相近的尺度,幫助梯度下降算法更快地收斂。
以房價問題為例,假設僅用兩個特征,房屋的尺寸和數量,以兩個參數分别為橫縱坐标,假設尺寸在0-2000平方英尺,數量在0-5之間。
繪制代價函數的等高線圖能,看出圖像會顯得很扁,梯度下降算法需要非常多次的疊代才能收斂。
學習率問題
梯度下降算法的每次疊代受到學習率的影響
- 如果學習率過小,則達到收斂所需的疊代次數會非常高,收斂速度非常慢
- 如果學習率過大,每次疊代可能不會減小代價函數,可能會越過局部最小值導緻無法收斂
常用學習率包含:α=0.01,0.03,0.1,0.31,3,10α=0.01,0.03,0.1,0.31,3,10
特征和多項式回歸
如房價預測問題,
同時房屋面積=寬度 * 深度
在實際拟合資料的時候,可能會選擇二次或者三次方模型;如果采用多項式回歸模型,在運作梯度下降法之前,特征縮放很有必要。
正規方程 Normal Equation
梯度下降缺點
需要多次疊代才能達到局部最優解
正規方程demo
正規方程具有不可逆性
正規方程就是通過求解下面例子中的方程找出使得代價函數最小參數θ:
不可逆矩陣不能使用正規方程求解
Normal Equation VS Gradient Descent
梯度下降和正規方程的比較:
參數θ求解過程
至此,第一周的課程筆記完畢!
系列文章:
吳恩達《Machine Learning》精煉筆記 1:監督學習與非監督學習