ML入門1:機械学習とは何をしているのか?

機械学習とMachine Lerningについて情報収集中なので、せっかくだから整理しつつ残していきたいと思う。

機械学習とは何をしているのか?

機械学習が何をしているのかというと実は非常にシンプルなことをしています。下のようなグラフがあったとき直線(回帰直線)を引いたりしませんでしたか?あるいは大学で最小二乗法による回帰直線を求める方法を学びませんでしたか?機械学習がやっていることは、まさしくその回帰直線を求めて、与えられたXからYを求める方程式を作成し、新たなXが与えられたときにYの値を予想する事です。

regresion1
例えば上の散布図のように与えられたサンプルデータに対する破線を求めるのが機械学習です。そして学習結果であるy=0.7482x+14.612の計算式を用いて、新たに与えられた値に対してyを求める事で結果を予想するわけです。勿論これは極端に単純かした場合の話で、実際の機械学習では二次元はなく十数次元~数千次元にもなります。図示することなど到底不可能なレベルです。でもどれだけデータの次元数が増えて複雑に見えても、内部的に行っていることはこの延長線上にあります。

この事を踏まえると機械学習に出来ること、出来ないこと、なぜ与えるデータが重要なのか理解も容易になります。

機械学習に出来ること、出来ないこと

機械学習では学習させるデータの質が非常に重要になります。これを提供できるか否かが、機械学習で出来るか否かに直結しています。

異常値が含まれていたり、学習サンプルデータが偏っていたり、相関関係の薄いデータが紛れていたりすれば、学習結果となる数式は容易に異なった物になります。十分な量の、質の高いサンプルデータを必要とします。

regresion1

上の図のように異常値を一つ加えただけで、学習結果が変わってきます。x値が小さいときには10近く大きな数字が出るようになってしまいました。このような異常値は学習させる前に取り除く必要があります。これは二次元のグラフだから異常値と言うことがわかりやすいのですが一般的に機械学習に使うデータは数十次元にも及ぶので異常値を取り除くだけでも高い数学的知識を求められます。

コメントを残す

メールアドレスが公開されることはありません。