梯度下降演算法(二)

2021-08-17 20:56:20 字數 1408 閱讀 7512

批量梯度下降法,是梯度下降法最常用的形式,具體做法也就是在更新引數時使用所有的樣本來進行更新,這個方法對應於前面3.3.1的線性回歸的梯度下降演算法,也就是說3.3.1的梯度下降演算法就是批量梯度下降法。   θi

=θi−

α∑j=

0m(h

θ(x(

j)0,

x(j)

1,..

.x(j

)n)−

yj)x

(j)iθi

=θi−

α∑j=

0m(h

θ(x0

(j),

x1(j

),..

.xn(

j))−

yj)x

i(j)

由於我們有m個樣本,這裡求梯度的時候就用了所有m個樣本的梯度資料。

隨機梯度下降法,其實和批量梯度下降法原理類似,區別在與求梯度時沒有用所有的m個樣本的資料,而是僅僅選取乙個樣本j來求梯度。對應的更新公式是: θi

=θi−

α(hθ

(x(j

)0,x

(j)1

,...

x(j)

n)−y

j)x(

j)i θi=

θi−α

(hθ(

x0(j

),x1

(j),

...x

n(j)

)−yj

)xi(

j)

隨機梯度下降法,和批量梯度下降法是兩個極端,乙個採用所有資料來梯度下降,乙個用乙個樣本來梯度下降。自然各自的優缺點都非常突出。對於訓練速度來說,隨機梯度下降法由於每次僅僅採用乙個樣本來迭代,訓練速度很快,而批量梯度下降法在樣本量很大的時候,訓練速度不能讓人滿意。對於準確度來說,隨機梯度下降法用於僅僅用乙個樣本決定梯度方向,導致解很有可能不是最優。對於收斂速度來說,由於隨機梯度下降法一次迭代乙個樣本,導致迭代方向變化很大,不能很快的收斂到區域性最優解。那麼,有沒有乙個中庸的辦法能夠結合兩種方法的優點呢?有!這就是小批量梯度下降法。

小批量梯度下降法是批量梯度下降法和隨機梯度下降法的折衷,也就是對於m個樣本,我們採用x個樣子來迭代,1

在機器學習中的無約束優化演算法,除了梯度下降以外,還有前面提到的最小二乘法,此外還有牛頓法和擬牛頓法。梯度下降法和最小二乘法相比,梯度下降法需要選擇步長,而最小二乘法不需要。梯度下降法是迭代求解,最小二乘法是計算解析解。如果樣本量不算很大,且存在解析解,最小二乘法比起梯度下降法要有優勢,計算速度很快。但是如果樣本量很大,用最小二乘法由於需要求乙個超級大的逆矩陣,這時就很難或者很慢才能求解解析解了,使用迭代的梯度下降法比較有優勢。

梯度下降演算法 梯度下降演算法為何叫梯度下降?

首先,我們知道乙個演算法的名字可以很好地去解釋乙個演算法,那麼梯度下降演算法是什麼呢?很明顯的,就是用梯度這個工具來解決問題的一種演算法。解決什麼問題呢?如何在乙個函式曲面的某一點,找到乙個函式值變化最大的方向。比如 我們站在山上的某一點,我們想要以最快的速度上山,但是我們的步子大小是一定的,那麼最...

梯度下降演算法 梯度下降演算法公式推導

場景假設 梯度下降法的基本思想可以模擬為乙個下山的過程。假設這樣乙個場景 乙個人被困在山上,需要從山上下來 找到山的最低點 但此時山上的濃霧很大,導致可視度很低 因此,下山的路徑就無法確定,必須利用自己周圍的資訊一步一步地找到下山的路。這個時候,便可利用梯度下降演算法來幫助自己下山。怎麼做呢,首先以...

梯度下降演算法

機器學習在這幾年得到快速發展,乙個很重要的原因是 large dataset 大規模資料 這節課就來介紹用機器學習演算法處理大規模資料的問題。關於資料的重要性,有一句話是這麼說的 it s not who has the bestalgorithmthat wins.it s who has the...