【ビッグデータ入門】機械学習ってなんだ?!

はじめまして。

2013年度入社、CyberZのエンジニアの鈴木です。

 

現在、CyberZでは統計勉強会を行っております。

機械学習について、大学院で少し勉強していたので、当勉強会で機械学習に関して発表させていただきました。その時の資料はこちらです。

 

今回紹介するのは、機械学習とはなんぞや!?という話です。

 

広告でも、配信の最適化などで機械学習が徐々に使われ始めています。

その機械学習を、初学者がイメージがつきやすいように、数式なしで伝えようと思います。


機械学習とは?】


機械学習の定義とはなんでしょう?

 

人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法のこと
 by Wikipedia

名前の通り、機械+学習なのでなんとなくイメージはつくでしょう。

ではだいたいどんな感じにやってるの?というのを調べ始めると、初っ端から数式がゴリゴリでてくるため、なかなかイメージがつきにくいです。

その橋渡し的なものが少なく感じるので、説明していきたいと思います。


大きく混同しやすい確率と学習の違いを説明します。

【確率の話】

例えば、サイコロを振った時1の目が出る確率は、1/6です。

しかし、それは全ての目が等確率で出ると仮定しているからです。

 

では、デタラメな形のサイコロがあった時に、どうやって1の目の確率が出やすいかどうかを調べるのでしょう?

 

まずは、そのサイコロをひたすら投げ続けることで、目を求めます。

そうすることで、確率を求めます。

 

【学習の話】

確率と大きな違いは、学習した結果を使って新たな事象を推測したり、分類したり何かしらの操作を行います。

 

確率の計算と同じように、でたらめな形のサイコロを使います。

そのサイコロをひたすら投げ続けることで、それぞれの面の確率を求めます。

しかし、ただ確率を求めただけではそのサイコロの確率しかわかりません。

 

学習した場合、その結果を使います。

学習した確率が、どのような影響で発生したかということを調べます。

例えば、面の面積であるとか、サイコロの重心がどこにあるか?などです。

その面積だったり重心だったり(パラメータ)から、こういうサイコロだったらそれぞれこういう確率で目が出るというモデルを作ることができます。

 

そのモデルを利用して、新しいサイコロのそれぞれの面のでやすさを予測することが出来ます。

 

この学習を自動的に機械にやらせることを機械学習と呼んでいます。

 

【学習を使った一般例】

スパムフィルタなどは、典型的な機械学習です。

 

1,人手を利用して、既に存在しているメールに対し、スパムかどうかの判定をつけます。

2,その判定を集計した結果(学習結果)を用いて、どのようなメールがスパムになりやすいか特徴を見つけます。(人手 and 機械)

3,作成した特徴を利用して、新たなメールに対しスパムかどうかの判定を行います。(機械)

 

【まとめ】

・確率:あるサイコロの目の出現する割合を求める

・学習:あるサイコロの目の出現する割合から、特徴を見つけ出し、別なサイコロの目の出現する割合を求める