Pattern Recognition and Machine Learning第五章神經網路模型

哲遠發表於2012-01-27

之前我們討論的模型是對於分類的迴歸模型,包含了線性組合的多個基礎函式。但是他的應用範圍有一定的限制。另外一個方法在於事先限定基礎函式的個數並且使得他可自適應的,也就是說使得他的引數值在訓練當中是可以發生變化的,其中最成功的模型是前向神經網路(feed-forward network),也稱作多層認知模型(Multilayer perceptron)

1、前向網路函式

在第三章和第四章中討論的迴歸線性分類模型的原型為:

enter image description here

其中f()是一個用於分類非線性的啟用函式,我們的目標在於將基本函式基於引數然後允許這些引數能夠被調整,我們首先構建M個這些線性值的組合:

enter image description here

得到這個aj值之後,緊接著我們得到:enter image description here,這個函式所作用的節點稱作隱藏節點(hidden units),而非線性函式h()通常使用sigmoid函式或者tanh函式,這些值 通常被線性組合得到:

enter image description here

enter image description here

其中:

enter image description here

因此:

enter image description here

因為在神經網路圖中存在一個直接的關係,我們可以使用一個普遍的函式關係,但是,這個函式關係僅限於前向神經網路,而對於每一層節點,函式為:

enter image description here

2、神經網路訓練

對於前向網路模型,我們對於訓練的一個目標在於減小誤差:

enter image description here

我們首先通過討論迴歸函式問題當我們討論一個目標變數t時:

enter image description here

因此對於多個資料我們可得:

enter image description here

我們對上式取負對數,可得:

enter image description here

因此,去掉後面的常數去掉,需要最小化的項為:

enter image description here

當我們找到上式的最小值wML,可以得到:

enter image description here

enter image description here

因此,最小化總的式子的誤差值為:

enter image description here

enter image description here

我們首先考慮從兩個類的分類情形:當t=1為C1,t=0時為C2,我們考慮從一個網路模型,有一個單個輸出值,他的啟用函式為logistic sigmoid:

我們可以將y(x,w)解釋為條件概率p(C1|x),而p(C2|x)為1-p(x,w),我們可以將概率寫成如下的貝努利分佈格式:

enter image description here

因此,誤差函式可以取負對數:

enter image description here

同樣,對於有多個訓練樣本,我們可以得到:

enter image description here

因此誤差函式為:

enter image description here

因此,當遇到多個類的分類情況(K個類)時,我們應當將使用如下條件:tk∈{0,1},輸出函式被解釋為:y(x,w)=p(tk=1|x)。

enter image description here

而在第四章中我們討論得:

enter image description here

相關文章