神經網路學習1

2022-06-17 02:58:50 字數 1680 閱讀 7860

神經網路模型建立在很多神經元之上,每個神經元又是乙個學習模型。這些蛇恩靜元也叫作啟用單元。下面我們以乙個邏輯斯特回歸模型作為自身學習模型,引數又可以被稱為權重。

其中x1,x2,x3是輸入單元,我們將原始資料輸入給它們。a1,a2,a3是中間單元,它們負責將資料進行處理,然後呈遞到下一層。最後是輸出單元,它負責計算hθ(x)。如上圖所示,第一層為輸入錯,最後一次為輸出層,中間一層為隱藏層。我們的每一層其實都有乙個偏差單位,相當於x0,其值始終為1。

代表第j層的第i個啟用單元。θ(i)權重矩陣它控制從某一層到某一層的對映。θ(i)的維度是3*4。

對於上圖所示的模型,啟用單元和輸出分別表達為:

在這裡a(1)=x=

z(2)=

加上偏置單元x0=1對a(2)並無影響。

接下來我們擬合神經網路的代價引數

假設我們要區分出k個類,那麼k個類有k個輸出單元(k>-3)

(hθ(x))i=第i個輸出

那麼我們的代價函式就為

我們現在設δ為誤差,δ上面的引數為(l)下面的引數是j,表示第l層的第j個輸出項和y之間的誤差。

假如我們現在又乙個4層的訓練集,按照向前傳播演算法可以得到下圖所示算式。

我們現在使用向後傳播演算法來計算誤差δ。

則δ(4)=a(4)-y

我們利用這個誤差來計算前一層的誤差:

,g『(z(3))=a(3)

*(1-a(3))。而

則是權重導致的誤差的和。然後可以依次類推之後的誤差。而第一層是輸入變數,不存在誤差。

當我們有了所有的表示式後,就可以計算代價函式的偏導數了,假設λ=0,即我們不做任何正則化處理時有:

在上面這個式子裡,它的下標分別代表著下面這幾種意思:

l代表目前所計算的是第幾層。

j代表目前計算層

中的啟用單元的下標,也將是下一層的第j個輸入變數的下標。

i代表下一層中誤差單元的下標,是受到權重矩陣中第i行影響的下一層中的誤差單元的下標。

如果我們考慮正則化處理,並且我們的訓練集是乙個矩陣而不是向量,在上面的特殊情況中,我們需要計算每一層的誤差單元來計算代價函式的偏導數。在更為一般的情況中,我們同樣需要計算每一層的誤差單元,但是我們需要為整個訓練集計算誤差單元,此時的誤差單元也是乙個矩陣,我們用大寫的δ來表示這個誤差矩陣。我們計算大寫δ的演算法表示為:

即首先用整向傳播方法計算出每一層的啟用單元,利用訓練集的結果與神經網路**的結果求出最後一層的誤差,然後利用該誤差運用反向傳播法求取直至第二層的所有誤差。

那麼我們一般情況下的偏導數的計算方法如下:

BP神經網路學習 1

神經網路分為三層 輸入層 input layer 隱含層 hidden layer 輸出層 output layer 輸入層的個數由輸入層的特徵個數決定,而不是樣本的個數 假設輸入層有n個節點,隱含層有m個節點,輸出層有k個節點 令w ni mj為輸入層第i個節點到隱含層第j個節點的乙個連線強度 這...

神經網路(1)

一 什麼是神經網路 神經網路模型 knn 於生物體的神經系統,是一組連線的輸入 輸出單元,每個連線都與乙個權重相關聯。神經網路模式可以學習資料的特點,訓練的資料不同,產生的模型不同。應用場景 不知道用什麼數學模型合適 知道應用什麼模型但不知道模型複雜度時可以使用。比如要做分類問題,但屬於非線性的切分...

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

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