批量梯度下降法,是梯度下降法最常用的形式,具體做法也就是在更新引數時使用所有的樣本來進行更新,這個方法對應於前面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...