神經(jīng)網(wǎng)絡(luò)是學(xué)習(xí)復(fù)雜的非線性問題的一種很好的算法
顧名思義,神經(jīng)網(wǎng)絡(luò)的名字來源自人的大腦結(jié)構(gòu)
?為了構(gòu)建神經(jīng)網(wǎng)絡(luò)模型,需要首先思考大腦中的神經(jīng)網(wǎng)絡(luò)是怎樣的?-----每一個神經(jīng)元都可以被認為是一個處理單元/神經(jīng)核,它含有許多輸入/樹突,并且有一個輸出/軸突。神經(jīng)網(wǎng)絡(luò)是大量神經(jīng)元相互鏈接并通過電脈沖來交流的一個網(wǎng)絡(luò)。
神經(jīng)網(wǎng)絡(luò)模型建立在很多神經(jīng)元之上,每一個神經(jīng)元又是一個個學(xué)習(xí)模型。這些神經(jīng)元(也叫激活單元,activation unit)采納一些特征作為輸入,并且根據(jù)本身的模型提供一個輸出。下圖是一個構(gòu)建的神經(jīng)網(wǎng)絡(luò)示例,在神經(jīng)網(wǎng)絡(luò)中,參數(shù)又可被稱為權(quán)重(weight)

其中是輸入單元(input units),將原始數(shù)據(jù)(特征)輸入給它們。
是中間單元,它們負責將數(shù)據(jù)進行處理,然后呈遞到下一層。最后是輸出單元,它負責計算
。
神經(jīng)網(wǎng)絡(luò)模型是許多邏輯單元按照不同層級組織起來的網(wǎng)絡(luò),每一層的輸出變量都是下一層的輸入變量。上圖為一個3層的神經(jīng)網(wǎng)絡(luò),第一層成為輸入層(Input Layer),最后一層稱為輸出層(Output Layer),中間一層成為隱藏層(Hidden Layers)。我們?yōu)槊恳粚佣荚黾右粋€偏差單位(bias unit),如下圖所示:

引入一些標記來幫助描述模型: 代表第 j層的第 i個激活單元。
代表從第 j層映射到第j+1 層時的權(quán)重的矩陣,例如
代表從第一層映射到第二層的權(quán)重的矩陣。其尺寸為:以第j+1 層的激活單元數(shù)量為行數(shù),以第j 層的激活單元數(shù)加一為列數(shù)的矩陣。例如:上圖所示的神經(jīng)網(wǎng)絡(luò)中
的尺寸為 3*4。
對于上圖所示的模型,激活單元和輸出的表達式為:

可以知道:每一個都是由上一層所有的x和每一個x所對應(yīng)的權(quán)重決定的。利用向量化的方法會使得計算更為簡便。(以計算第二層的值為例)

我們令 ,則
,計算后添加
=1。 計算輸出的值為:

令,則
。這只是針對訓(xùn)練集中一個訓(xùn)練實例所進行的計算。如果我們要對整個訓(xùn)練集進行計算,我們需要將訓(xùn)練集特征矩陣進行轉(zhuǎn)置,使得同一個實例的特征都在同一列里。
為了更好地了解神經(jīng)網(wǎng)絡(luò)的工作原理,先把前半部分遮住,如下圖所示:

右半部分其實就是以a0,a1,a2,a3為特征,按照邏輯回歸的方式輸出

其實神經(jīng)網(wǎng)絡(luò)就像是邏輯回歸,只不過我們把邏輯回歸中的輸入向量 x1,x2,x3變成了中間層的a1,a2,a3, 我們可以a0,a1,a2,a,3把看成更為高級的特征值,也就是x0,x1,x2,x3的進化體,并且它們是由 x與決定的,因為是梯度下降的,所以a是變化的,并且變得越來越厲害,所以這些更高級的特征值遠比僅僅使用邏輯回歸厲害,也能更好的預(yù)測新數(shù)據(jù)。這就是神經(jīng)網(wǎng)絡(luò)相比于邏輯回歸和線性回歸的優(yōu)勢。
至此,解釋前向傳播的含義:從輸入單元的激活項開始,然后進行前向傳播給隱藏層,計算隱藏層的激活值。然后繼續(xù)前向傳播,直至計算出輸出層的隱藏值。
多類分類初了解:
當有不止兩種分類時(也就是y=1,2,3...),如果我們要訓(xùn)練一個神經(jīng)網(wǎng)絡(luò)算法來識別路人、汽車、摩托車和卡車,在輸出層我們應(yīng)該有4個值。例如,第一個值為1或0用于預(yù)測是否是行人,第二個值用于判斷是否為汽車。
輸入向量x有三個維度,兩個中間層,輸出層4個神經(jīng)元分別用來表示4類,也就是每一個數(shù)據(jù)在輸出層都會出現(xiàn),且a,b,c,d中僅有一個為1,表示當前類。下面是該神經(jīng)網(wǎng)絡(luò)的可能結(jié)構(gòu)示例:

神經(jīng)網(wǎng)絡(luò)算法的輸出結(jié)果為四種可能情形之一:

關(guān)于神經(jīng)網(wǎng)絡(luò)的代價函數(shù)相關(guān)計算以及神經(jīng)網(wǎng)絡(luò)的反向傳播算法將在下一篇文章中介紹。