単層パーセプトロンを使ってANDを作る

単層パーセプトロンを使ってANDを作る。ANDは

ABX
000
010
100
111

となるような演算である。一方で単層パーセプトロンとはそれぞれの入力\(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

コメント

タイトルとURLをコピーしました