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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

神经网络入门篇:详解神经网络概述和表示

發(fā)布時間:2023/11/9 C# 56 coder
生活随笔 收集整理的這篇文章主要介紹了 神经网络入门篇:详解神经网络概述和表示 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

神經(jīng)網(wǎng)絡概述(Neural Network Overview)

先開始快速瀏覽一下如何實現(xiàn)神經(jīng)網(wǎng)絡。上篇博客了解了邏輯回歸,了解了這個模型(見圖1.1.1)如何與下面公式1.1建立聯(lián)系。

圖1.1.1 :

公式1.1:

\[\left. \begin{array}{l} x\\ w\\ b \end{array} \right\} \implies{z={w}^Tx+b} \]

如上所示,首先需要輸入特征\(x\),參數(shù)\(w\)\(b\),通過這些就可以計算出\(z\),公式1.2:

\[\left. \begin{array}{l} x\\ w\\ b \end{array} \right\} \implies{z={w}^Tx+b} \implies{a = \sigma(z)}\\ \implies{{L}(a,y)} \]

接下來使用\(z\)就可以計算出\(a\)。將的符號換為表示輸出\(\hat{y}\implies{a = \sigma(z)}\),然后可以計算出loss function \(L(a,y)\)

神經(jīng)網(wǎng)絡看起來是如下這個樣子(圖1.1.2)。正如之前已經(jīng)提到過,可以把許多sigmoid單元堆疊起來形成一個神經(jīng)網(wǎng)絡。對于圖3.1.1中的節(jié)點,它包含了之前講的計算的兩個步驟:首先通過公式1.1計算出值\(z\),然后通過\(\sigma(z)\)計算值\(a\)

圖1.1.2

在這個神經(jīng)網(wǎng)絡(圖1.1.2)對應的3個節(jié)點,首先計算第一層網(wǎng)絡中的各個節(jié)點相關的數(shù)\(z^{[1]}\),接著計算\(\alpha^{[1]}\),在計算下一層網(wǎng)絡同理;
會使用符號\(^{[m]}\)表示第\(m\)層網(wǎng)絡中節(jié)點相關的數(shù),這些節(jié)點的集合被稱為第\(m\)層網(wǎng)絡。這樣可以保證\(^{[m]}\)不會和之前用來表示單個的訓練樣本的\(^{(i)}\)(即使用表示第\(i\)個訓練樣本)混淆;
整個計算過程,公式如下:
公式1.3:

\[\left. \begin{array}{r} {x }\\ {W^{[1]}}\\ {b^{[1]}} \end{array} \right\} \implies{z^{[1]}=W^{[1]}x+b^{[1]}} \implies{a^{[1]} = \sigma(z^{[1]})} \]

公式1.4:

\[\left. \begin{array}{r} \text{$a^{[1]} = \sigma(z^{[1]})$}\\ \text{$W^{[2]}$}\\ \text{$b^{[2]}$}\\ \end{array} \right\} \implies{z^{[2]}=W^{[2]}a^{[1]}+b^{[2]}} \implies{a^{[2]} = \sigma(z^{[2]})}\\ \implies{{L}\left(a^{[2]},y \right)} \]

類似邏輯回歸,在計算后需要使用計算,接下來需要使用另外一個線性方程對應的參數(shù)計算\(z^{[2]}\)
計算\(a^{[2]}\),此時\(a^{[2]}\)就是整個神經(jīng)網(wǎng)絡最終的輸出,用 \(\hat{y}\)表示網(wǎng)絡的輸出。

公式1.5:

\[\left. \begin{array}{r} {da^{[1]} = ozvdkddzhkzd\sigma(z^{[1]})}\\ {dW^{[2]}}\\ {db^{[2]}}\\ \end{array} \right\} \impliedby{{dz}^{[2]}=ozvdkddzhkzd(W^{[2]}\alpha^{[1]}+b^{[2]}}) \impliedby{{{da}^{[2]}} = ozvdkddzhkzd\sigma(z^{[2]})}\\ \impliedby{{dL}\left(a^{[2]},y \right)} \]

知道這其中有很多細節(jié),其中有一點非常難以理解,即在邏輯回歸中,通過直接計算\(z\)得到結果\(a\)。而這個神經(jīng)網(wǎng)絡中,反復的計算\(z\)\(a\),計算\(a\)\(z\),最后得到了最終的輸出loss function

應該記得邏輯回歸中,有一些從后向前的計算用來計算導數(shù)\(da\)\(dz\)。同樣,在神經(jīng)網(wǎng)絡中也有從后向前的計算,看起來就像這樣,最后會計算\(da^{[2]}\)\(dz^{[2]}\),計算出來之后,然后計算計算\(dW^{[2]}\)\(db^{[2]}\) 等,按公式1.4、1.5箭頭表示的那樣,從右到左反向計算。

至此大概了解了一下什么是神經(jīng)網(wǎng)絡。

神經(jīng)網(wǎng)絡的表示

先回顧一下上一篇博客的圖片,在這里將討論這些圖片的具體含義,也就是畫的這些神經(jīng)網(wǎng)絡到底代表什么。

