単層パーセプトロンを使ってANDを作る。ANDは
A | B | X |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
となるような演算である。一方で単層パーセプトロンとはそれぞれの入力\(x\)に重み \( w \) を乗じて和をとったもので
\begin{align}
y=\sum w_i x_i
\end{align}
で与えられる。この出力 \( y \) は閾値 \( \theta \) により二値化され
\begin{align}
y=
\begin{cases}
0 \hspace{5mm} & (y \leq \theta ) \\
1 & (y > \theta )
\end{cases}
\end{align}
が出力される。これをpythonで実装すると次のようになる。
import mylib
print(mylib.AND(0,0))
print(mylib.AND(0,1))
print(mylib.AND(1,0))
print(mylib.AND(1,1))
def AND(x1,x2):
w1,w2,theta=0.5,0.5,0.7
if (w1*x1+w2*x2)<=theta:
return 0
else:
return 1
コメント