吴恩达《Machine Learning》精炼笔记 2:梯度下降与正规方程
作者 | Peter
編輯 |?AI有道
今天帶來第二周課程的筆記:梯度下降與正規(guī)方程。
主要內(nèi)容:
多維特征
多變量梯度下降
梯度下降法實(shí)踐
正規(guī)方程
多維特征Multiple Features
還是利用房價(jià)模型的例子,增加了更多的特征,比如:房間樓層、房間數(shù)量、地理位置等,構(gòu)成了一個(gè)含有多個(gè)變量的模型
n:代表的是特征的數(shù)量
x(i):代表第i個(gè)訓(xùn)練實(shí)例,是特征矩陣中的第i行,是一個(gè)向量vector
:表示的是第i個(gè)訓(xùn)練實(shí)例的第j個(gè)特征;i表示行,j表示列
支持多變量的假設(shè)h表示為:
為了簡化公式,引入,公式轉(zhuǎn)化為:
特征矩陣X 的維度是m?(n+1),公式簡化為:
多變量梯度下降
算法目標(biāo)
與單變量線性回歸類似,在多變量線性回歸中,構(gòu)建一個(gè)代價(jià)函數(shù),則這個(gè)代價(jià)函數(shù)是所有建模誤差的平方和,即:
其中:
算法過程:
Python代碼
給定特征矩陣X,輸出y,學(xué)習(xí)率θ,求代價(jià)函數(shù)J
import numpy as npdef computeCost(X,y,theta):inner = np.power(((X * theta.T) - y), 2) # 求解每個(gè)平方項(xiàng)return?np.sum(inner)?/?(2?/?len(X))???#?求和再除以2*len(X)梯度下降法實(shí)踐
特征縮放
面對(duì)多維度特征問題,我們需要保證這些特征具有相近的尺度,幫助梯度下降算法更快地收斂。
以房價(jià)問題為例,假設(shè)僅用兩個(gè)特征,房屋的尺寸和數(shù)量,以兩個(gè)參數(shù)分別為橫縱坐標(biāo),假設(shè)尺寸在0-2000平方英尺,數(shù)量在0-5之間。
繪制代價(jià)函數(shù)的等高線圖能,看出圖像會(huì)顯得很扁,梯度下降算法需要非常多次的迭代才能收斂。
解決辦法:將所有的特征的尺度盡量縮放到-1到1之間,令:
其中un為平均值,sn為標(biāo)準(zhǔn)差
均值歸一化
學(xué)習(xí)率問題
梯度下降算法的每次迭代受到學(xué)習(xí)率的影響
如果學(xué)習(xí)率過小,則達(dá)到收斂所需的迭代次數(shù)會(huì)非常高,收斂速度非常慢
如果學(xué)習(xí)率過大,每次迭代可能不會(huì)減小代價(jià)函數(shù),可能會(huì)越過局部最小值導(dǎo)致無法收斂
常用學(xué)習(xí)率包含:α=0.01,0.03,0.1,0.31,3,10α=0.01,0.03,0.1,0.31,3,10
特征和多項(xiàng)式回歸
如房價(jià)預(yù)測問題,
同時(shí)房屋面積=寬度 * 深度
在實(shí)際擬合數(shù)據(jù)的時(shí)候,可能會(huì)選擇二次或者三次方模型;如果采用多項(xiàng)式回歸模型,在運(yùn)行梯度下降法之前,特征縮放很有必要。
正規(guī)方程 Normal Equation
梯度下降缺點(diǎn)
需要多次迭代才能達(dá)到局部最優(yōu)解
正規(guī)方程demo
正規(guī)方程具有不可逆性
正規(guī)方程就是通過求解下面例子中的方程找出使得代價(jià)函數(shù)最小參數(shù)θ:
不可逆矩陣不能使用正規(guī)方程求解
Normal Equation VS Gradient Descent
梯度下降和正規(guī)方程的比較:
參數(shù)θ求解過程
正規(guī)方程的Python實(shí)現(xiàn)
import numpy as npdef normalEquation(X, y):theta = np.linalg.inv(X.T@X)@X.T@Y # X.T@X等價(jià)于X.T.dot(X) @等價(jià)于.dotreturn theta至此,第一周的課程筆記完畢!
系列文章:
吳恩達(dá)《Machine Learning》精煉筆記 1:監(jiān)督學(xué)習(xí)與非監(jiān)督學(xué)習(xí)
推薦閱讀
(點(diǎn)擊標(biāo)題可跳轉(zhuǎn)閱讀)
干貨 | 公眾號(hào)歷史文章精選
我的深度學(xué)習(xí)入門路線
我的機(jī)器學(xué)習(xí)入門路線圖
重磅!
AI有道年度技術(shù)文章電子版PDF來啦!
掃描下方二維碼,添加?AI有道小助手微信,可申請(qǐng)入群,并獲得2020完整技術(shù)文章合集PDF(一定要備注:入群?+ 地點(diǎn) + 學(xué)校/公司。例如:入群+上海+復(fù)旦。?
長按掃碼,申請(qǐng)入群
(添加人數(shù)較多,請(qǐng)耐心等待)
感謝你的分享,點(diǎn)贊,在看三連↓
總結(jié)
以上是生活随笔為你收集整理的吴恩达《Machine Learning》精炼笔记 2:梯度下降与正规方程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员——[小鸟语录]
- 下一篇: Python菜鸟之python入门