機器學習之梯度下降法數學推導 分類

2021-08-03 07:26:23 字數 2141 閱讀 2292

ps:本文中的log等同於我們國內的ln

之前那一文中提到了一般的梯度上公升的公式推導,但是在《機器學習實戰》一書中,實現的是分類方法,因此,雖然最終的結果相似,但是其實本質有很大的不同。

一般來講我們把實物分成兩類,因此我們需要將結果對映到兩個結果(是或非),因為一般的階躍函式在求導之類的問題上會變得相當複雜,因此我們用乙個更加圓滑的sigmoid函式來對映,所有輸入到這個函式的實數都會被轉化到0-1之間,它的公式為g(

z)=1

1+e−

z 同時它對應的影象如圖所示:

於是我們可以將得到的結果進行四捨五入,分類成0或1

這裡的意思是,將我們的分類邊界線作模型,進行擬合,並以此來分類。

我們假設經過sigmoid函式處理過的結果為hθ

(x) ,因為是在0-1之間,因此可以看做是概率,另外,我們可以假設,分類到0或者1的概率。 p(

y=1|

x;θ)

=hθ(

x)p(

y=0|

x;θ)

=1−h

θ(x)

(1)

將以上兩個概率公式整合一下成為乙個概率公式, p(

y|x;

θ)=(

hθ(x

))y(

1−hθ

(x))

1−y(2)

1. 最大似然估計

這裡我們使用最大似然估計法,這個在大學的高等數學中應該都有學習過,就不在贅述。這裡假設我們有m個訓練集。 l(

θ)=∏

i=1m

p(y(

i)|x

(i);

θ)=∏

i=1m

(hθ(

x(i)

))y(

i)(1

−hθ(

x(i)

))1−

y(i)

(3)

為了求導方便,我們一般會將似然函式l加上log函式,因為log函式是遞增函式,因此不影響似然函式求最值。

這裡會用到乙個log函式的性質lo

gab=

blog

a ,推導得: l(

θ)=l

ogl(

θ)=∑

i=1m

y(i)

logh

(x(i

))+(

1−y(

i))l

og(1

−h(x

(i))

)(4)

將l函式對

θ 求導 ∂∂

θjl(

θ)=(

y1hθ

(x)−

(1−y

)11−

hθ(x

))∂∂

θjhθ

x(5)

2. sigmoid函式求導h′

(x)=

ddx1

1+e−

x=1(

1+e−

x)2(

e−x)

=1(1

+e−x

)(1−

1(1+

e−x)

)=h(

x)(1

−h(x

))(6)

3. 似然估計後續w=

θtx ,將其代入公式(4),得到 l′

(θ)=

(y1h

(θtx

)−(1

−y)1

1−h(

θtx)

)∂∂θ

jh(θ

tx)=

(1h(

θtx)

−(1−

y)11

−h(θ

tx))

h(θt

x)(1

−h(θ

tx)∂

∂jθt

x)=(

y(1−

h(θt

x))−

(1−y

)h(θ

tx))

xj=(

y−hθ

(x))

xj(7)

機器學習之梯度下降法數學推導

機器學習之梯度下降法數學推導 分類,本文中的log等同於我們國內的ln。之前那一文中提到了一般的梯度上公升的公式推導,但是在 機器學習實戰 一書中,實現的是分類方法,因此,雖然最終的結果相似,但是其實本質有很大的不同。一般來講我們把實物分成兩類,因此我們需要將結果對映到兩個結果 是或非 因為一般的階...

機器學習之梯度下降法 梯度下降法分析

梯度下降法的基本思想是函式沿著其梯度方向增加最快,反之,沿著其梯度反方向減小最快。在前面的線性回歸和邏輯回歸中,都採用了梯度下降法來求解。梯度下降的迭代公式為 j j j j 在回歸演算法的實驗中,梯度下降的步長 為0.01,當時也指出了該步長是通過多次時間找到的,且換一組資料後,演算法可能不收斂。...

機器學習之梯度下降法

1 批量 梯度下降 使用整個訓練集的優化演算法被稱為批量 batch 梯度下降演算法。術語 批量梯度下降 指使用全部訓練集,而術語 批量 單獨出現時指一組樣本。2 隨機梯度下降 每次只使用單個樣本的優化演算法被稱為隨機 stochastic 梯度下降演算法。3 小批量梯度下降 大多數用於深度學習的演...