機器學習筆記(二) 神經網路

2021-08-04 02:43:32 字數 1250 閱讀 7201

神將網路在解決多分類問題時效果比logistics回歸的效果要好,作為現在最流行的機器學習演算法,我們首先來簡單了解一下:

和我們人的神經組成一樣,神將網路也是由神經元組成,先來介紹最普遍的mp神經元。

在生物的神經網路中,假設一些神經元處於興奮狀態,那麼這些神經元就會向與之相連線的神經元傳送化學物質,從而改變接受的神經元的電位,當這個電位達到乙個閾值的時候,神經元就會興奮,並進行下一波傳遞。

我們現在以當前接受的神經元為中心,把向他傳輸化學物質(資料)的神經元統一為輸出,那麼在輸入達到閾值之後,神經元就會興奮,並產生輸出。想要把這段過程完整的變為數學模型,就需要乙個啟用函式了,理想的啟用函式就是單位階躍函式,但是我們這裡就用乙個sigmoid函式來代替。

這不就是logistics回歸嗎……

上圖左邊的是輸出,中間的w是對於乙個輸出的鏈結權重,這裡的f(x)是我們剛才看到的啟用函式函式。那麼我們就可以吧神經元的線性模型表示出來: yj

=f(∑

iwix

i−θj

) 這樣神經元的模型就建好了

感知機(perceptron)就是兩層的神經網路,輸入層接受外部訊號傳遞給輸出層,輸出層是mp神經元,只要設定好閾值和鏈結權重,就可以解決與或非這樣的邏輯問題。但是由於只有一層功能神經層(mp神經元組成的)他的學習能力不夠強。

要想解決多分類問題,使用多層神經網路是最好的選擇。常見的神經網路模型我們稱為前饋神經網路:每層神經元與下一層神經元全鏈結,同層神經元之間不鏈結。其中除了輸出層和輸入層意外的神經網路均稱為隱層。這個神經網路的學習過程就是學習每層神經網路之間的連線權重和神經元的閾值

反向傳播演算法基於的是梯度下降的策略,我不喜歡冗長的數學推導過程,直接給出乙個具體的工作流程,各位看官就能明白了:

輸入:訓練集d 學習率 alpha

在(0,1)之間隨機初始化網路中的所有引數(閾值和鏈結權重)

do: for all(x,y,) in d:

計算出當前樣本的輸出y2;

計算出輸出層神經元的梯度項;

計算出隱層神經元的梯度項;

更新鏈結權重和閾值

enduntil 達到條件

至於為什麼叫反向傳播各位應該都明白了,意思是根據樣本輸出值先計算出輸出層和隱層的梯度,根據梯度更新引數,具體的公式就不列出了

簡要的談了一下神經網路的一些概念和方法,以本人拙見,輪子哥說神經網路是暴力求解也不是不無道理,仔細一看,其實神經網路就是巧妙地將神經元概念和線性回歸的概念結合到一起。這樣的確就可以接近乙個真實值。

《機器學習》筆記 神經網路

輸入 乙個實數值向量 x1,xn 輸出 o x sgn w x 其中 向量w w0,w1,wn 是要求的引數,向量x x0,x1,xn x0 1 是輸入 函式o x1,xn 實際上是求 x1,xn 的線性組合是否大於閾值 w0,從幾何上看即是在決策面的哪一側 假設空間 h 學習乙個感知器意味著從空間...

機器學習筆記22 神經網路 卷積神經網路

參考資料 面向機器智慧型的tensorflow實踐 keras example mnist cnn.py keras中文文件 常用層卷積層 卷積理解就是之前影象處理裡用作檢測邊緣 檢測角點的運算元,例如 輸入 12 34 begin 1 2 3 4 end 13 24 核 2 begin 2 end...

機器學習(二) 神經網路簡介

對生物神經網路的模仿,抽象出生物神經網路中的神經元與連線的概念,不同的是人工神經網路間的鏈結是固定的,而生物神經網路的鏈結不是固定的。2.neural networks重要元素 nn由多層神經元構成 必不可少的3層是 a.輸入層 接受資訊,以0或1的形式 b.輸出層 輸出對事物的認知,以0或1的形式...