日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数据挖掘】神经网络 后向传播算法( 向后传播误差 | 输出层误差公式 | 隐藏层误差公式 | 单元连接权值更新公式 | 单元偏置更新公式 | 反向传播 | 损失函数 | 误差平方和 | 交叉熵 )

發布時間:2025/6/17 编程问答 31 豆豆

文章目錄

        • I . 向后傳播誤差 簡介
        • II . 輸出層誤差計算公式
        • III . 隱藏層層誤差計算公式
        • IV . 使用誤差更新 連接權值
        • V . 使用誤差更新 單元偏置
        • VI . 反向傳播 過程
        • VII . 損失函數 簡介
        • VIII . 損失函數
        • IX . 損失函數 舉例
        • X . 損失函數 優化過程



I . 向后傳播誤差 簡介



1 . 后向傳播誤差 : 計算每層每個單元的誤差 , 根據該誤差更新 權值 和 偏置 設置 ;


2 . 計算誤差的目的 : 使用計算出來的誤差 , 更新單元連接的 權值 , 和 單元 本身的偏置 參數 , 用于實時反映出前向傳播輸入的誤差 ;




II . 輸出層誤差計算公式



輸出層誤差計算 :


① 輸出層單元 jjj , 誤差計算公式 :

Errj=Oj(1?Oj)(Tj?Oj)Err_j = O_j ( 1 - O_j ) ( T_j - O_j )Errj?=Oj?(1?Oj?)(Tj??Oj?)


OjO_jOj? 是單元 jjj 的輸出 ;


TjT_jTj? 是樣本分類的真實的屬性值 , 取值 0 或 1 , 輸出層每個單元的節點輸出都是 0 或 1 , 如果分類有多個離散值 , 那么輸出層使用多個節點表示這些分類 ;


② 公式來源 : 該公式來源于 損失函數 , 對損失函數進行求導 ;



III . 隱藏層層誤差計算公式



隱藏層誤差計算 :


Errj=Oj(1?Oj)(∑k=1nErrkwjk)Err_j = O_j ( 1 - O_j ) ( \sum_{k=1}^n Err_k w_{jk} )Errj?=Oj?(1?Oj?)(k=1n?Errk?wjk?)


OjO_jOj? 是本層單元 jjj 的輸出 ;


ErrkErr_kErrk? 是下一層第 kkk 個單元的誤差 ;


wjkw_{jk}wjk? 是本單元 與 下一層第 kkk 個單元連接的 權值 ;


∑k=1nErrkwjk\sum_{k=1}^n Err_k w_{jk}k=1n?Errk?wjk? 是一個線性組合 , 本層的 jjj 單元 , 連接下一層的 nnn 個單元 , 計算下層每個節點的誤差 ErrkErr_kErrk? , 乘以連接的權值 wjkw_{jk}wjk? , 再將多個下層節點的 ErrkwjkErr_k w_{jk}Errk?wjk? 計算值累加 ;



IV . 使用誤差更新 連接權值



1 . 計算誤差的目的 : 使用計算出來的誤差 , 更新單元連接的 權值 , 和 單元 本身的偏置 參數 , 用于實時反映出前向傳播輸入的誤差 ;


2 . 權值更新公式 : 修改 單元 iii 和 單元 jjj 連接的權值 , 注意連接方向是 單元 iii 連接到單元 jjj , iiijjj 的前一層 ;


Δwij=(l)ErrjOi\Delta w_{ij} = (l) Err_j O_iΔwij?=(l)Errj?Oi?

wij′=wij+Δwijw_{ij}' = w_{ij} + \Delta w_{ij}wij?=wij?+Δwij?


Δwij\Delta w_{ij}Δwij? 是 單元 iii 和 單元 jjj 的連接的權值的改變值 ;

lll 是學習率 , 一般是 0.80.80.8 , 0.90.90.9(0,1)(0,1)(0,1) 區間內的數值 ;

ErrjErr_jErrj? 是單元 jjj 的誤差 ;

OiO_iOi? 表示 單元 iii 的輸出 ;

ErrjOiErr_j O_iErrj?Oi? 是通過求導得出的梯度 ;

wij′w_{ij}'wij? 表示新的權值 ;

wijw_{ij}wij? 表示老的權值 ;


3 . 連接權值更新總結 : 該公式是梯度公式 , 后向傳播算法是梯度下降算法 , 其權值更新是 舊的權值 , 加上權值的改變 , 計算出新的連接權值 ;



V . 使用誤差更新 單元偏置



1 . 計算誤差的目的 : 使用計算出來的誤差 , 更新單元連接的 權值 , 和 單元 本身的偏置 參數 , 用于實時反映出前向傳播輸入的誤差 ;


2 . 偏置更新公式 : 修改 單元 jjj 的偏置 ;

Δθj=(l)Errj\Delta \theta_j = (l) Err_jΔθj?=(l)Errj?

θ′=θj+Δθj\theta' = \theta_j + \Delta \theta_jθ=θj?+Δθj?


Δθj\Delta \theta_jΔθj? 是偏置的改變 ;

lll 是學習率 , 一般是 0.80.80.8 , 0.90.90.9(0,1)(0,1)(0,1) 區間內的數值 ;

ErrjErr_jErrj? 是單元 jjj 的誤差 ;

θ′\theta'θ 是新的偏置 ;

θ\thetaθ 是老的偏置 ;


3 . 偏置更新總結 : 當前節點的誤差 , 乘以學習率 , 就是偏置的改變 ; 舊的偏置值 , 加上偏置改變 , 可計算出新的偏置值 ;



VI . 反向傳播 過程



