神經網路說起來很神秘,在輸入項少,隱藏層少的情況下還是不難的。本文手動構建了一,2項輸入、2隱藏層,1輸出的前向神經網路。
基本的模式就是 過程->符號->公式->**。
程式過程就是錄入資料項訓練->結果。
關注點就是公式->**。
1.
我們構建的過程圖
2.
符號說明
3.
每步公式
3.1
輸入到第乙個隱藏層
3.2
第二個隱藏層
3.3
第二個隱藏層到輸出
3.4
啟用函式
4.
過程圖**
5.
損失函式公式與對應**(l2正則修正交叉熵函式)
1、我們構建的過程圖
輸入2->2隱藏層->輸出1
2.
符號說明
2.1x:輸入
2.2隱藏層兩個符號
z=wx+b //沒經過啟用函式
h=relu(z) //經過了啟用函式
3.
每步公式
維度這就是(行,列)數的意思。
3.1輸入到第乙個隱藏層
3.2第一層到第二個隱藏層
3.3第二個隱藏層到輸出
3.4啟用函式
兩個()
()4
過程圖**
4.1
輸入x並顯示
設定每個隱藏層的引數 特別是w b 得到h z
3
步:1.輸入隱含層引數,初始化wb
2 ,20 ,5 ,1是維度值 輸入是2,第一層20 ,第二層5,輸出是1
2.根據4個值取w b的值,其實就是在範圍值中取隨機值
實現前向神經網路函式
輸入4項:x w,b 還有啟用函式
輸出:h z
損失函式公式與對應**
其實是交叉熵函式加l2
正則結果,以下是交叉熵函式,為的是權重衰減,防止過擬合。
對應的**
面試 前向神經網路
z很大或者很小時,梯度都會趨於0 優點 反向傳播 乙個是回歸,乙個是分類 平方誤差基於梯度的學習速度非常緩慢,交叉熵導數是線性的。不能,因為神經網路同層同構,擁有相同的輸入,如果引數也完全相同則無論前向還是後向結果都是一樣的,學習過程永遠無法打破這種對稱性,最終學習過的引數仍然相同。dropout作...
AI 機器學習 13 神經網路 RNN
什麼時候用?文字 音訊分析。永標準的神經網路用來解決這些問題時的缺點?1.標準的神經網路,輸入樣本長度固定的。這個可以處理序列訊號長度不同的情況。比如輸入文字,第一次輸入20個詞,第二次輸入30個詞。rnn用輸出序列解決這個問題。2.標準神經網路無法共享特徵。比如一句話裡有兩個相同的詞,李雷 第乙個...
eigen(二) 神經網路前向
void array2matrix matrixxf mat1 map array1,2,3 cout mat1 endl 預設是colmajor,output 1 3 5 2 4 6 假設array原始的矩陣是以下形式 rowmajor 1 2 3 4 5 6 float array2 matri...