机器学习-cs229-线性回归-梯度下降法
機器學習-cs229-線性回歸part one
- 任務:預測房價
- 損失函數(shù)cost function
- 線性回歸的邏輯:
- 梯度下降法
- 房價函數(shù)的梯度下降式子:
- 學習率learning rate:參數(shù) α
- 求J(θ)的極小值
- 方法一:BDG 批量梯度下降,計算整個數(shù)據(jù)集的梯度
- 方法二:隨機梯度下降法
任務:預測房價
價格= F(面積,床數(shù))
目標函數(shù):
向量表示:
損失函數(shù)cost function
我們最終確定的線性函數(shù) h(x) 上每個x值對應的 h(x) 值 & 真實的y值之間的差別,而差別我們用平方差來表示。
- 注:
– 1/2是為了后續(xù)求導時能夠約掉平方,對于結果來說無影響
– 這里針對其中一個i的情況,而所有情況是1/2m(如果有m個房間)
– 為什么要用平方?
線性回歸的邏輯:
要確定參數(shù)θ—》就要確定使得J(θ)最小的θ,讓代價函數(shù)越低,越靠近樣本值----》求J(θ)的極小值----》方法:梯度下降法
梯度下降法
- 梯度:多元函數(shù)的導數(shù)
表示: - 梯度下降的式子
這里梯度前面有一個參數(shù)η,意義是:沿η率的梯度下降達到更新后的值
-圖片表示:
房價函數(shù)的梯度下降式子:
學習率learning rate:參數(shù) α
是對梯度做調(diào)整,防止步長過大或者過小,錯過極小值
由于h(x)由參數(shù)θ和x決定,在損失函數(shù)中由于
求J(θ)的極小值
所以原來的梯度下降的式子可以寫成:
當梯度下降表達式穩(wěn)定收斂時,我們才能求出對應的參數(shù)θ值。
梯度下降算法主要有三種變種,主要區(qū)別在于使用多少數(shù)據(jù)來計算目標函數(shù)的梯度。 不同方法主要在準確性和優(yōu)化速度間做權衡。
方法一:BDG 批量梯度下降,計算整個數(shù)據(jù)集的梯度
-
優(yōu)點:
對于凸目標函數(shù),可以保證全局最優(yōu); 對于非凸目標函數(shù),可以保證一個局部最優(yōu)。 -
缺點:
速度慢; 數(shù)據(jù)量大時不可行; 無法在線優(yōu)化(即無法處理動態(tài)產(chǎn)生的新樣本)
單變量示例:
多變量示例:
在多變量里,我們看到一個3維的圖,這個圖的含義是,底部xy軸是變量,當取不同變量值時,對應的損失函數(shù)的值呈現(xiàn)3維上的凸函數(shù):
用矩陣化的形式表示代價函數(shù):
當我們運行BDG方法時,當J(θ)的梯度無限接近于0,則說明此時的θ為我們要的解。
偽代碼
方法二:隨機梯度下降法
如果使用梯度下降法(批量梯度下降法),那么每次迭代過程中都要對 n個樣本進行求梯度,所以開銷非常大,隨機梯度下降的思想就是隨機采樣一個樣本**J(xi)**來更新參數(shù),那么計算開銷就從 O(n)下降到 O(1)。
隨機梯度下降雖然提高了計算效率,降低了計算開銷,但是由于每次迭代只隨機選擇一個樣本,因此隨機性比較大,所以下降過程中非常曲折(圖片來自《動手學深度學習》)
作者:Jackpop
鏈接:https://www.zhihu.com/question/264189719/answer/932262940
缺點:
對于最優(yōu)化問題,凸問題,雖然不是每次迭代得到的損失函數(shù)都向著全局最優(yōu)方向, 但是大的整體的方向是向全局最優(yōu)解的,最終的結果往往是在全局最優(yōu)解附近。
優(yōu)點:
但是相比于批量梯度,這樣的方法更快,更快收斂,雖然不是全局最優(yōu),但很多時候是我們可以接受的,所以這個方法用的也比上面的多。
參考鏈接:
梯度下降優(yōu)化算法總結.
知乎關于隨機梯度算法的討論
cs229 別人的整理
梯度下降法推導和示例
總結
以上是生活随笔為你收集整理的机器学习-cs229-线性回归-梯度下降法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【sklearrn学习】朴素贝叶斯
- 下一篇: 计算机体系结构 第一章