※さらに30日間返金保証ありなので、実質リスクゼロ。
Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
今回は機械学習の最も基本的なアルゴリズムであるパーセプトロンについて学んでいきましょう。
この記事を読む前の前提知識
この記事を読む上で最低限知っておきたいことを簡単にまとめます。
機械学習とは?
機械学習というと最近非常に人気のある分野なので、聞いたことがあるという人は多いと思います。
簡単にいうとコンピュータにデータを与えて学習させ、そのデータからコンピュータ自身が色々な特徴を見つけ出します。
そして、新たに与えられたデータに対しても正しい予測をしてくれます。
ここで具体的な例を挙げていると長くなるので、もう少し詳しく知りたい人は以下の記事を参考にしてください。
アルゴリズムとは?
アルゴリズムとは、ざっくりと言うと、何か問題を解く上での解法のことです。
当然のことですが、問題の解き方が異なれば、問題を解くのにかかる時間も変わってきます。
そして解きたい問題が複雑になればなるほど、アルゴリズムの選択が重要になってきます。
以下にアルゴリズム技術の強力さを実感できる動画を載せておきます。
これを見れば、なんかアルゴリズムすごそう...くらいには思ってもらえるんじゃないですかねw
パーセプトロンとは?
パーセプトロンとは、機械学習を行う上での最も基本的なアルゴリズムです。
上でも述べましたが、機械学習を行うためには大量に与えられたデータから学習をすることが必要です。この過程では大抵、複雑な計算が必要とされます。
そこで、最適なアルゴリズムを選択する必要があるということです。
本記事では、その中でも1番理解しやすい、パーセプトロンアルゴリズムから学んでいきましょう。
理解のしやすさを優先したいので、数学的な話はできるだけ省いています。(本当はあまりよくないですがw)
パーセプトロンの仕組み
それでは前置きが長くなってしまいましたが、パーセプトロンの仕組みについて説明していきます。
まずは以下の図を見てください。
ここでxは入力、wは重み、yは出力を表しています。
入力はいくつでもいいのですが、ここでは簡単のために2入力で考えていきます。
そして出力yは、wとxを掛け合わせた値の総和によって、0か1に分類されます。
以下の式を見てください。
θはしきい値と言って、左辺の総和がθ以下だと出力yは0に、θより大きいと、出力yは1に分類されます。
このように、パーセプトロンでは最終的に2値分類問題になります。
それでは重みwとは何なのでしょうか?
これは各入力の重要性をコントロールするための要素です。
上の式を見ると分かると思いますが、重みはそれぞれの入力に掛け合わされています。
重みが大きければ、それに掛け合わされた入力信号が他の入力信号に比べて重要性の高いものになることは想像できるはずです。
基本的にパーセプトロンの仕組みはこれだけです。
上で説明した重みを更新していくことによって学習を進めていくのです。
そして最終的には入力したデータを0か1のどちらに分類できるか予想できるようになるのです。
まとめ
今回は機械学習の最も単純な学習アルゴリズム、パーセプトロンについて簡単に学んでいきました。
分かりやすいように、数学的な話は所々省きましたが、是非興味のある人は調べてみてください。
また、Pythonを使ってこのアルゴリズムを実装したりすることもできるので、随時それについての記事も更新していこうと思います。
今後も定期的にプログラミング系の記事を発信していくので、興味のある人はブックマークして見にきてくれると嬉しいです!!
※さらに30日間返金保証ありなので、実質リスクゼロ。
Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル