摘要:對(duì)于多分類問題,我們使用函數(shù)來(lái)處理多項(xiàng)式回歸。概率方程表示輸出根據(jù)函數(shù)得到的值。最大似然估計(jì)可以寫成因?yàn)閷?duì)于給定的參數(shù),去產(chǎn)生和,根據(jù)聯(lián)合概率我們又能將似然函數(shù)改寫成。
作者:chen_h
微信號(hào) & QQ:862251340
微信公眾號(hào):coderpai
簡(jiǎn)書地址:https://www.jianshu.com/p/abc...
這篇教程是翻譯Peter Roelants寫的神經(jīng)網(wǎng)絡(luò)教程,作者已經(jīng)授權(quán)翻譯,這是原文。
該教程將介紹如何入門神經(jīng)網(wǎng)絡(luò),一共包含五部分。你可以在以下鏈接找到完整內(nèi)容。
(一)神經(jīng)網(wǎng)絡(luò)入門之線性回歸
Logistic分類函數(shù)
(二)神經(jīng)網(wǎng)絡(luò)入門之Logistic回歸(分類問題)
(三)神經(jīng)網(wǎng)絡(luò)入門之隱藏層設(shè)計(jì)
Softmax分類函數(shù)
(四)神經(jīng)網(wǎng)絡(luò)入門之矢量化
(五)神經(jīng)網(wǎng)絡(luò)入門之構(gòu)建多層網(wǎng)絡(luò)
Logistic分類函數(shù)這部分教程將介紹兩部分:
Logistic函數(shù)
交叉熵?fù)p失函數(shù)
如果我們利用神經(jīng)網(wǎng)絡(luò)進(jìn)行分類,對(duì)于二分類問題,t=1或者t=0,我們能在logistic回歸中使用logistic函數(shù)。對(duì)于多分類問題,我們使用softmax函數(shù)來(lái)處理多項(xiàng)式logistic回歸。本教程我們先解釋有關(guān)logistic函數(shù)的知識(shí),后續(xù)教程會(huì)介紹softmax函數(shù)的知識(shí)。
我們先導(dǎo)入教程需要使用的軟件包。
from __future__ import print_function import numpy as np import matplotlib.pyplot as plt
假設(shè)我們的目標(biāo)是根據(jù)輸入的z去預(yù)測(cè)分類t。概率方程P(t=1|z)表示輸出y根據(jù)logisitc函數(shù)y=σ(z)得到的值。σ被定義為:
根據(jù)函數(shù)分類的概率t=1或者t=0,我們能得到以下公式:
注意一下,其實(shí)z就是P(t=1|z)與P(t=0|z)的比值求對(duì)數(shù)。
logistic函數(shù)在下面的代碼中logistic(z)實(shí)現(xiàn),并且可視化了logistic函數(shù)。
# Define the logistic function def logistic(z): return 1 / (1 + np.exp(-z))
# Plot the logistic function z = np.linspace(-6,6,100) plt.plot(z, logistic(z), "b-") plt.xlabel("$z$", fontsize=15) plt.ylabel("$sigma(z)$", fontsize=15) plt.title("logistic function") plt.grid() plt.show()
因?yàn)樯窠?jīng)網(wǎng)絡(luò)一般使用梯度下降來(lái)優(yōu)化,所以我們需要先求出y對(duì)于z的倒數(shù),即?y/?z可以表示為:
因?yàn)?b>1?σ(z))=1?1/(1+e^?z)=e?z/(1+e^?z),所以我們又可以把上式簡(jiǎn)化為:
logistic_derivative(z)函數(shù)實(shí)現(xiàn)了Logistic函數(shù)的求導(dǎo)。
# Define the logistic function def logistic_derivative(z): return logistic(z) * (1 - logistic(z))
# Plot the derivative of the logistic function z = np.linspace(-6,6,100) plt.plot(z, logistic_derivative(z), "r-") plt.xlabel("$z$", fontsize=15) plt.ylabel("$frac{partial sigma(z)}{partial z}$", fontsize=15) plt.title("derivative of the logistic function") plt.grid() plt.show()
模型的輸出結(jié)果y=σ(z)可以被表示為一個(gè)概率y,如果t=1,或者概率1-y,如果t=0。我們把這個(gè)記為P(t=1|z)=σ(z)=y。
在神經(jīng)網(wǎng)絡(luò)中,對(duì)于給定的一組參數(shù)θ,我們可以使用最大似然估計(jì)來(lái)優(yōu)化參數(shù)。參數(shù)θ將輸入的樣本轉(zhuǎn)化成輸入到Logistic函數(shù)中的參數(shù)z,即z = θ * x。最大似然估計(jì)可以寫成:
因?yàn)閷?duì)于給定的參數(shù)θ,去產(chǎn)生t和z,根據(jù)聯(lián)合概率我們又能將似然函數(shù)L(θ|t,z)改寫成P(t,z|θ)。由于P(A,B) = P(A|B) ? P(B),我們又可以簡(jiǎn)化聯(lián)合概率:
因?yàn)槲覀儾魂P(guān)心有關(guān)z的概率,所以我們可以把原來(lái)的似然函數(shù)改寫成:
因?yàn)?b>t服從伯努力分布,而且如果給定參數(shù)θ,那么P(t|z)=y就是一個(gè)確定的值,因此我們又可以改寫概率方程:
由于對(duì)數(shù)函數(shù)是單調(diào)遞增函數(shù),我們可以依此優(yōu)化對(duì)數(shù)似然函數(shù)
該函數(shù)的最大值和常規(guī)的似然函數(shù)的最大值一樣,所以我們計(jì)算對(duì)數(shù)似然函數(shù)如下,
我們最小化這個(gè)負(fù)對(duì)數(shù)似然函數(shù),等價(jià)于最大化似然函數(shù)。一個(gè)典型的誤差函數(shù)可以設(shè)計(jì)為如下交叉熵誤差函數(shù):
這個(gè)函數(shù)可能看起來(lái)比較復(fù)雜,但是如果我們把它拆分開來(lái)看,就會(huì)比較簡(jiǎn)單。
從上式中我們可以發(fā)現(xiàn),如果樣本被正確分類,那么損失函數(shù)L(t,y)和負(fù)對(duì)數(shù)概率函數(shù)在表達(dá)式上面是一樣的,即
因?yàn)?b>t只能取值0或者1,所以我們能將L(t, y)寫為:
如果你要分析每一個(gè)訓(xùn)練數(shù)據(jù),那么就是下式:
另一個(gè)我們使用交叉熵函數(shù)的原因是,在簡(jiǎn)單Logistic回歸中,交叉熵函數(shù)是一個(gè)凸損失函數(shù),全局最小值很容易找到。
對(duì)于損失函數(shù)?ξ/?y求導(dǎo),計(jì)算如下:
現(xiàn)在,我們對(duì)輸入?yún)?shù)z進(jìn)行求導(dǎo)將變得很容易。
至此,完整求導(dǎo)完成。
完整代碼,點(diǎn)擊這里
作者:chen_h
微信號(hào) & QQ:862251340
簡(jiǎn)書地址:https://www.jianshu.com/p/abc...
CoderPai 是一個(gè)專注于算法實(shí)戰(zhàn)的平臺(tái),從基礎(chǔ)的算法到人工智能算法都有設(shè)計(jì)。如果你對(duì)算法實(shí)戰(zhàn)感興趣,請(qǐng)快快關(guān)注我們吧。加入AI實(shí)戰(zhàn)微信群,AI實(shí)戰(zhàn)QQ群,ACM算法微信群,ACM算法QQ群。長(zhǎng)按或者掃描如下二維碼,關(guān)注 “CoderPai” 微信號(hào)(coderpai)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/41173.html
摘要:那么,概率將是神經(jīng)網(wǎng)絡(luò)輸出的,即。函數(shù)實(shí)現(xiàn)了函數(shù),函數(shù)實(shí)現(xiàn)了損失函數(shù),實(shí)現(xiàn)了神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果,實(shí)現(xiàn)了神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果。 作者:chen_h微信號(hào) & QQ:862251340微信公眾號(hào):coderpai簡(jiǎn)書地址:https://www.jianshu.com/p/d94... 這篇教程是翻譯Peter Roelants寫的神經(jīng)網(wǎng)絡(luò)教程,作者已經(jīng)授權(quán)翻譯,這是原文。 該教程將介紹如...
閱讀 1592·2021-11-24 10:17
閱讀 1105·2021-09-29 09:43
閱讀 2236·2021-09-23 11:21
閱讀 2352·2019-08-30 14:13
閱讀 1359·2019-08-29 13:58
閱讀 3302·2019-08-28 17:51
閱讀 1942·2019-08-26 13:29
閱讀 3046·2019-08-26 10:13