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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

神经网络入门篇:神经网络的梯度下降(Gradient descent for neural networks)

發(fā)布時間:2023/11/21 windows 36 coder
生活随笔 收集整理的這篇文章主要介紹了 神经网络入门篇:神经网络的梯度下降(Gradient descent for neural networks) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

神經(jīng)網(wǎng)絡的梯度下降

  • 在這篇博客中,講的是實現(xiàn)反向傳播或者說梯度下降算法的方程組

單隱層神經(jīng)網(wǎng)絡會有\(W^{[1]}\)\(b^{[1]}\)\(W^{[2]}\)\(b^{[2]}\)這些參數(shù),還有個\(n_x\)表示輸入特征的個數(shù),\(n^{[1]}\)表示隱藏單元個數(shù),\(n^{[2]}\)表示輸出單元個數(shù)。

在這個例子中,只介紹過的這種情況,那么參數(shù):

矩陣\(W^{[1]}\)的維度就是(\(n^{[1]}, n^{[0]}\)),\(b^{[1]}\)就是\(n^{[1]}\)維向量,可以寫成\((n^{[1]}, 1)\),就是一個的列向量。
矩陣\(W^{[2]}\)的維度就是(\(n^{[2]}, n^{[1]}\)),\(b^{[2]}\)的維度就是\((n^{[2]},1)\)維度。

還有一個神經(jīng)網(wǎng)絡的成本函數(shù),假設(shè)在做二分類任務,那么的成本函數(shù)等于:

Cost function:

公式:

\(J(W^{[1]},b^{[1]},W^{[2]},b^{[2]}) = {\frac{1}{m}}\sum_{i=1}^mL(\hat{y}, y)\)

loss function和之前做logistic回歸完全一樣。

訓練參數(shù)需要做梯度下降,在訓練神經(jīng)網(wǎng)絡的時候,隨機初始化參數(shù)很重要,而不是初始化成全零。當參數(shù)初始化成某些值后,每次梯度下降都會循環(huán)計算以下預測值:

\(\hat{y}^{(i)},(i=1,2,…,m)\)

公式1.28:

\(dW^{[1]} = \frac{dJ}{dW^{[1]}},db^{[1]} = \frac{dJ}{db^{[1]}}\)

公式1.29:

\(ozvdkddzhkzdW^{[2]} = \frac{{dJ}}{dW^{[2]}},ozvdkddzhkzdb^{[2]} = \frac{dJ}{db^{[2]}}\)

其中

公式1.30:

\(W^{[1]}\implies{W^{[1]} - adW^{[1]}},b^{[1]}\implies{b^{[1]} -adb^{[1]}}\)

公式1.31:

\(W^{[2]}\implies{W^{[2]} - \alpha{\rm d}W^{[2]}},b^{[2]}\implies{b^{[2]} - \alpha{\rm d}b^{[2]}}\)

正向傳播方程如下(之前講過):

forward propagation

(1)
\(z^{[1]} = W^{[1]}x + b^{[1]}\)
(2)
\(a^{[1]} = \sigma(z^{[1]})\)
(3)
\(z^{[2]} = W^{[2]}a^{[1]} + b^{[2]}\)
(4)
\(a^{[2]} = g^{[2]}(z^{[z]}) = \sigma(z^{[2]})\)

反向傳播方程如下:

back propagation

公式1.32:

$ dz^{[2]} = A^{[2]} - Y , Y = \begin{bmatrix}y^{[1]} & y^{[2]} & \cdots & y^{[m]}\ \end{bmatrix} $

公式1.33:

$ dW^{[2]} = {\frac{1}{m}}dz{[2]}A $

公式1.34:

$ {\rm d}b^{[2]} = {\frac{1}{m}}np.sum(ozvdkddzhkzdz^{[2]},axis=1,keepdims=True)$

公式1.35:

$ dz^{[1]} = \underbrace{W^{[2]T}{\rm d}z{[2]}}_{(n,m)}\quad\underbrace{{g{[1]}}{'}}_{activation ; function ; of ; hidden ; layer}\quad\underbrace{(z{[1]})}_{(n,m)} $

公式1.36:

\(dW^{[1]} = {\frac{1}{m}}dz^{[1]}x^{T}\)

公式1.37:

\({\underbrace{db^{[1]}}_{(n^{[1]},1)}} = {\frac{1}{m}}np.sum(dz^{[1]},axis=1,keepdims=True)\)

上述是反向傳播的步驟,注:這些都是針對所有樣本進行過向量化,\(Y\)\(1×m\)的矩陣;這里np.sum是python的numpy命令,axis=1表示水平相加求和,keepdims是防止python輸出那些古怪的秩數(shù)\((n,)\),加上這個確保陣矩陣\(db^{[2]}\)這個向量輸出的維度為\((n,1)\)這樣標準的形式。

目前為止,計算的都和Logistic回歸十分相似,但當開始計算反向傳播時,需要計算,是隱藏層函數(shù)的導數(shù),輸出在使用sigmoid函數(shù)進行二元分類。這里是進行逐個元素乘積,因為\(W^{[2]T}dz^{[2]}\)\((z^{[1]})\)這兩個都為\((n^{[1]},m)\)矩陣;

還有一種防止python輸出奇怪的秩數(shù),需要顯式地調(diào)用reshapenp.sum輸出結(jié)果寫成矩陣形式。

以上就是正向傳播的4個方程和反向傳播的6個方程,這里是直接給出的。

總結(jié)

以上是生活随笔為你收集整理的神经网络入门篇:神经网络的梯度下降(Gradient descent for neural networks)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。