依照我的理解,有訊號輸入,然後有乙個訊號輸出的機器(或者說機制)就是乙個感知機。下圖1便是乙個簡單的感知機:有兩個訊號x1、
x2x_1、x_2
x1、x2
輸入,分別乘以權重w1、
w2w_1、w_2
w1、w2
便得到中間值tmp,即 tmp=x1∗
w1+x
2∗w2
x_1*w_1+x_2*w_2
x1∗w1
+x2
∗w2
,然後判斷tmp是否大於閾值θ
\theta
θ,若大於閾值輸出y=1
y=1y=
1,否則y=0
圖1通過修改權重w1、
w2w_1、w_2
w1、w2
和閾值θ
\theta
θ的數值大小可以構建簡單的邏輯電路,比如與門、或門和與非門。關於詳細的構建方法與python實現可以參考《深度學習入門:基於python的理論與實現》一書。順便一提,因為感知機可以構建與非門,因此理論上還能用來構建計算機。
畫個圖可以看出,與門、或門和與非門都可以線性分割,但對於異或門卻不能用線性分割。所謂線性分割就是用一條直線去區分不同的輸出情況。以或門為例,如圖2所示,用一條直線可以區分△和○(△:y=1
y=1y=
1○:y=0
y=0y=
0),不同的權重和閾值可以構建不同的直線,理論上是無數條。但對於異或門(如圖3)卻不可能用一條直線將△和○(△:y=1
y=1y=
1○:y=0
y=0y=
0)區分開,只能用曲線將△和○劃分為兩個空間。這裡,用直線區分得到的兩個空間,如或門的△和○空間,叫做線性空間;用曲線區分得到的兩個空間,如異或門的△和○空間,叫做非線性空間。線性空間和非線性空間是機器學習領域中非常常見的術語,務必熟悉。顯然,單層感知機只能構建線性空間,因此沒辦法用單層感知機構建非線性空間的異或門。
圖2
圖3 多層感知機就是疊加了多個感知機。如圖4所示,第0層是訊號輸入層,有兩個訊號x1、
x2x_1、x_2
x1、x2
輸入給第一層的兩個感知機s1、
s2s_1、s_2
s1、s2
;訊號x1、
x2x_1、x_2
x1、x2
經過第一層的兩個感知機s1、
s2s_1、s_2
s1、s2
得到兩個輸出訊號;兩個輸出訊號作為第二層感知機的輸入訊號,經過第二層感知機,從而得到輸出訊號y
yy。我個人認為圖4這個圖畫的還不是很準確,應該再多加乙個輸出層,如圖5所示,這樣才能更好的反映感知機的作用。圖1也應該多加乙個輸出層。
圖4 圖5 為了解決單層感知機無法表示異或門的情況,我們可以用雙層感知機來表示,如圖6所示。真值表如圖7所示。
圖6
圖7 至此,感知機的概念就講完了。本質上來說,感知機就是乙個訊號轉換器。單層感知機就是乙個單層神經網路;如圖5所示的用感知機來表示的異或門是乙個雙層神經網路。
[1] 《深度學習入門:基於python的理論與實現》第2章 感知機
[2]
深度學習入門 感知機
感知機是乙個比較古老的演算法 那麼我們為什麼要學它呢,主要是因為感知機也是神經網路 深度學習 的起源的演算法,接下來我們將簡單介紹感知機,並用感知機解決一些簡單的問題。感知機就相當於乙個神經元,接受乙個或多個訊號時,輸出乙個訊號,0 1。輸入的每個訊號乘以固定的權重,當他們的總和超過某個界限時,才會...
深度學習入門07 多層感知機
異或門可以通過其他閘電路進行表示,我們可以通過組合與門 與非門 或門實現異或門的邏輯功能 在大學的 數字電子技術基礎 這門課中,這個是非常基礎的知識哦 在已知與門 與非門 或門的邏輯功能 真值表 的情況下,如何使用這些邏輯門組合出異或門的邏輯功能呢?我們在這裡給大家提供一種思路,按照下面組合的方式將...
深度學習入門筆記之感知機
1 感知機是什麼?感知機可以簡單地認為是乙個轉換器,它可以接受多個訊號,輸出乙個訊號。就如同我們初中物理課程裡面常常提到的與門,這就是乙個很簡單的感知機。2 感知機的相關概念。a 閾值 輸入的值通過相關函式進行計算,然後將計算出來的值輸入感知機,如果滿足感知機的設定值,就會啟用出相應的輸出。我們把這...