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

2022-04-07 03:37:01 字數 1179 閱讀 8871

機器學習之梯度下降法數學推導--分類,本文中的log等同於我們國內的ln。

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

一般來講我們把實物分成兩類,因此我們需要將結果對映到兩個結果(是或非),因為一般的階躍函式在求導之類的問題上會變得相當複雜,因此我們用乙個更加圓滑的sigmoid函式來對映,所有輸入到這個函式的實數都會被轉化到0-1之間,它的公式為g(z)=11+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=1mp(y(i)|x(i);θ)=∏i=1m(hθ(x(i)))y(i)(1?hθ(x(i)))1?y(i)(3)

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

這裡會用到乙個log函式的性質logab=bloga,推導得:

l(θ)=logl(θ)=∑i=1my(i)logh(x(i))+(1?y(i))log(1?h(x(i)))(4)

將l函式對θ求導

??θjl(θ)=(y1hθ(x)?(1?y)11?hθ(x))??θjhθx(5)

2. sigmoid函式求導

h′(x)=ddx11+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. 似然估計後續

l′(θ)=(y1h(θtx)?(1?y)11?h(θtx))??θjh(θtx)=(1h(θtx)?(1?y)11?h(θtx))h(θtx)(1?h(θtx)??jθtx)=(y(1?h(θtx))?(1?y)h(θtx))xj=(y?hθ(x))xj(7)

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

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

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

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

機器學習之梯度下降法

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