自分なりに勉強したMachine Learningの用語について整理してみました。
#Machine Learnnig(機械学習)とは
今までのプログラミングは人間が明示的にパソコンに命令を出して
プログラムを制御してました。
これのことをexplicit learning(明示的学習)と呼びます。
この手法は限界があり、例えばスパムフイルターのような数多いパータンの
スパムを人間が全て明示的にロジックし100%防ぐことは難しいです。(つらいし)
ので「人間がいちいちプログラミングせずにあるデータ&現象からプログラムが自律的にデータを学習してロジックをつくろうと」1959年Arthur Samuelという方が考案した概念が機械学習というものです。
機械学習の手法には大きく二つのLearning方法があります。
・Supervisored Learning
・Unsupervisored Learning
#Superviored Learning(教師あり学習)とは
事前に学習データがあり、それをガイドに学習を行うこと
学習するデータのことをTraning Data Setと呼びます。
Supervisored Learningの例としては
数億件の囲碁の棋譜データを学習をしxの値に関して最適の一手を打つことができるAlpha goがありますね、
流れをまとめると
xという値を渡す
↓
事前にセットしたデータをみて学習を行ってaと学習したデータを比較して結果を予測する
↓
学習して得た結果を返す
例) Aは7時間勉強した -> 学習データを利用して点数を予測 -> Aの75点数を取るはず!と予測する
こんな感じかと思います。
さらにSuperviored Learningにも大きく3週類に分けられます。
・Regression
・Binary classification
・Multi-label classification
##Regression(回帰)
予測の範囲が広い結果を予測すること
例)勉強した時間を見て何点(0~100)を取るか予測する
##Binary classification(二値分類)
データを学習してtrue/false的な結果を分類すること
例)勉強した時間を見て試験に合格するか不合格するかを予測する
Supervisored Learningの中でも最もシンプルなラーニング方法だと思います。
##Multi-label classification
データを学習して複数の結果を分類すること
例)勉強した時間を見てA,B,C,D,E,Fなどの単位を予測する
#Unsupervised Learning(教師なし学習)とは
事前に学習データを持つことができずにリクエストの値から学習することです。
Unsupervised Learningの例をあげますと、自律的に類似な記事をグルーピングしてくれるGoogle Newsがあります。
これは事前に類似の記事を予想してデータセットを作ることは難しいので
その都度記事内容をみてデータを学習して類似な記事を表示することになります。
次回はSuperviosrd Learningの中でLinear Regressionについてまとめたいと思います。