【學習自
上圖的圓圈就代表乙個感知器。它接受多個輸入(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就是乙個掌握了圍棋知識 會下圍棋的電腦程式。神經網路 實現機器學習任務的一種演算法 數學模型。機器學習領域的神經網路,特指人工神經網路 其網路結構類似於生物神經系統,用來模擬...