FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Pythonで機械学習の進捗 §2-3

2.4では「パーセプトロンの限界」という題がついています。
2章で見てきた論理回路のうち3つをpythonでも実装することができると。ここで見ていくのはそのどれとも違うXORゲートというものです。
これは排他的論理和とも呼ばれます。その仕組みとしては、同じ値が入力されれば0を、異なる値が入力されれば1を出力するものです。
ここだけ聞けば、なんの変哲もない論理回路の1つとしか感じません。実際に、パーセプトロンの作り方を無視して実装しようとするならばifを用いて簡単に作ることができます。

では、この章で一所懸命に説明していることは何か。
それは”パーセプトロン1つで実装できない論理回路をいくつか使用すれば実装できる”ということです。
結論を先に述べると、XORゲートはANDゲートとNANDゲートとORゲートの3つを組み合わせればパーセプトロンの作り方で作れます。

本の中ではなぜパーセプトロンの作り方でXORゲートが実装できないのかを説明しています。
図や線型/非線形といった単語が出てきて説明をされて、だた読んでいくと、すごく分かりづらい箇所だと感じました。
かみ砕いて説明するならば、
パーセプトロンの作り方とは実は直線で0と1の部分に分けていると言うこと。
そして、XORでは直線1本では、うまく分けることが出来ないこと。

線型/非線形とは何なのか。一言で示すなら「線型とは直線のこと、非線型とは直線以外のこと」です。
数学的にはもっと厳密な定義があるのですが、ここでは必要ないでしょう。

2.5の部分でXORゲートが組み合わせで作れることが示されます。
どのように実装するのかは本に載っているので省略します。
私がここでもったいないと思うことは図2-6や図2-8でわざわざ視覚的にわかりやすく場合分け出来ること(また、場合分けしたいこと)を示しているのに、組み合わせてXORゲートを実装した場合にどのような図になるのかが乗っていないのです。
図で表したものが下になります。



当たり前ですが、直線を2本使えば分けられるということです。

この章で本が伝えたかったことは何だったのでしょうか。
それは、パーセプトロンの考え方と「バイアス」「重み」といった今後使う用語の説明をしたかったことです。
それ以外はありません。
なぜならここまで一所懸命に説明した論理回路はこの後使われなくなるからです。
もちろん本当に基礎的な部分を支える考え方として論理回路は重要なのですが、pythonで機械学習を実装する上では知らなくてもできるということです。
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

yamoto.tvp

Author:yamoto.tvp
FC2ブログへようこそ!
大学の数学科に通うほど、数学が好きな私です。
趣味で勉強している”機械学習”などの進捗を載せています。

最新記事
最新コメント
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。