オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【機械学習】パーセプトロン #実装編

この記事の読者

深層学習・ディープラーニングアルゴリズムの基礎となる
パーセプトロン」について知りたい。

キーワード・知ってると理解がしやすい

  • 論理演算

Index

パーセプトロンとは

アルゴリズムについては、まとめております yhayato1320.hatenablog.com

何ができるのか

パーセプトロンを使って何ができるのかを考えます
論理回路を題材として、パーセプトロンをつくってみます
(if 文だけで実装できますが、パラメータの更新の調整を行えば色々できるので、、、)

AND ゲート

論理演算 AND を AND ゲートとして実装してみます
AND ゲートの真理値表は以下のようになります

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

以下実装です

NAND ゲート

論理演算 NAND を NAND ゲートとして実装してみます
AND ゲートの逆ですね
NAND ゲートの真理値表は以下のようになります

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

以下実装です

OR ゲート

次は、OR ゲートです

NAND ゲートの真理値表は以下のようになります

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

以下実装です

XOR ゲート

排他的論理和とも呼ばれる論理回路です
XOR ゲートは以下のような真理値表を持ちますが、結論単層パーセプトロンでは実現不可能です

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

理由として単層パーセプトロンは、 入力 xに対して の線形的な直線を出力としているおり、
上の真理値表を4つのデータ集合としたときに、 直線での2クラス分離が不可能であるから



これは、パーセプトロンの限界となりますが対応方法は複数ある

  1. 複数の論理ゲートをつなげ、多層のパーセプトロンをつくる
  2. 入力x に対して、非線形な出力を可能とする計算を含める

学習

今までは、パラメータを設定済みのゲートを実装してみましたが、
次は、真理値表を使ってパラメータ更新する(学習する)実装をします

参考

Web サイト