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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

神经网络入门篇:详解计算一个神经网络的输出(Computing a Neural Network's output)

發(fā)布時間:2023/11/16 windows 40 coder
生活随笔 收集整理的這篇文章主要介紹了 神经网络入门篇:详解计算一个神经网络的输出(Computing a Neural Network's output) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一個神經(jīng)網(wǎng)絡(luò)的輸出

首先,回顧下只有一個隱藏層的簡單兩層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

圖1.3.1

其中,\(x\)表示輸入特征,\(a\)表示每個神經(jīng)元的輸出,\(W\)表示特征的權(quán)重,上標(biāo)表示神經(jīng)網(wǎng)絡(luò)的層數(shù)(隱藏層為1),下標(biāo)表示該層的第幾個神經(jīng)元。這是神經(jīng)網(wǎng)絡(luò)的符號慣例,下同。

神經(jīng)網(wǎng)絡(luò)的計算

關(guān)于神經(jīng)網(wǎng)絡(luò)是怎么計算的,從之前提及的邏輯回歸開始,如下圖所示。用圓圈表示神經(jīng)網(wǎng)絡(luò)的計算單元,邏輯回歸的計算有兩個步驟,首先按步驟計算出\(z\),然后在第二步中以sigmoid函數(shù)為激活函數(shù)計算\(z\)(得出\(a\)),一個神經(jīng)網(wǎng)絡(luò)只是這樣子做了好多次重復(fù)計算。

圖1.3.2

回到兩層的神經(jīng)網(wǎng)絡(luò),從隱藏層的第一個神經(jīng)元開始計算,如上圖第一個最上面的箭頭所指。從上圖可以看出,輸入與邏輯回歸相似,這個神經(jīng)元的計算與邏輯回歸一樣分為兩步,小圓圈代表了計算的兩個步驟。

第一步,計算\(z^{[1]}_1,z^{[1]}_1 = w^{[1]T}_1x + b^{[1]}_1\)。

第二步,通過激活函數(shù)計算\(a^{[1]}_1,a^{[1]}_1 = \sigma(z^{[1]}_1)\)

隱藏層的第二個以及后面兩個神經(jīng)元的計算過程一樣,只是注意符號表示不同,最終分別得到\(a^{[1]}_2、a^{[1]}_3、a^{[1]}_4\),詳細(xì)結(jié)果見下:

\(z^{[1]}_1 = w^{[1]T}_1x + b^{[1]}_1, a^{[1]}_1 = \sigma(z^{[1]}_1)\)

\(z^{[1]}_2 = w^{[1]T}_2x + b^{[1]}_2, a^{[1]}_2 = \sigma(z^{[1]}_2)\)

\(z^{[1]}_3 = w^{[1]T}_3x + b^{[1]}_3, a^{[1]}_3 = \sigma(z^{[1]}_3)\)

\(z^{[1]}_4 = w^{[1]T}_4x + b^{[1]}_4, a^{[1]}_4 = \sigma(z^{[1]}_4)\)

向量化計算
如果執(zhí)行神經(jīng)網(wǎng)絡(luò)的程序,用for循環(huán)來做這些看起來真的很低效。所以接下來要做的就是把這四個等式向量化。向量化的過程是將神經(jīng)網(wǎng)絡(luò)中的一層神經(jīng)元參數(shù)縱向堆積起來,例如隱藏層中的\(w\)縱向堆積起來變成一個\((4,3)\)的矩陣,用符號\(W^{[1]}\)表示。另一個看待這個的方法是有四個邏輯回歸單元,且每一個邏輯回歸單元都有相對應(yīng)的參數(shù)——向量\(w\),把這四個向量堆積在一起,會得出這4×3的矩陣。
因此,
公式1.8:
\(z^{[n]} = w^{[n]}x + b^{[n]}\)

公式1.9:

\(a^{[n]}=\sigma(z^{[n]})\)

詳細(xì)過程見下:
公式1.10:

\[a^{[1]} = \left[ \begin{array}{c} a^{[1]}_{1}\\ a^{[1]}_{2}\\ a^{[1]}_{3}\\ a^{[1]}_{4} \end{array} \right] = \sigma(z^{[1]}) \]

公式1.11:

\[\left[ \begin{array}{c} z^{[1]}_{1}\\ z^{[1]}_{2}\\ z^{[1]}_{3}\\ z^{[1]}_{4}\\ \end{array} \right] = \overbrace{ \left[ \begin{array}{c} ...W^{[1]T}_{1}...\\ ...W^{[1]T}_{2}...\\ ...W^{[1]T}_{3}...\\ ...W^{[1]T}_{4}... \end{array} \right] }^{W^{[1]}} * \overbrace{ \left[ \begin{array}{c} x_1\\ x_2\\ x_3\\ \end{array} \right] }^{input} + \overbrace{ \left[ \begin{array}{c} b^{[1]}_1\\ b^{[1]}_2\\ b^{[1]}_3\\ b^{[1]}_4\\ \end{array} \right] }^{b^{[1]}} \]

對于神經(jīng)網(wǎng)絡(luò)的第一層,給予一個輸入\(x\),得到\(a^{[1]}\)\(x\)可以表示為\(a^{[0]}\)。通過相似的衍生會發(fā)現(xiàn),后一層的表示同樣可以寫成類似的形式,得到\(a^{[2]}\),\(\hat{y} = a^{[2]}\),具體過程見公式1.8、1.9。

圖1.3.3

如上圖左半部分所示為神經(jīng)網(wǎng)絡(luò),把網(wǎng)絡(luò)左邊部分蓋住先忽略,那么最后的輸出單元就相當(dāng)于一個邏輯回歸的計算單元。當(dāng)有一個包含一層隱藏層的神經(jīng)網(wǎng)絡(luò),需要去實現(xiàn)以計算得到輸出的是右邊的四個等式,并且可以看成是一個向量化的計算過程,計算出隱藏層的四個邏輯回歸單元和整個隱藏層的輸出結(jié)果,如果編程實現(xiàn)需要的也只是這四行代碼。

總結(jié)
通過本篇博客,讀者應(yīng)該可以能夠根據(jù)給出的一個單獨的輸入特征向量,運用四行代碼計算出一個簡單神經(jīng)網(wǎng)絡(luò)的輸出。接下來將了解的是如何一次能夠計算出不止一個樣本的神經(jīng)網(wǎng)絡(luò)輸出,而是能一次性計算整個訓(xùn)練集的輸出。

總結(jié)

以上是生活随笔為你收集整理的神经网络入门篇:详解计算一个神经网络的输出(Computing a Neural Network's output)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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