【数据挖掘】神经网络 后向传播算法 向前传播输入 案例计算分析 ( 网络拓扑 | 输入层计算 | 隐藏层计算 | 输出层计算 )
文章目錄
- I . 神經網絡 后向傳播算法 計算 隱藏層 與 輸出層 的輸入輸出實例分析
- II . 神經網絡 后向傳播算法 輸入層公式
- III. 神經網絡 后向傳播算法 輸入層計算
- IV . 神經網絡 后向傳播算法 隱藏層 / 輸出層 輸入公式
- V . 神經網絡 后向傳播算法 隱藏層 / 輸出層 輸出公式
- VI . 神經網絡 后向傳播算法 計算單元 4 輸入值 ( 隱藏層 )
- VII . 神經網絡 后向傳播算法 計算單元 5 輸入值 ( 隱藏層 )
- VIII . 神經網絡 后向傳播算法 計算單元 4 輸出值 ( 隱藏層 )
- IX . 神經網絡 后向傳播算法 計算單元 5 輸出值 ( 隱藏層 )
- X . 神經網絡 后向傳播算法 計算單元 6 輸入值 ( 輸出層 )
- XI . 神經網絡 后向傳播算法 計算單元 6 輸出值 ( 輸出層 )
I . 神經網絡 后向傳播算法 計算 隱藏層 與 輸出層 的輸入輸出實例分析
以下面的三層神經網絡為例 , 網絡拓撲結構如下 :
1 . 網絡拓撲 : 該神經網絡本質是有向圖 , 由節點 和 有向弧組成 ;
① 輸入層 : 有 333 個 神經元單元 ( 節點 ) , 分別是 1,2,31 , 2, 31,2,3 節點 ; 輸入屬性是經過規范化的屬性值 , 取值 [0,1][0, 1][0,1] ;
② 隱藏層 : 有 222 個 神經元單元 ( 節點 ) , 分別是 4,54 , 54,5 節點 , 輸入層 與 隱藏層 是全連接方式 ;
③ 輸出層 : 有 111 個 單元 , 666 節點 ;
2 . 圖中的其它已知條件 :
① 輸入屬性 : 是規范化為 [0,1][0, 1][0,1] 區間的值 ;
② 連接方式 : 該網絡結構中的連接方式是全連接方式 , 即每個節點都連接全部的相鄰層的節點 ; ( 與之對應的是局部連接 )
③ 連接權值 : 每兩個節點間的連接都有一個權值 , 使用 wijw_{ij}wij? 表示 , 如 w14w_{14}w14? 表示節點 111 和節點 444 之間連接的權值 ;
④ 偏置 : 輸入層 和 隱藏層 的節點 , 每個節點都有一個偏置屬性 , 如節點 111 偏置表示為 b1b_1b1? ;
輸入輸出表示 :
① 輸入表示 : 使用 I1I_1I1? 表示輸入 , III 是 Input 輸入 單詞首字母 , I1I_1I1? 表示第 111 個節點的輸入 ;
② 輸出表示 : 使用 O1O_1O1? 表示輸出 , OOO 是 Output 輸出單詞首字母 , O1O_1O1? 表示第 111 個節點的輸出 ;
II . 神經網絡 后向傳播算法 輸入層公式
輸入層公式 : 不做任何操作 , 只是將樣本屬性傳入即可 , 輸入層單元的值 , 就是樣本的規范化后的屬性值 ;
輸入值Oj=輸出值Ij=樣本屬性值Xj輸入值 O_j = 輸出值 I_j = 樣本屬性值 X_j 輸入值Oj?=輸出值Ij?=樣本屬性值Xj?
Oj=Ij=XjO_j = I_j = X_j Oj?=Ij?=Xj?
jjj 代表單元的索引值 ;
OjO_jOj? 代表單元輸入值 ;
IjI_jIj? 代表單元的輸出值 ;
XjX_jXj? 代表規范化后的樣本屬性值 ;
規范化屬性值 : 這個屬性值 XjX_jXj? 是經過規范化的 , 一般是 [0,1][0, 1][0,1] 區間內的值 ;
III. 神經網絡 后向傳播算法 輸入層計算
輸入層計算 : 輸入層的輸出值 OiO_iOi? 就是輸入值 IiI_iIi? , i=1,2,3i = 1 , 2 , 3i=1,2,3 ;
① 節點 111 計算 : I1I_1I1? 表示節點 111 輸入 , O1O_1O1? 表示節點 111 輸出 , 其中 I1=O1=輸入樣本值XI_1 = O_1 = 輸入樣本值 XI1?=O1?=輸入樣本值X ;
② 節點 222 計算 : I2I_2I2? 表示節點 222 輸入 , O2O_2O2? 表示節點 222 輸出 , 其中 I2=O2=輸入樣本值XI_2 = O_2 = 輸入樣本值 XI2?=O2?=輸入樣本值X ;
③ 節點 333 計算 : I3I_3I3? 表示節點 333 輸入 , O1O_1O1? 表示節點 333 輸出 , 其中 I1=O3=輸入樣本值XI_1 = O_3 = 輸入樣本值 XI1?=O3?=輸入樣本值X ;
IV . 神經網絡 后向傳播算法 隱藏層 / 輸出層 輸入公式
隱藏層 / 輸出層 輸入公式 :
單個單元輸入計算公式方式 ( 重要 ) : 如果有多個上層單元連接本層的 單元 jjj , 只有一個單元 , 可以使用下面的公式計算 , 如果上層有多個單元連接本單元 , 本公式不適用 , 需要多個輸入值累加 ;
輸入值=上一層單元輸出值×連接權值+偏置輸入值 = 上一層單元輸出值 \times 連接權值 + 偏置輸入值=上一層單元輸出值×連接權值+偏置
單元 jjj 的上層有多個單元連接的輸入值計算方式 :
Ij=∑i=1n(wijOi+θi)I_j = \sum_{i = 1}^{n} ( w_{ij} O_i + \theta_i )Ij?=i=1∑n?(wij?Oi?+θi?)
i=1,?,ni = 1 , \cdots , ni=1,?,n
IjI_jIj? 表示單元 jjj 的輸入 ;
nnn 表示前一層有 nnn 個單元與 本層的 單元 jjj 連接 ; n≥0n \geq 0n≥0 ;
iii 表示前一層的單元索引 ;
wijw_{ij}wij? 表示 前一層的單元 iii 與本層的連接的 權值 ;
OiO_iOi? 表示上一層的輸出 ; 這里注意 上一層的輸出 與 連接權重 和 偏置 計算后 , 組成下一層的輸入 ;
( 上一層的輸出值 是 根據上上層的輸出 與 上上層 與 連接 偏置計算 得來的 )
θi\theta_iθi? 表示上一層單元 iii 的偏置 , 該值通常與連接權值組合使用 , 可以看做是連接的附屬屬性 , 這樣好理解 ;
V . 神經網絡 后向傳播算法 隱藏層 / 輸出層 輸出公式
隱藏層 與 輸出層 輸出值計算過程 : 使用 激活函數 , 將輸入值轉為輸出值 , 一般使用 Sigmoid 激活函數 ;
Oj=11+e?IjO_j = \dfrac{1}{1 + e^{-I_j}}Oj?=1+e?Ij?1?
Sigmoid 是非線性激活函數 , 作用是將全體實數 映射到 (0,1)(0,1)(0,1) 區間上 , 這樣就能保證輸出的值是一個 (0,1)(0 , 1)(0,1) 之間的值 ;
OjO_jOj? 代表單元 jjj 的輸出值 ;
IjI_jIj? 代表單元 jjj 的輸入值 ;
VI . 神經網絡 后向傳播算法 計算單元 4 輸入值 ( 隱藏層 )
1 . 計算隱藏層 輸入值 : 需要根據 前一層的輸入 , 結合 權值 , 偏置 進行線性累加計算 ;
2 . 計算單元 444 的輸入值 :
① 計算過程 :
I4=(w14O1+b1)+(w24O2+b2)+(w34O3+b3)I_4 = (w_{14}O_1 + b_1 ) + (w_{24}O_2 + b_2 ) + (w_{34}O_3 + b_3 )I4?=(w14?O1?+b1?)+(w24?O2?+b2?)+(w34?O3?+b3?)
② 連接權值 : w14,w24,w34w_{14} , w_{24} , w_{34}w14?,w24?,w34? 是三條有向弧連接的權值 ; 如 w14w_{14}w14? 是單元 111 與 單元 444 連接的權值 ;
③ 偏置 : b1,b2,b3b_1 , b_2, b_3b1?,b2?,b3? 分別是 單元 1,2,31 , 2 , 31,2,3 的偏置 ;
④ 上層單個單元輸出對應的輸入值 :
(w14O1+b1)(w_{14}O_1 + b_1 )(w14?O1?+b1?) 對應單元 111 輸出到單元 444 的輸入值 ;
(w24O2+b2)(w_{24}O_2 + b_2 )(w24?O2?+b2?) 對應單元 222 輸出到單元 444 的輸入值 ;
(w34O3+b3)(w_{34}O_3 + b_3 )(w34?O3?+b3?) 對應單元 333 輸出到單元 444 的輸入值 ;
⑤ 匯總輸入值 : 單元 444 的總的輸入值就是上述三個值的累加 ;
VII . 神經網絡 后向傳播算法 計算單元 5 輸入值 ( 隱藏層 )
計算單元 555 的輸入值 :
① 計算過程 :
I5=(w15O1+b1)+(w25O2+b2)+(w35O3+b3)I_5 = (w_{15}O_1 + b_1 ) + (w_{25}O_2 + b_2 ) + (w_{35}O_3 + b_3 )I5?=(w15?O1?+b1?)+(w25?O2?+b2?)+(w35?O3?+b3?)
② 連接權值 : w15,w25,w35w_{15} , w_{25} , w_{35}w15?,w25?,w35? 是三條有向弧連接的權值 ; 如 w15w_{15}w15? 是單元 111 與 單元 555 連接的權值 ;
③ 偏置 : b1,b2,b3b_1 , b_2, b_3b1?,b2?,b3? 分別是 單元 1,2,31 , 2 , 31,2,3 的偏置 ;
④ 上層單個單元輸出對應的輸入值 :
(w15O1+b1)(w_{15}O_1 + b_1 )(w15?O1?+b1?) 對應單元 111 輸出到單元 555 的輸入值 ;
(w25O2+b2)(w_{25}O_2 + b_2 )(w25?O2?+b2?) 對應單元 222 輸出到單元 555 的輸入值 ;
(w35O3+b3)(w_{35}O_3 + b_3 )(w35?O3?+b3?) 對應單元 333 輸出到單元 555 的輸入值 ;
⑤ 匯總輸入值 : 單元 555 的總的輸入值就是上述三個值的累加 ;
VIII . 神經網絡 后向傳播算法 計算單元 4 輸出值 ( 隱藏層 )
計算單元 444 輸出值 : 使用 Sigmoid 激活函數將輸入值轉為輸出值 ;
O4=11+e?I4O_4 = \dfrac{1}{1 + e^{-I_4}}O4?=1+e?I4?1?
Sigmoid 是非線性激活函數 , 作用是將全體實數 映射到 (0,1)(0,1)(0,1) 區間上 , 這樣就能保證輸出的值是一個 (0,1)(0 , 1)(0,1) 之間的值 ;
O4O_4O4? 代表單元 444 的輸出值 ;
I4I_4I4? 代表單元 444 的輸入值 ;
IX . 神經網絡 后向傳播算法 計算單元 5 輸出值 ( 隱藏層 )
計算單元 555 輸出值 : 使用 Sigmoid 激活函數將輸入值轉為輸出值 ;
O5=11+e?I5O_5 = \dfrac{1}{1 + e^{-I_5}}O5?=1+e?I5?1?
Sigmoid 是非線性激活函數 , 作用是將全體實數 映射到 (0,1)(0,1)(0,1) 區間上 , 這樣就能保證輸出的值是一個 (0,1)(0 , 1)(0,1) 之間的值 ;
O5O_5O5? 代表單元 555 的輸出值 ;
I5I_5I5? 代表單元 555 的輸入值 ;
X . 神經網絡 后向傳播算法 計算單元 6 輸入值 ( 輸出層 )
計算單元 666 的輸入值 :
① 計算過程 :
I6=(w46O4+b4)+(w56O5+b5)I_6 = (w_{46}O_4 + b_4 ) + (w_{56}O_5 + b_5 )I6?=(w46?O4?+b4?)+(w56?O5?+b5?)
② 連接權值 : w46,w56w_{46} , w_{56}w46?,w56? 是 222 條有向弧連接的權值 ; 如 w46w_{46}w46? 是單元 444 與 單元 666 連接的權值 ;
③ 偏置 : b4,b5b_4 , b_5b4?,b5? 分別是 單元 4,54 , 54,5 的偏置 ;
④ 上層單個單元輸出對應的輸入值 :
(w45O4+b4)(w_{45}O_4 + b_4 )(w45?O4?+b4?) 對應單元 444 輸出到單元 666 的輸入值 ;
(w46O5+b5)(w_{46}O_5 + b_5 )(w46?O5?+b5?) 對應單元 555 輸出到單元 666 的輸入值 ;
⑤ 匯總輸入值 : 單元 666 的總的輸入值就是上述三個值的累加 ;
XI . 神經網絡 后向傳播算法 計算單元 6 輸出值 ( 輸出層 )
計算單元 666 輸出值 : 使用 Sigmoid 激活函數將輸入值轉為輸出值 ;
O6=11+e?I6O_6 = \dfrac{1}{1 + e^{-I_6}}O6?=1+e?I6?1?
Sigmoid 是非線性激活函數 , 作用是將全體實數 映射到 (0,1)(0,1)(0,1) 區間上 , 這樣就能保證輸出的值是一個 (0,1)(0 , 1)(0,1) 之間的值 ;
O6O_6O6? 代表單元 666 的輸出值 ;
I6I_6I6? 代表單元 666 的輸入值 ;
O6O_6O6? 就是最終的分類結果 ;
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【数据挖掘】神经网络 后向传播算法 向前传播输入 案例计算分析 ( 网络拓扑 | 输入层计算 | 隐藏层计算 | 输出层计算 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据挖掘】贝叶斯信念网络 ( 马尔科夫
- 下一篇: 【数据挖掘】神经网络 后向传播算法 (