首先關注一個例子,本例中的神經(jīng)網(wǎng)絡只包含一個隱藏層(圖1.2.1)。這是一張神經(jīng)網(wǎng)絡的圖片,讓給此圖的不同部分取一些名字。

圖1.2.1

有輸入特征\(x_1\)\(x_2\)\(x_3\),它們被豎直地堆疊起來,這叫做神經(jīng)網(wǎng)絡的輸入層。它包含了神經(jīng)網(wǎng)絡的輸入;然后這里有另外一層稱之為隱藏層(圖1.2.1的四個結點)。待會兒會回過頭來講解術語"隱藏"的意義;在本例中最后一層只由一個結點構成,而這個只有一個結點的層被稱為輸出層,它負責產(chǎn)生預測值。解釋隱藏層的含義:在一個神經(jīng)網(wǎng)絡中,當使用監(jiān)督學習訓練它的時候,訓練集包含了輸入\(x\)也包含了目標輸出\(y\),所以術語隱藏層的含義是在訓練集中,這些中間結點的準確值是不知道到的,也就是說看不見它們在訓練集中應具有的值。能看見輸入的值,也能看見輸出的值,但是隱藏層中的東西,在訓練集中是無法看到的。所以這也解釋了詞語隱藏層,只是表示無法在訓練集中看到他們。

現(xiàn)在再引入幾個符號,就像之前用向量\(x\)表示輸入特征。這里有個可代替的記號\(a^{[0]}\)可以用來表示輸入特征。\(a\)表示激活的意思,它意味著網(wǎng)絡中不同層的值會傳遞到它們后面的層中,輸入層將\(x\)傳遞給隱藏層,所以將輸入層的激活值稱為\(a^{[0]}\);下一層即隱藏層也同樣會產(chǎn)生一些激活值,那么將其記作\(a^{[1]}\),所以具體地,這里的第一個單元或結點將其表示為\(a^{[1]}_{1}\),第二個結點的值記為\(a^{[1]}_{2}\)以此類推。所以這里的是一個四維的向量如果寫成Python代碼,那么它是一個規(guī)模為4x1的矩陣或一個大小為4的列向量,如下公式,它是四維的,因為在本例中,有四個結點或者單元,或者稱為四個隱藏層單元;
公式1.7

\[a^{[1]} = \left[ \begin{array}{ccc} a^{[1]}_{1}\\ a^{[1]}_{2}\\ a^{[1]}_{3}\\ a^{[1]}_{4} \end{array} \right] \]

最后輸出層將產(chǎn)生某個數(shù)值\(a\),它只是一個單獨的實數(shù),所以的\(\hat{y}\)值將取為\(a^{[2]}\)。這與邏輯回歸很相似,在邏輯回歸中,有\(\hat{y}\)直接等于\(a\),在邏輯回歸中只有一個輸出層,所以沒有用帶方括號的上標。但是在神經(jīng)網(wǎng)絡中,將使用這種帶上標的形式來明確地指出這些值來自于哪一層,有趣的是在約定俗成的符號傳統(tǒng)中,在這里所看到的這個例子,只能叫做一個兩層的神經(jīng)網(wǎng)絡(圖1.2.2)。原因是當計算網(wǎng)絡的層數(shù)時,輸入層是不算入總層數(shù)內(nèi),所以隱藏層是第一層,輸出層是第二層。第二個慣例是將輸入層稱為第零層,所以在技術上,這仍然是一個三層的神經(jīng)網(wǎng)絡,因為這里有輸入層、隱藏層,還有輸出層。但是在傳統(tǒng)的符號使用中,如果閱讀研究論文,會看到人們將這個神經(jīng)網(wǎng)絡稱為一個兩層的神經(jīng)網(wǎng)絡,因為不將輸入層看作一個標準的層。


圖1.2.2

最后,要看到的隱藏層以及最后的輸出層是帶有參數(shù)的,這里的隱藏層將擁有兩個參數(shù)\(W\)\(b\),將給它們加上上標\(^{[1]}\)(\(W^{[1]}\),\(b^{[1]}\)),表示這些參數(shù)是和第一層這個隱藏層有關系的。之后在這個例子中會看到\(W\)是一個4x3的矩陣,而\(b\)是一個4x1的向量,第一個數(shù)字4源自于有四個結點或隱藏層單元,然后數(shù)字3源自于這里有三個輸入特征,之后會更加詳細地討論這些矩陣的維數(shù),到那時可能就更加清楚了。相似的輸出層也有一些與之關聯(lián)的參數(shù)\(W^{[2]}\)以及\(b^{[2]}\)。從維數(shù)上來看,它們的規(guī)模分別是1x4以及1x1。1x4是因為隱藏層有四個隱藏層單元而輸出層只有一個單元,之后會對這些矩陣和向量的維度做出更加深入的解釋,所以現(xiàn)在已經(jīng)知道一個兩層的神經(jīng)網(wǎng)絡什么樣的了,即它是一個只有一個隱藏層的神經(jīng)網(wǎng)絡。

總結

以上是生活随笔為你收集整理的神经网络入门篇:详解神经网络概述和表示的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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