1 . 權值 偏置 更新操作 : 先計算誤差 , 然后根據誤差計算 權值 和 偏置的改變值 , 再將原來的 權值 和 偏置 值 加上對應的改變值 , 計算出新的權值和偏置值 ;


2 . 反向傳播的過程 : 將誤差從后向前傳播 , 根據誤差 , 從后到前依次修改權值和偏置值 ;


① 向后傳播誤差本質 : 使用梯度下降方法 , 優化損失函數 , 使損失函數取最小值 , 在這個過程中 , 不停地迭代修改 單元連接權值 , 和 每個單元的偏置 ;

333 種梯度下降方法 : 隨機梯度下降 , 批量梯度下降 , 小批量梯度下降方法 ;

③ 損失函數 : 類似于評分函數 ; 如 誤差平方和 ;

④ 兩個核心 : 首先 , 采用什么樣的損失函數 , 其次 , 如何進行迭代修改 權值和偏置 ;



VII . 損失函數 簡介



1 . 損失函數 作用 :


① 訓練輸出 : 神經網絡 學習訓練樣本有一個輸出輸出 ;

② 樣本實際值對應輸出 : 數據集樣本的真正的屬性值對應的輸出 , 000111 ;

③ 引入損失函數 : 使用損失函數 計算 上述 訓練輸出 和 樣本實際值對應輸出 的差別 ;

④ 損失函數最小值 : 訓練輸出 和 樣本實際值對應輸出 的差別越小越好 , 因此損失函數進行優化時 , 損失函數的值越小越好 ;


2 . 損失函數優化 :


① 損失函數 優化過程 : 在優化使損失函數取最小值的過程 , 就是使對應的 單元連接權值 , 和 單元的偏置 , 等參數不斷優化的過程 ;

② 損失函數最小值 與 最佳參數 : 最終損失函數最小值的狀態的 權值 和 偏置就是 學習出的最佳參數值 ;


3 . 損失函數本質 : 損失函數 最小值 計算過程 , 就是通過 梯度下降方法 , 逐步迭代獲取 最佳 權值 與 偏置過程 ;



VIII . 損失函數



1 . 損失函數作用 : 度量 預測結果實際結果 差異 ;

① 神經網絡學習訓練目的 : 使 損失函數 取值最小 ;

② 損失函數要求 : 預測結果越好 , 損失越小 ;


2 . 損失函數選擇 :


① 分布比較 : 比較的兩個屬性是 分布 , 那么使用 交叉熵 損失函數 ;

② 數值比較 : 如果是兩個 數值屬性 之間比較 , 使用 誤差平方和 損失函數 ;



IX . 損失函數 舉例



1 . 樣本示例 :


① 樣本個數 : nnn 個 ;

② 樣本屬性 : 取值有兩種 , 000111 , 即樣本的屬性值只能從 {0,1}\{0, 1\}{0,1} 集合中取值 ;

③ 實際屬性值 : yiy_iyi? 為實際屬性值 , 并且有 yi∈{0,1}y_i \in \{0, 1\}yi?{0,1} ;

④ 預測屬性值 : xix_ixi? 為預測屬性值 , 并且有 xi∈[0,1]x_i \in [0, 1]xi?[0,1] , 在 誤差平方和 ( Mean squared error ) 損失函數中 , xix_ixi? 取值范圍可以是全體實數 ;


2 . 誤差平方和 ( 均方誤差 Mean Squared Error ) 損失函數


誤差平方和公式 : 誤差平方和 , 又叫均方誤差 , 英文全稱 Mean squared error , 簡稱 MSE ;


誤差平方和=1n∑i=1n(xi?yi)2誤差平方和 = \dfrac{1}{n} \sum_{i = 1}^{n} (x_i - y_i)^2=n1?i=1n?(xi??yi?)2


預測屬性 減去 實際屬性 得到差值 , 將該差值平方 , 目的是去掉差值的符號 ( 正負號 ) , 得到誤差平方 , 再將 nnn 個誤差平方加起來 , 得到平方和 , 然后除以 nnn 取平均值 , 即得到 nnn 個樣本的 平均的 誤差平方 , 因此叫做 均方誤差 , 又叫誤差平方和 ;


3 . 交叉熵 ( Cross Entropy ) 損失函數


交叉熵公式 :


交叉熵=?1n∑i=1n[yi×log(xi)+(1?yi)×log(1?xi)]交叉熵 = - \dfrac{1}{n} \sum_{i = 1}^{n} [ y_i \times log(x_i) + (1 - y_i) \times log(1 - x_i) ]=?n1?i=1n?[yi?×log(xi?)+(1?yi?)×log(1?xi?)]


該 交叉熵公式 通常用于比較分布之間的差別 ;



X . 損失函數 優化過程



1 . 損失函數作用 : 損失函數的目的是為神經網絡優化 每個連接的 權值 和 每個單元的 偏置 , 使數據集的損失函數最小 ;


2 . 損失函數優化注意事項 :

① 參數個數 : 參數數量很多 , 搜索算法空間很大 , 可能有百萬級 ;

② 參數取值 : 參數取值范圍很廣 , 取值范圍從 負無窮 到 正無窮 ;

③ 損失函數復雜 : 損失函數 與 參數 的關系很復雜 ;

④ 計算能力 : 對于海量的大數據 , 訓練時不能一次性訓練所有的數據 , 計算能力也是有限制的 ;

⑤ 過擬合問題 : 訓練集上損失函數達到最小值 , 在測試模型時 , 不一定能得到該結果 ;

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的【数据挖掘】神经网络 后向传播算法( 向后传播误差 | 输出层误差公式 | 隐藏层误差公式 | 单元连接权值更新公式 | 单元偏置更新公式 | 反向传播 | 损失函数 | 误差平方和 | 交叉熵 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。