0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

パーセプトロンの要点まとめ

Posted at

#最初に
以下は、ゼロから作るDeeplearning(オライリー)の学習メモです。ソースコードは、この本からほぼ写したものです。

#パーセプトロンとは
 パーセプトロンは複数の信号を受け取って、一つの信号を出力するもの。この信号は、「流す・流さない(1か0)」である。ニューロンでは、送られてきた信号の総和が計算され、その総和が限界値を超えると1を出力する。
 つまり、パーセプトロンは、入力信号に重みが乗算された値とバイアスの和が計算され、その値によって出力値が0か1か決まる。

#ANDゲート
 2つの信号が1の時だけ1を出力し、それ以外は0を出力する。ちなみに以下のような表を真理値表と呼ぶ。

x1 x2 y
0 0 0
1 0 0
0 1 0
1 1 1

Pythonによる実装例

>>> import numpy as np
>>> 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
>>> AND(0.0)
0
>>> AND(1.0)
0
>>> AND(0.1)
0
>>> AND(1.1)
1

NANDゲート

NANDゲートの出力は、ANDゲートの出力を逆にしたものになる。2つの信号の両方が1の時だけ0を出力し、それいがいは1を出力する。

x1 x2 y
0 0 1
1 0 1
0 1 1
1 1 0

Pythonによる実装例

>>> import numpy as np
>>> 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
>>> NAND(0.0)
1
>>> NAND(1.0)
1
>>> NAND(0.1)
1
>>> NAND(1.1)
0

ORゲート

 ORゲートは入力信号の少なくともひとつが1であれば、出力が1になる。

x1 x2 y
0 0 0
1 0 1
0 1 1
1 1 1

Pythonによる実装例

>>> import numpy as np
>>> def OR(x1,x2):
        x = np.array([x1,x2])
        w = np.array([0.5,0.5]) # ANDと違うのは重みとバイアスだけ
        b = -0.2
        tmp = np.sum(w*x) + b
        if tmp <= 0:
            return 0
        else:
            return 1
>>> OR(0.0)
0
>>> OR(1.0)
1
>>> OR(0.1)
1
>>> OR(1.1)
1

#XORゲート
 入力値のどちらかが1の時だけ出力が1となる。多層パーセプトロンであり、AND, NAND, ORゲートの組み合わせで表現できる。

x1 x2 y
0 0 0
1 0 1
0 1 1
1 1 0

Pythonによる実装例

def XOR(x1,x2):
    s1 = NAND(x1,x2)
    s2 = OR(x1,x2)
    y = AND(s1,s2)
    return(y)
>>> XOR(0.0)
0
>>> XOR(1.0)
1
>>> XOR(0.1)
1
>>> XOR(1.1)
0

#終わりに
・パーセプトロンは入出力のアルゴリズムである。
・重みとバイアスを設定する。
・XORゲートは、AND, NAND, ORゲートの組み合わせで表現できる。
・多層のパーセプトロンは、理論上コンピューターを表現できる。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?