Hello World感知機 懂你我心才安息

2021-08-02 05:30:57 字數 2637 閱讀 7809

摘要: 感知機,就如同神經網路(包括深度學習)的「hello world」。如果不懂它,就如同「為人不識陳近南,便稱英雄也枉然」一樣尷尬。當感知機可以模擬人類的感知能力,當它能夠明辨與或非,但它最大的「疑惑」就是「異或」。難道機器領域也只能是異性才能有結果嗎?

系列文章:

一入侯門「深

」似海,深度學習深幾許(深度學習入門系列之一)

人工「碳」索意猶盡,智慧型「矽」來未可知(深度學習入門系列之二)

神經網路不勝語,

m-p模型似可尋(深度學習入門系列之三)

「機器學習

」三重門,

「中庸之道

」趨若人(深度學習入門系列之四)

原文再續,書接上回。

我們知道,《三字經》裡開篇第一句就是:「人之初,性本善」。那麼對於神經網路來說,這句話就要改為:「網之初,感知機」。感知機(

perceptrons ),基本上來說,是一切神經網路學習的起點。

很多有關神經網路學習(包括深度學習)的教程,在提及感知機時,都知道繞不過,但也僅僅一帶而過。學過程式設計的同學都知道,不論是哪門什麼語言,那個神一般存在的第乙個程式——「

hello world

」,對初學者有多麼重要,可以說,它就是很多人「光榮與夢想」開始的地方。

而感知機學習,就是神經網路學習的「

hello world

」,所以對於初學者來說,也值得我們細細玩味。因此,下面我們就給予詳細講解。在第3

小節中,我們已經提到,所謂的感知機,其實就是乙個由兩層神經元構成的網路結構,它在輸入層接收外界的輸入,通過啟用函式(含閾值)的變換,把訊號傳送至輸出層,因此它也稱之為

「閾值邏輯單元(

threshold logic unit)」

。麻雀雖小,五臟俱全。感知機雖然簡單,但已初具神經網路的必備要素。在前面我們也提到,所有「有監督」的學習,在某種程度上,都是分類(

classification

)學習演算法。而感知機就是有監督的學習,所以,它也是一種分類演算法。下面我們就列舉乙個區分「西瓜和香蕉」的經典案例,來看看感知機是如何工作的

[1]。

為了簡單起見,我們就假設西瓜和香蕉都僅有兩個特徵(

feature

):形狀和顏色,其它特徵暫不考慮。這兩個特徵都是基於視覺刺激而得到的。

圖5-1 

感知機學習演算法

假設特徵x1

代表輸入顏色,特徵x2

代表形狀,權重w1

和w2預設值都為

1,為了進一步簡化,我們把閾值θ(亦有教程稱之為偏值——

bias

)設定為

0。為了標識方便,我們將感知器輸出為「

1」,代表判定為「西瓜」,而輸出為「

0」,代表判定為「香蕉」。當然了,如果有更多類別的物品,我們就用更多的數字來標記即可。

為了方便機器計算,我們對顏色和形狀這兩個特徵,給予不同的值,以示區別。比如,顏色這個特徵為綠色時,x1

取值為1

,而當顏色為黃色時,x1

取值為-1

;類似地,如果形狀這個特徵為圓形,x2

取值為1

,反之,形狀為彎曲狀時,x2

取值為-1

,如表5-1

所示。

這樣一來,可以很容易依據圖

5-1所示的公式,對於西瓜、香蕉做鑑定(即輸出函式

f的值),其結果分別如圖

5-2(

a)所示:

圖5-2 

感知器的輸出

從圖5-2(a

)所示的輸出可以看到,對西瓜的判定輸出結果是

2,而香蕉的為

-2。而我們先前預定的規則是:函式輸出為

1,則判定為西瓜,輸出為

0,則判定為香蕉,那麼如何將2或

-2這樣的分類結果,變換成預期的分類表達呢,這個時候,就需要啟用函式上場了!

這裡,我們使用了最為簡單的階躍函式(

step function

)。在階躍函式中,輸出規則非常簡單:當

x>0時,f

(x)輸出為

1,否則輸出

0。通過啟用函式的「潤滑」之後,結果就變成我們想要的樣子(如圖

5-2-b

所示)。就這樣,我們就搞定了西瓜和香蕉的判定。

這裡需要說明的是,物件的不同特徵(比如水果的顏色或形狀等),只要用不同數值區分表示開來即可,具體用什麼樣的值,其實並無大礙。

但你或許會疑惑,這裡的閾值(

threshold)θ

和兩個連線權值w1和

w2,為啥就這麼巧分別就是0、

1、1呢?如果取其它數值,會有不同的判定結果嗎?

這是個好問題。事實上,我們並不能一開始就知道這幾個引數的取值,而是一點點地非常苦逼地「折騰

試錯」(

try-error

)出來的,而這裡的「折騰試錯」其實就是感知機的學習過程!

下面,我們就聊聊最簡單的神經網路——感知機它是如何學習的?

感知機模型

這裡介紹機器學習中最簡單的一種分類方法 感知機模型。感知機模型 其中sign是符號函式,w和b是引數,x是輸入特徵向量,f x 返回決策結果。分離超平面s 對於二類線性可分問題,分離超平面將兩類樣本分在s兩側。空間中一點x0到s的距離 損失函式 定義損失函式的意義是所有誤分類的點到分離超平面的距離之...

多層感知機

1 單輸出多層感知機 單輸出多層感知機 圖中各變數滿足公式 假如現在有乙個樣本 x 1,x2 t 用該樣本訓練網路時,網路優化的目標為lossfun最小。lossfun是乙個關於變數w和v多元函式。網路的訓練又變成多元函式求極值的問題。求v1的梯度 同理可得v i的梯度 求w11的梯度 同理,可得w...

感知機演算法

1 目標 感知機演算法針對二分類問題 f x x 1 實質在於對於線性可分的資料集 x i0,x i1,x in y i xi y i i 0,1 2,m 2 找到乙個超平面 x b 0 將資料分成兩部分,使得位於位於超平面上半部分的資料點屬於 1 類,處於超平面下半空間的資料點屬於 1 類。2 優...