梯度下降法用處:尋找目標函式最小化的方法。
也就是求函式的區域性最小值。
梯度的數學解釋:
梯度:梯度下降法的簡單解釋:
梯度下降法就好比乙個蒙著眼睛的人下山,每次在負梯度最大的方向,向前走一步,走出一步後,比較前後的的落差,若落差小於一定閾值,則認為到達山谷,若落差大於閾值,則繼續向前走,直到到達山谷。
數學公式:
也可以這樣表示
j是關於θ
'>θ
的乙個函式,我們當前所處的位置為θ
0'>θ0
點,要從這個位置走到j
'>j
的最小值點,也就是山底。首先我們先確定前進的方向,也就是梯度的方向,然後走一段距離的步長,
θ'>θ
0'>j
'>也就是α
'>α
走完這個段步長,就到達了θ
1'>θ1
這個點。
α太小,可能導致遲遲走不到最低點,太大,會導致錯過最低點!
在梯度下降法中調優比較重要的是3個因素,步長、初始值、歸一化。
步長:步長太小,收斂慢,步長太大,會遠離最優解。所以需要從小到大,分別測試,選出乙個最優解。
初始值:隨機選取初始值,當損失函式是非凸函式時,找到的解可能是區域性最優解,需要多測試幾次,從區域性最優解中選出最優解。當損失函式是凸函式時,得到的解就是最優解。
歸一化:如果不歸一化,會收斂的很慢,會形成之字的路線。
由此可以看出梯度下降法的不同方法(有多種梯度下降法)就是根據這3個因素的選取來命名的。
梯度下降法和隨機梯度下降法
批量梯度下降法 batch gradient descent 在更新引數時使用所有的樣本來進行更新 隨機梯度下降法 stochastic gradient descent 求梯度時沒有用所有的m個樣本的資料,而是僅僅選取乙個樣本j來求梯度。小批量梯度下降法 mini batch gradient d...
梯度下降法
梯度下降法 是乙個一階 最優化演算法 通常也稱為 最速下降法 我之前也沒有關注過這類演算法。最近,聽史丹福大學的機器學習課程時,碰到了用梯度下降演算法求解線性回歸問題,於是看了看這類演算法的思想。今天只寫了一些入門級的知識。我們知道,函式的曲線如下 程式設計實現 c code cpp view pl...
梯度下降法
回歸 regression 梯度下降 gradient descent 發表於332 天前 技術,科研 被圍觀 1152 次 前言 這個系列主要想能夠用數學去描述機器學習,想要學好機器學習,首先得去理解其中的數學意義,不一定要到能夠輕鬆自如的推導中間的公式,不過至少得認識這些 式子吧,不然看一些相關...