感知機(jī)
感知機(jī) 由兩層神經(jīng)元組成, 如圖5.3 所示,輸入層接收外界輸入信號(hào)后傳遞給輸出層, 輸出層是M-P 神經(jīng)元,亦稱"閾值邏輯單元"?
其中感知機(jī)是用在線性可分的數(shù)據(jù)集上。感知機(jī)的目的就是能得到一個(gè)對(duì)數(shù)據(jù)集T中的正負(fù)樣本完全正確劃分的超平面,其中就是超平面方程
什么叫線性可分?就是找到一個(gè)超平面把數(shù)據(jù)分開。
什么叫超平面?
超平面就是能把數(shù)據(jù)集分開的,比如說(shuō)在一維可以用點(diǎn)區(qū)分,點(diǎn)就是超平面;二維可以用線條區(qū)分,線條就是超平面;三維可以用一個(gè)平面區(qū)分,平面就是超平面;
感知機(jī)學(xué)習(xí)策略︰隨機(jī)初始化w,b,將全體訓(xùn)練樣本代入模型找出誤分類樣本,假設(shè)此時(shí)誤分類樣本集合為M T,對(duì)任意一個(gè)誤分類樣本(x, y) ∈M來(lái)說(shuō),當(dāng)
時(shí),模型輸出值
=1,樣本真實(shí)標(biāo)記為y =0;反之,當(dāng)
時(shí),模型輸出值為
=0,樣本真實(shí)標(biāo)記為y = 1。綜合兩種情形可知,以下公式恒成立
所以,給定數(shù)據(jù)集T,其損失函數(shù)可以定義為:
只要讓損失函數(shù)最小化,就可以得到w和,從而得到超平面的方程
神經(jīng)網(wǎng)絡(luò)
要解決非線性可分問(wèn)題,需考慮位多層功能神經(jīng)元. 例如圖5.5 中這個(gè)簡(jiǎn)單的兩層感知機(jī)就能解決異或問(wèn)題.?
什么叫非線性可分問(wèn)題?就是不能用點(diǎn)或線或平面劃分。如下,找不到一條藍(lán)線把正負(fù)分開。這時(shí)候我們用多層感知機(jī)來(lái)做。
多層前饋網(wǎng)絡(luò):每層神經(jīng)元與下一層神經(jīng)元全互連,神經(jīng)元之間不存在同層連接,也不存在跨層連接。(隱層閾值,輸出層閾值
)
隱含層和輸出層神經(jīng)元都是擁有激活函數(shù)的功能神經(jīng)元.
其中,如果做(單輸出)回歸,那么我們最后的預(yù)測(cè)結(jié)果,用到的函數(shù)是,無(wú)激活函數(shù)。我們的誤差用的是均方差誤差。
如果做分類{0,1},那么我們最后的預(yù)測(cè)結(jié)果,用到的激活函數(shù)如下。我們用到的誤差是交叉熵。
某個(gè)訓(xùn)練樣本(),其中
,假定其多層前饋網(wǎng)絡(luò)的輸出為
,則該單個(gè)樣本的均方誤差(損失)為
然后用下列的BP算法求出w,b。
誤差逆?zhèn)鞑ニ惴?/b>
誤差逆?zhèn)鞑?error BackPropagation,簡(jiǎn)稱BP)算法就是其中最杰出的代表.它是迄今最成功的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法.現(xiàn)實(shí)任務(wù)中使用神經(jīng)網(wǎng)絡(luò)時(shí),大多是在使用BP 算法進(jìn)行訓(xùn)練.值得指出的是, BP 算法不僅可用于多層前饋神經(jīng)網(wǎng)絡(luò),還可用于其他類型的神經(jīng)網(wǎng)絡(luò). 例如訓(xùn)練遞歸神經(jīng)網(wǎng)絡(luò). 但通常說(shuō)"BP 網(wǎng)絡(luò)"時(shí),一般是指用BP 算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò).
誤差逆?zhèn)鞑ニ惴?BP算法)︰基于隨機(jī)梯度下降的參數(shù)更新算法。
隨機(jī)梯度一般指的是一次迭代隨機(jī)抽取一個(gè)樣本進(jìn)行梯度下降。普通梯度是一次迭代所有樣本進(jìn)行梯度下降。
假設(shè)隱藏層和輸出層激活函數(shù)是sigmoid函數(shù),誤差用的是均方差誤差。
對(duì)單個(gè)訓(xùn)練樣本 , 假設(shè)神經(jīng)網(wǎng)絡(luò)的輸出為
,即
則網(wǎng)絡(luò)在上的均方誤差為
BP 算法基于梯度下降(gradient descent)策略, 以目標(biāo)的負(fù)梯度方向?qū)?shù)進(jìn)行調(diào)整. 對(duì)式(5 .4) 的誤差Ek, 給定學(xué)習(xí)率η,有
學(xué)習(xí)率η屬于(0 , 1) 控制著算沾每一輪迭代中的更新步長(zhǎng),若太大則容易振蕩,太小則收斂速度又會(huì)過(guò)慢.有時(shí)為了做精細(xì)調(diào)節(jié)、可令式(5.11) 與(5.12) 使用η1 ,式(5.13) 與(5.14) 使用η2?, 兩者未必相等.
過(guò)擬合現(xiàn)象
BP算法容易過(guò)擬合,兩種方法。
一種策略是"早停" (early stopping): 將數(shù)據(jù)分成訓(xùn)練集和驗(yàn)證集,訓(xùn)練集用來(lái)計(jì)算梯度、更新連接權(quán)和閾值,驗(yàn)證集用來(lái)估計(jì)誤差,若訓(xùn)練集誤差降低但驗(yàn)證集誤差升高,則停止訓(xùn)練,同時(shí)返回具有最小驗(yàn)證集誤差的連接權(quán)和閾值.
?第二種策略是"正則化" (regularization),其基本思想是在誤差目標(biāo)函數(shù)中增加一個(gè)用于描述網(wǎng)絡(luò)復(fù)雜度的部分,例如連接權(quán)與閾值的平方和.仍令Ek 表示第k 個(gè)訓(xùn)練樣例上的誤差,wi表示連接權(quán)和閾值,則誤差目標(biāo)函數(shù)(5.16) 改變?yōu)?/p>
其中λ∈(0 , 1) 用于對(duì)經(jīng)驗(yàn)誤差與網(wǎng)絡(luò)復(fù)雜度這兩項(xiàng)進(jìn)行折中,常通過(guò)交叉驗(yàn)證法來(lái)估計(jì).