感知機(jī)是1957年提出的算法,也是作為神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)的起源算法。
下面是csdn大佬總結(jié)的感知機(jī)模型以及簡單的應(yīng)用:機(jī)器學(xué)習(xí)——感知機(jī)機(jī)器學(xué)習(xí)感知機(jī)欲游山河十萬里的博客-CSDN博客
感知機(jī)是什么
感知機(jī)接收多個(gè)輸入信號,輸出一個(gè)信號輸入信號在送往神經(jīng)元的時(shí)候,分別乘以權(quán)重,神經(jīng)元會計(jì)算信號總和,只有當(dāng)這個(gè)總和超過某個(gè)界限時(shí),才會輸出1;

感知機(jī).png

image.png
感知機(jī)應(yīng)用與實(shí)現(xiàn)
a.與門
def AND(x1, x2):
x = np.array([x1, x2])
w = np.array([0.5, 0.5])
b = -0.7
tmp = np.sum(w*x) + b
if tmp <= 0:
return 0
else:
return 1
(0, 0) -> 0 #0+0-0.7
(1, 0) -> 0 #0.5+0-0.7
(0, 1) -> 0 #0+0.5-0.7
(1, 1) -> 1 #0.5+0.5-0.7
b.或門
def OR(x1, x2):
x = np.array([x1, x2])
w = np.array([0.5, 0.5])
b = -0.2
tmp = np.sum(w*x) + b
if tmp <= 0:
return 0
else:
return 1
c.與非門
def NAND(x1, x2):
x = np.array([x1, x2])
w = np.array([-0.5, -0.5])
b = 0.7
tmp = np.sum(w*x) + b
if tmp <= 0:
return 0
else:
return 1
多層感知機(jī)
從上面應(yīng)用可以看出單層感知機(jī)無法實(shí)現(xiàn)異或門,深究其原因,知感知機(jī)的原理是用直線在平面上分隔出兩個(gè)空間,其中一個(gè)空間輸出0,另一個(gè)空間輸出1;異或門無法用一條直線分隔成0和1 兩個(gè)空間;此外,直線分隔成的空間叫做線性空間,非直線分隔成的空間叫做非線性空間;所以,單層感知機(jī)只能解決線性空間問題。故引入多層感知機(jī)。
d.異或門實(shí)現(xiàn)
參考計(jì)算機(jī)組成異或門的實(shí)現(xiàn),我們知道可以利用與非門,或門和與門組合實(shí)現(xiàn);

異或門
def XOR(x1, x2):
s1 = NAND(x1, x2)
s2 = OR(x1, x2)
y = AND(s1, s2)
return y
end