神經網絡--模型表示1

爲了構建神經網絡模型,我們需要首先思考大腦中的神經網絡是怎樣的?每一個神經元都可以被認爲是一個處理單元/神經核(processing unit/Nucleus),它含有許多輸入/樹突(input/Dendrite),並且有一個輸出/軸突(output/Axon)。神經網絡是大量神經元相互鏈接並通過電脈衝來交流的一個網絡。


神經網絡模型建立在很多神經元之上,每一個神經元又是一個個學習模型。這些神經元(也叫激活單元,activation unit)採納一些特徵作爲輸出,並且根據本身的模型提供一個輸出。下圖是一個以邏輯迴歸模型作爲自身學習模型的神經元示例,在神經網絡中,參數又可被成爲權重(weight)。

我們設計出了類似於神經元的神經網絡,效果如下:

其中x_1, x_2, x_3是輸入單元(input units),我們將原始數據輸入給它們。
a_1, a_2, a_3是中間單元,它們負責將數據進行處理,然後呈遞到下一層。
最後是輸出單元,它負責計算{h_\theta}\left( x \right)

神經網絡模型是許多邏輯單元按照不同層級組織起來的網絡,每一層的輸出變量都是下一層的輸入變量。下圖爲一個3層的神經網絡,第一層成爲輸入層(Input Layer),最後一層稱爲輸出層(Output Layer),中間一層成爲隱藏層(Hidden Layers)。我們爲每一層都增加一個偏差單位(bias unit):

下面引入一些標記法來幫助描述模型:
a_{i}^{\left( j \right)} 代表第j 層的第 i 個激活單元。{{\theta }^{\left( j \right)}}代表從第 j 層映射到第j+1 層時的權重的矩陣,例如{{\theta }^{\left( 1 \right)}}代表從第一層映射到第二層的權重的矩陣。其尺寸爲:以第 j+1層的激活單元數量爲行數,以第 j 層的激活單元數加一爲列數的矩陣。例如:上圖所示的神經網絡中{{\theta }^{\left( 1 \right)}}的尺寸爲 3*4。

對於上圖所示的模型,激活單元和輸出分別表達爲:

a_{1}^{(2)}=g(\Theta _{10}^{(1)}{{x}_{0}}+\Theta _{11}^{(1)}{{x}_{1}}+\Theta _{12}^{(1)}{{x}_{2}}+\Theta _{13}^{(1)}{{x}_{3}})
a_{2}^{(2)}=g(\Theta _{20}^{(1)}{{x}_{0}}+\Theta _{21}^{(1)}{{x}_{1}}+\Theta _{22}^{(1)}{{x}_{2}}+\Theta _{23}^{(1)}{{x}_{3}})
a_{3}^{(2)}=g(\Theta _{30}^{(1)}{{x}_{0}}+\Theta _{31}^{(1)}{{x}_{1}}+\Theta _{32}^{(1)}{{x}_{2}}+\Theta _{33}^{(1)}{{x}_{3}})
{{h}_{\Theta }}(x)=g(\Theta _{10}^{(2)}a_{0}^{(2)}+\Theta _{11}^{(2)}a_{1}^{(2)}+\Theta _{12}^{(2)}a_{2}^{(2)}+\Theta _{13}^{(2)}a_{3}^{(2)})

上面進行的討論中只是將特徵矩陣中的一行(一個訓練實例)餵給了神經網絡,我們需要將整個訓練集都餵給我們的神經網絡算法來學習模型。

我們可以知道:每一個a都是由上一層所有的x和每一個x所對應的決定的。

(我們把這樣從左到右的算法稱爲前向傳播算法( FORWARD PROPAGATION ))

x, \theta, a 分別用矩陣表示:

我們可以得到\theta \cdot X=a

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章