梯度下降法小結

2021-08-19 18:32:36 字數 1852 閱讀 9224

概述:梯度下降法的目的是把模型估計引數不斷調整優化(調整模型以適應已知資料),找到最優的引數估計值,從而找到擬合度最好的模型

核心方法:θ=θ−α(∂j(θ)/∂θ)

梯度:是乙個方向,模型引數沿著這個方向可以最快的找到模型的最優引數。

1.背景:

在機器學習中,對於無約束條件的優化問題,一般有梯度下降法、最小二乘法、牛頓法和擬牛頓法,而梯度下降法是目前比較常用的方法。

2.梯度的概念:

梯度是指在多元函式中,對各個解釋變數求偏導數,再由這些偏導數組成的向量,例如:函式f(x,y,z),它的梯度就是(∂f/∂x, ∂f/∂y,∂f/∂z)t,簡稱grad f(x,y,z)或者▽f(x,y,z)

3.梯度的目的和意義:

求解梯度的目的是什麼呢,簡單來說,函式沿著梯度方向可以最快速度找到函式的最大值,沿著梯度相反的方向可以最快速度找到函式的最小值。

在機器學習中,計算最小化損失函式時,可以用梯度下降法迭代求解,或者在計算最大化損失函式時,可以用梯度上公升法迭代求解。

4.梯度下降法演算法:

4.1梯度下降法的直觀解釋:

梯度下降法有乙個直觀解釋,如果你處於乙個高山上準備下山,現在你每走一步就要計算一下梯度,沿著梯度的負方向下山,這樣你下山的速度最快,你可能會下到山腳,也可能到了山中間的一片凹地,也就是說,梯度下降法,它可能只是找到了乙個區域性最優解,而只有當函式為凸函式時候,找到的才一定會是全域性最優解。

(1)步長(learning rate):步長是指梯度下降過程中每一次迭代所確定的距離,即每一次沿著梯度負方向前進的距離

(2)特徵(feature): 解釋變數的個數

(3)假設函式(hypothesis function):是指在有監督學習中,為了擬合樣本函式,而假設的函式。

4.3 梯度下降法演算法詳解:

梯度下降法演算法有代數法和向量法(矩陣法)。代數法容易理解,但是運算麻煩。向量法運算簡潔

數學證明過程請看梯度下降法證明過程:

演算法過程可以分為以下幾個步驟:

(1)確定假設函式和損失函式以及損失函式的梯度(∂j(θ)/∂θ)

(2)根據步長乘以梯度確定損失函式下降的距離:α(∂j(θ)/∂θ)

(3)比較引數θ裡邊的每個值是否均小於ε,如果小於ε ,則θ為最終結果

(4)如果引數 θ裡邊的每個值並不是均小於ε,則需要對θ進行迭代次處理 :θ=θ−α(∂j(θ)/∂θ)

5. 梯度下降法具體分類

5.1 批量梯度下降法

批量梯度下降法是指在求梯度的時候用全樣本求解

5.2 隨機梯度下降法

隨機梯度下降法是指在求解梯度時候用乙個隨機樣本進行求解

5.3 小批量梯度下降法

小批量梯度下降法是指在求解梯度時候隨機取多個樣本進行求解,它是介於批量梯度下降法和隨機梯度下降法的折中

6. 梯度下降法和其他無約束條件優化的比較

梯度下降法是需要自己設定步長,需要迭代求解,而最小二乘法不需要迭代,而是直接計算解析。

如果資料量比較小,則用最小二乘法可以更加高效,如果資料量龐大,則用梯度下降法更加有優勢

梯度下降法和牛頓法/擬牛頓法相比,兩者都是迭代求解,不過梯度下降法是梯度求解,而牛頓法/擬牛頓法是用二階的海森矩陣的逆矩陣或偽逆矩陣求解。相對而言,使用牛頓法/擬牛頓法收斂更快。但是每次迭代的時間比梯度下降法長

梯度下降法和隨機梯度下降法

批量梯度下降法 batch gradient descent 在更新引數時使用所有的樣本來進行更新 隨機梯度下降法 stochastic gradient descent 求梯度時沒有用所有的m個樣本的資料,而是僅僅選取乙個樣本j來求梯度。小批量梯度下降法 mini batch gradient d...

梯度下降法

梯度下降法 是乙個一階 最優化演算法 通常也稱為 最速下降法 我之前也沒有關注過這類演算法。最近,聽史丹福大學的機器學習課程時,碰到了用梯度下降演算法求解線性回歸問題,於是看了看這類演算法的思想。今天只寫了一些入門級的知識。我們知道,函式的曲線如下 程式設計實現 c code cpp view pl...

梯度下降法

回歸 regression 梯度下降 gradient descent 發表於332 天前 技術,科研 被圍觀 1152 次 前言 這個系列主要想能夠用數學去描述機器學習,想要學好機器學習,首先得去理解其中的數學意義,不一定要到能夠輕鬆自如的推導中間的公式,不過至少得認識這些 式子吧,不然看一些相關...