為什麼感知機不能表示異或?

2021-10-08 10:08:54 字數 890 閱讀 4755

1.感知機的數學定義

感知機可以簡單地理解為單層的神經網路。

感知機到底是什麼呢?首先來看一下他的數學定義:

假設輸入空間(即樣本的特徵空間)為x⊆rn,輸出空間為y=。輸入位x⊂x表示樣本的特徵向量,對應於輸入空間(特徵空間)的點;輸出y⊂y表示樣本類別。由輸入空間到輸出空間對應的函式關係如下:

f(x)=sign(w⋅x)+b

此函式被稱為感知機

其中,w,與b為感知機的模型引數,w⊂rn,為權重(weight)或權值向量(weight vector),b⊂r為偏置(bias),w⋅x表示w與x的內積,而sign是符號函式,即:

感知機是一種線性分類模型,屬於判別模型。

2.異或是線性不可分

異或之所以重要,是因為它相對於其他邏輯關係,例如與(and), 或(or)等,異或是線性不可分的

如圖,你不可能用一條線區分x o 這個兩個部分。

3.那含有隱藏層的神經網路為什們可以表示異或呢,主要是在輸入到隱藏層之間加了啟用函式,網路變成了乙個非線性的函式。表達能力提公升了。如果沒有啟用函式,就算是你有多少個隱藏層還是不行,不能表示異或。

參考:神經網路表示異或**

感知機

感知機不能表示「異或」

首先,我們分析一下什麼是感知機,所謂感知機就是 假設輸入空間 即特徵空間 是 輸入表示例項的特徵向量,對於輸入空間的點,輸出 其中sign是符號函式,w和b是感知機引數。通過定義可以發現感知機是一種線性分類模型。那麼異或問題是什麼呢?異或可以表示為如下形式 即異或問題可以分為根據輸出可以分為兩類,顯...

為什麼叫感知機

html 某天講關於svm的 講到感知機的時候,老師提了個問題 為什麼叫感知機,一下把我問住了,查閱了一些資料,下面寫寫自己的理解。感知機是從英文翻譯過來的,英文為 perceptron,這個詞是專門給感知機新造的 搜尋perceptron只有乙個解釋就是神經網路中的感知機 根據老美造詞兒的習慣,也...

為什麼浮點數不能精確表示?

我們知道,在編寫程式時,兩個浮點數 float或double 不能直接進行大小比較。當然,我們也都知道,不能直接進行大小比較的原因是因為浮點數在計算機內部不能精確的表示。可是,為什麼在計算機內部浮點數不能夠精確地表示呢?這還得從ieee 754標準說起。根據ieee 754標準,浮點數在計算機內部儲...