機械学習には大きく分けて「識別関数」「識別モデル」「生成モデル」の3つの種類がある。このなかで識別関数は確率を使わないので初心者が入門するのに最適。 識別関数で有名なのはSVM(Support Vector Machine、サポートベクターマシン)。名前を聞いたことがある人も多いと思う。そこで早速SVMを学ぼうとすると敷居が高くて挫折しがち。 実はSVMは(大雑把に言うと)パーセプトロンという基礎的な識別関数に「マージン最大化」と「カーネル関数」という考え方を導入したもの。なので機械学習入門者は最初にパーセプトロンを学ぶのが良いと思われる。 そこで早速パーセプトロンを作ってみよう!というのが本記事の意図するところ。自分で実装できるとモチベーションが維持しやすいので、詳しく理論を学ぶ前にまずは作ってみようという考え。ちなみに実装にはperlを用いた。 参考: これからはじめる人のための機械学