概念那些就不解釋了,Google一下就有很多資料。
單一神經(jīng)元節(jié)點(diǎn)如何工作
X1, X2, ...Xn是這個(gè)神經(jīng)元的輸入,
X0時(shí)偏移量
W1,W2...Wn代表權(quán)重
從輸入數(shù)據(jù)X1, X2, ...Xn產(chǎn)生的輸出數(shù)據(jù)a的表達(dá)式是:
f是一個(gè)激活函數(shù),可以是高斯函數(shù),雙曲函數(shù),也可以是簡(jiǎn)單的線性函數(shù)
在這篇文章中,我用以下的激活函數(shù):
使用單一節(jié)點(diǎn)實(shí)現(xiàn)布爾運(yùn)算
布爾運(yùn)算包括與,或,非,異或等等……
與運(yùn)算:
另X0 = -1.5;輸出a = f(-1.5 + X1 + X2);得到真值表:
X1 | X2 | X1 & X2 | -1.5 + X1 + X2 | a |
---|---|---|---|---|
1 | 1 | 1 | 0.5 | 1 |
1 | 0 | 0 | -0.5 | 0 |
0 | 1 | 0 | -0.5 | 0 |
0 | 0 | 0 | -1.5 | 0 |
這樣就用一個(gè)神經(jīng)元節(jié)點(diǎn)成功地實(shí)現(xiàn)了與運(yùn)算。注意,X0可以是[-2, -1)之間的任何數(shù)。
或運(yùn)算:
另X0 = -0.5;輸出a = f(-0.5 + X1 + X2);得到真值表:
X1 | X2 | X1 & X2 | -0.5 + X1 + X2 | a |
---|---|---|---|---|
1 | 1 | 1 | 1.5 | 1 |
1 | 0 | 0 | 0.5 | 1 |
0 | 1 | 0 | 0.5 | 1 |
0 | 0 | 0 | -0.5 | 0 |
同樣,用單一神經(jīng)元節(jié)點(diǎn)成功實(shí)現(xiàn)了或運(yùn)算。
非運(yùn)算:
另X0 = 0;輸出a = f(1- 2X1);得到真值表:
X1 | !X1 | 1- 2X1 | a |
---|---|---|---|
1 | 0 | -1 | 0 |
0 | 1 | 1 | 1 |
同樣,用單一神經(jīng)元節(jié)點(diǎn)成功實(shí)現(xiàn)了非運(yùn)算。
使用多個(gè)神經(jīng)元節(jié)點(diǎn)實(shí)現(xiàn)同或門
同或門XNOR又稱異或非門,異或是指相同為0,不同為1,XNOR恰好相反
實(shí)現(xiàn)證明一個(gè)神經(jīng)元節(jié)點(diǎn)不能實(shí)現(xiàn)同或門:
可以證明:
A XNOR B = NOT (A XOR B)
= NOT [ (A or B) and (!A OR !B) ]
= !(A OR B) OR !(!A OR !B)
=(!A and !B) OR (A and B)
利用表達(dá)式a = f(0.5-X1-X2)可以表示(!A and !B);
因此,用一個(gè)神經(jīng)元節(jié)點(diǎn)表示(!A and !B),用另一個(gè)神經(jīng)元節(jié)點(diǎn)表示(A and B),最后將這兩個(gè)神經(jīng)元節(jié)點(diǎn)做或運(yùn)算就可以表示XNOR,如圖所示:
a1: !A and !B
a2: A and B
a3: a1 or a2