本文為
前面的章節學習了線性回歸和邏輯演算法,實際上很多複雜的非線性分類器都依賴於神經網路演算法。
當特徵值的個數過多時,多元回歸方程的高階多項式的個數將以幾何倍數增加,特徵空間將會很大。而對於很多機器學習的例子,特徵值的個數是很大的,例如影象識別,一副中的畫素個數就代表了特徵值的數量,如果再用二次項來擬合的話,就會甚至有百萬數量級的特徵值,計算成本將會變得特別高,所以用
多元回歸方程計算就不是乙個很好的方法。
所以很多複雜的非線性分類問題會使用神經網路方法實現。
生物神經網路的作用過程:
每個神經元會與其它的神經元相連,當它「興奮」的時候,就會向相連的神經元傳送化學物質,從而改變這些神經元內的電位,如果某神經元的電位超過了乙個「閾值」,那麼它就會被啟用,即「興奮」起來,向其它神經元傳送化學物質。
神經網路模型:
在模型中,神經元接收來自n個其它神經元傳遞過來的輸入訊號,這些輸入訊號通過帶權重(weight)的鏈結進行傳遞,神經元接收到的總輸入值與神經元的的閾值(bias)進行比較,然後通過「啟用函式」(activation function)處理,產出神經元的輸出。用一句話概括就是:神經元處理接收到的資訊並傳遞給其它神經元。
如何向量化表示前向傳播的過程運算:
前向傳播(fp):從輸入層的激勵開始,向前計算隱藏層的激勵,最終計算輸出層的激勵。
當只有一層隱藏層(hidden layer,非輸入層也非輸出層)時,神經網路模型長這樣:
在第j層有sj個單元,在第j+1層有sj+1個單元,那麼
為了將以上神經網路的計算過程向量化表示,我們引入新的變數
舉個栗子,在第二層,
假設
我們希望將輸入的進行識別分類,輸出顯示為上述四種的之一
神經網路的結構可簡化為:
即,輸出的種類有4個分類,每個分類對應不同的物體:
整體的神經網路計算過程表示為:
代價函式:
邏輯回歸方程的代價函式如下:
神經網路的輸出如果有k類,那麼代價函式就是k個邏輯函式之和:
後一半部分表示將所有的
反向傳播(bp)演算法:
bp演算法的學習過程由訊號的正向傳播與誤差的反向傳播兩個過程組成。
誤差反向傳播是讓代價函式最小化的演算法,是利用輸出後的誤差來估計前一層的誤差,再利用這個誤差估計更前一層的誤差,如此一層一層的反向傳播下去,就獲得了所有其他各層的誤差。這樣就形成了將輸出層表現出的誤差沿著與輸入層傳送相反的反向逐級向網路的輸入層傳遞的過程。
每一層的計算誤差:
前一層某個單元的誤差值是由後一層每個單元誤差值與權重值的乘積之和組成的:
bp演算法的訓練過程為:
正向傳播時,輸入的訊號經過隱藏層的處理後,傳給輸出層,若輸出層未能得到期望的輸出,則進入誤差的反向傳播階段,將輸出誤差通過隱藏層向輸入層方向傳遞,隱藏層的各個節點根據獲得的誤差修改各自權重(weight)和偏差(bias),正向傳播與誤差的反向傳播過程是周而復始進行的,權重和偏差不斷修正,直到輸出誤差減少到可接受的程度或達到設定的學習次數為止。
資料探勘學習筆記 第四章 神經網路
第四章 神經網路 netral networks 例子 perceprons 感知積 power of perceprons 實現一些邏輯上的功能 gradient descent 根據誤差來調整權重 stochastic learning 感知積可以用來解決線性分類問題,線性分類器。不能解決線性不...
第四章 前饋神經網路習題
習題4 1 設損失函式為j jj,則對於第一層的引數w 1 w w 1 更新公式為 katex parse error undefined control sequence part at position 9 cfrac vec f max y vec t vec vec 習題4 3 比如,引數的...
機器學習第四章學習筆記
真的不開學了嗎,家裡蹲一學期?頂不住了 而在學習的過程中,首先的問題就是解域 這兩個引數的解究竟在哪個範圍,確定了範圍再求出最優解 也就是在解域中求得最優解 首先對於資料預處理,使兩類在超平面的同一側 並行感知機和序列感知機是以樣本的給出方式劃分的,樣本一次全部給出稱為並行,乙個乙個給出稱為序列 而...