從感知機到人工神經網路

2021-07-25 17:49:42 字數 3259 閱讀 7509

如下圖所示:可用乙個決策邊界w*x+b將正負樣本進行區分。其中w為權重,b為偏置項。(w*x1+b)>0被分為正樣本,否則為負樣本。

假定要本線性可分,感知機的學習目標就是求的能將正負要本完全正確分開的分離超平面,即要尋找w,b,因此要確定乙個學習策略,即定義損失函式並使其最小化。而感知機所採用的損失函式為所有誤分點到超平面的距離。l(

w,b)

=−∑x

i∈my

i(w∗

xi+b

)推到過程如下:

當沒有誤分點是,l(w,b)=0,表示沒有損失,而且誤分點越少,誤分點離超平面越近,其損失越小。感知機的學習策略就是選擇(w,b)使得損失函式最小。

感知機的學習演算法也就是對損失函式l(w,b)進行求解的過程。

minw,b

l(w,

b)=−

∑xi∈

myi(

w∗xi

+b)

感知機演算法是由誤分類點驅動的,採用隨機梯度下降法進行求解,過程如下圖所示:

從上述學習過程中,我們可以看到,感知機學習出來的超平面w*x+b並不是唯一的,其由於選擇了

1.不同的初值

2.在訓練中是隨機的選擇乙個誤分類點進行更新w,b

其實感知機學習演算法的對偶形式也很簡單,因為在原始的問題中我們對w,b進行反覆的修改,加上修改了n次,則最後學習到的w,b可以表示為:

原始問題中通過學習w,b使其收斂,對偶問題輸出的結果是alpha,b,演算法過程如下:

感知機是線性的模型,其不能表達複雜的函式,不能出來線性不可分的問題,其連異或問題(xor)都無法解決,因為異或問題是線性不可分的,怎樣解決這個問題呢,通常有兩種做法。

其一:用更多的感知機去進行學習,這也就是人工神經網路的由來。

其二:用非線性模型,核技巧,如svm進行處理。

下面將對人工神經網路進行介紹。

如下圖所示乙個典型的神經網路:

乙個神經網路有許多小的感知器組成。

z為乙個簡單的線性分類器,g(z)為對其加上啟用函式(active function)。

啟用函式也叫傳遞函式,它有許多的種類如下圖所示:

上圖分別為sigmoid,tanh,relu,leaky relu,其中在人工神經網路中常用的是sigmoid函式,卷積神經網路中常用的是relu.

為什麼需要激勵函式?

簡單的來說有兩個原因:

讓不讓當前的訊號傳遞過去,或者以多大的訊號傳遞過去

使其變成非線性

我們不能將所有的訊號都傳遞到下一層,因此要有選擇的進行傳遞,即激勵函式可以做到這一點。同時如果不加激勵函式,直接讓訊號過去,那麼相當於線性分類器,並沒有改變分類器的本質。

如下圖所示,乙個異或問題,單純的用感知機是不能解決的,因為在平面中我們找不到一條直線將其區分,但是我們可以組合兩個感知機,然後去他們的交集,從而可以完美的解決這個問題。

神經網路的表達能力是非常強大的,只有給予足夠多的神經元,通常其都面臨著過擬合的問題。

因此,過多的隱含層和神經元的節點,會帶來過擬合的問題。同常來說不應該通過降低神經網路的參數量來減少過擬合,可以用正則化項對其進行懲罰或者時通過dropout進行一部分神經元的隨機失活

反向傳播演算法(back propagation)分二步進行,即正向傳播和反向傳播。這兩個過程簡述如下:

1.正向傳播

輸入的樣本從輸入層經過隱單元一層一層進行處理,傳向輸出層;在逐層處理的過程中。在輸出層把當前輸出和期望輸出進行比較,如果現行輸出不等於期望輸出,則進入反向傳播過程。

2.反向傳播

反向傳播時,把誤差訊號按原來正向傳播的通路反向傳回,逐層修改連線權值,以望代價函式趨向最小。

誤差推導過程:

演算法過程如下:

標準bp演算法,累計bp演算法

從上述的推導計算法可以看出其實基於乙個訓練要本給出的更新權值的過程,其被稱為標準bp演算法,如果類似的基於累積誤差最小化的更新原則,得到的是累積的更新演算法,即累積bp演算法。

一般來說,標準的bp演算法每次更新只針對於單個樣例,引數更新較為頻繁,同時他還有可能出現對不同樣例更新出現「抵消」現象,因此其往往需要更多次數的迭代,累積bp演算法直接針對累積誤差最小化,它將完整訓練集讀取一遍後才進行引數的更新,其引數頻率更新的低得多,但是其累積誤差下降到一定的程式後,進一步的下降會非常的緩慢,這是標準bp往往會更快得到較好的解,尤其是在訓練集較大的時候。

人工神經網路的特點

參考資料

從感知機到神經網路

在我的之前的部落格中已經講解了感知機,接下來談到的神經網路與感知機有許多共同之處,下面主要是講講神經網路與感知機的不同之處。首先來看看乙個神經網路的示例 上圖示,最左側是輸入層,中間的一列被稱為中間層,也被稱之為隱藏層,最右一列被稱為輸出層。則,神經網路在訊號傳遞的過程中與感知機有什麼聯絡呢?在之前...

從感知機到神經網路

感知器在20世紀 五 六十年代由科學技術frank rosenblatt發明,其受到warren mcculloch和walter pitts早期的工作的影響。今天,使用其他人工神經元模型更為普遍 在這本書中,以及更多現代的神經網路工作中,主要使用的是一種叫做s型神經元的神經元模型。感知器是如何工作...

從生物神經網路到人工神經網路

如今提及人工智慧,大家期待的一定是某種可以 學習 的方法,這種方法使用數學模型從資料中獲取模式的某種表示。在眾多 學習 方法中,獲得最多關注,承載最多期望的非 神經網路 莫屬。既然我們將這種數學方法稱作神經網路,那麼他必然和廣泛存在於生物體內的神經網路存在某種聯絡。讓我們考察乙個典型的神經連線。每個...