LoginSignup
3
3

More than 5 years have passed since last update.

Pythonでコンピュータを作る#2 -パーセプトロンとは-

Last updated at Posted at 2018-05-24

大学にいる蟻が大きすぎて怖い大学生のMotmuuです.
今日はパーセプトロンについて勉強していきます.

開発環境

以下の環境で勉強していきたいと思います.
・Python 3.6.5
・Mac OS X 10.13.2
・Atom 1.10.2

まず...コンピュータって?

よく聞くコンピュータという言葉ですが,研究者が意味するコンピュータというものと世間がイメージするコンピュータというのは若干のズレがあります.
僕自身も,勉強するまではキーボードがあってYoutubeとか見れるのがコンピュータと思っていましたが,現在のコンピュータに必要なのは以下の3つの役割です

・入力装置
・出力装置
・記憶装置,演算装置,制御装置

少し詳しく説明勉強してみましょう.

入力装置

入力装置とは,計算機にデータを読み込むための装置を指します.例えば,文字データを入力するキーボードや,画面上のポインタを移動させる位置情報を与えるマウス,画像データを与えるスキャナなどです.これらにより次の記憶装置,演算装置,制御装置に情報を伝達することができます.

記憶装置,演算装置,制御装置

処理やデータが記憶されている記憶装置から,制御装置によって命令を取り出し,それを演算装置によって処理します.
近年の優れたコンピュータはこれらの役割をマイクロプロセッサが担っています.
また,CPUとその周辺機器から構成される計算機システムをロジックボード(マザーボード)と呼びます

出力装置

計算機によって処理された結果を表示する装置を指します.例えば,画像データとして表示するディスプレイです.

これらの3つの要素を持つものをコンピュータ(計算機)と呼びます.すなわち電卓も立派なコンピュータです.

0と1の世界

電卓がコンピュータとわかったところで,「コンピュータは0と1しかわからない。」みたいな話よく聞きませんか?
こんなに色々できるのにそんなことないだろうと思うかもしれませんが,実は0と1しかわかりません.

0と1??

ここで0と1は何を表しているのでしょう.
答えは電気的に電気が通っていることを1,そうでない状態を0としています.すなわちコンピュータは電気が通っている状態と通っていない状態を区別して様々な処理をしています.

ほんとに??

とは言っても信じがたいですね.
0と1でなぜコンピュータは色々できるのかはやはりもっと色々なことを勉強しないとわかりません.でも,ここまででなぜ2進数がコンピュータで使われているか理解できました.
この0と1で全てできるということを一回信じて,これからパーセプトロンによる論理回路などを学んでいきましょう!

パーセプトロンとは

パーセプトロンとはローゼンブラットという研究者によって考案されたアルゴリズムです.[^1](アルゴリズムについて知りたい方はこちら)
このアルゴリズでは,任意の点(Node)からの重み付きの値(重み付きedge)の和が闘値を超えた場合は出力1の点,超えなかった場合は出力0の点をもつというものです.

これを図と式でわかりやすく示すと以下のようになります!

(図)

(式)
y = 0 (w1 * x1 + w2 * x2 ≦ θ)
y = 1 (w1 * x1 + w2 * x2 > θ)
w1,w2 : 重み θ : 闘値

このいたってシンプルなアルゴリムを用いて論理回路を実装することができます.
次回から論理回路の基本となる,ANDゲート・NANDゲート・NORゲートをPythonとパーセプトロンを用いて実装していきます!

続けてこちらも -> #3 -単純な論理回路-

3
3
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
3
3