初步了解神經網路

2021-10-02 13:03:46 字數 2250 閱讀 9685

【學習自

上圖的圓圈就代表乙個感知器。它接受多個輸入(x1,x2,x3...),產生乙個輸出(output),好比神經末梢感受各種外部環境的變化,最後產生電訊號。

為了簡化模型,我們約定每種輸入只有兩種可能:1 或 0。如果所有輸入都是1,表示各種條件都成立,輸出就是1;如果所有輸入都是0,表示條件都不成立,輸出就是0。

各種因素很少具有同等重要性:某些因素是決定性因素,另一些因素是次要因素。因此,可以給這些因素指定權重(weight),代表它們不同的重要性。

比如是否出去玩由三個因素決定:

雖然是由這三個因素決定,但是每個因素的比重不一樣,顯然因素三最重要一些我們假設其是8,因素二第二位假設是4,因素三最不重要是第三位權值2,那麼可以得出下表

因素權值

是否具有天氣4

1妹子81

心情20 總分=4+8+0=12

最終是否去不去還是由閾值來決定,閾值的高低代表了意願的強烈,閾值越低就表示越想去,越高就越不想去,當總分大於閾值的時候就會決定去,總分小於等於閾值,就不回去,這是一種決策過程。

數學表達

單個的感知器已經可以產生決策了,但是實際上,真實世界中,實際的決策模型則要複雜得多,是由多個感知器組成的多層網路。

過程:底層感知器接收外部輸入,做出判斷以後,再發出訊號,作為上層感知器的輸入,直至得到最後的結果。

感知器的輸出依然只有乙個,但是可以傳送給多個目標

對上面的過程進行數學化處理就得到了

感知器模型就變成了下面這樣。

1.神經網路的搭建需要滿足三個條件:

2.遇到的問題:

最困難的部分就是確定權重(w)和閾值(b)。目前為止,這兩個值都是主觀給出的,但現實中很難估計它們的值,必需有一種方法,可以找出答案

3.解決問題的方法

這種方法就是試錯法。其他引數都不變,w(或b)的微小變動,記作δw(或δb),然後觀察輸出有什麼變化。不斷重複這個過程,直至得到對應最精確輸出的那組w和b,就是我們要的值。這個過程稱為模型的訓練。

4.訓練的過程

整個過程需要海量計算。所以,神經網路直到最近這幾年才有實用價值,而且一般的 cpu 還不行,要使用專門為機器學習定製的 gpu 來計算。

上面的模型有乙個問題沒有解決,按照假設,輸出只有兩種結果:0和1。但是,模型要求w或b的微小變化,會引發輸出的變化。如果只輸出0和1,未免也太不敏感了,無法保證訓練的正確性,因此必須將"輸出"改造成乙個連續性函式。

這就需要進行一點簡單的數學改造。

首先,將感知器的計算結果wx + b記為z

z = wx + b
然後,計算下面的式子,將結果記為σ(z)

σ(z) = 1 / (1 + e^(-z))
這是因為如果z趨向正無窮z → +∞(表示感知器強烈匹配),那麼σ(z) → 1;如果z趨向負無窮z → -∞(表示感知器強烈不匹配),那麼σ(z) → 0。也就是說,只要使用σ(z)當作輸出結果,那麼輸出就會變成乙個連續性函式。

原來的輸出曲線是下面這樣。

現在變成了這樣。

實際上,還可以證明δσ滿足下面的公式。

即δσ和δw和δb之間是線性關係,變化率是偏導數。這就有利於精確推算出w和b的值了。

初步了解神經網路

學習自 上圖的圓圈就代表乙個感知器。它接受多個輸入 x1,x2,x3.產生乙個輸出 output 好比神經末梢感受各種外部環境的變化,最後產生電訊號。為了簡化模型,我們約定每種輸入只有兩種可能 1 或 0。如果所有輸入都是1,表示各種條件都成立,輸出就是1 如果所有輸入都是0,表示條件都不成立,輸出...

神經網路 1 快速了解神經網路

常規的神經網路我們可以知道包括 輸入層,隱藏層,輸出層 如 傳播過程為 h x w1 b1 y h w2 b2 需要注意 一系列線性方程的運算最終都可以用乙個線性方程表示。也就是說,上述兩個式子聯立後可以用乙個線性方程表達。對於兩次神經網路是這樣,就算網路深度加到100層,也依然是這樣。這樣的話神經...

初步認識神經網路

機器學習 讓機器 廣義上的計算機 通過學習來獲得類似人類的智慧型。例如 人類會下圍棋,alphago或alphago zero就是乙個掌握了圍棋知識 會下圍棋的電腦程式。神經網路 實現機器學習任務的一種演算法 數學模型。機器學習領域的神經網路,特指人工神經網路 其網路結構類似於生物神經系統,用來模擬...