IT系フリーランスの日記

大まかにIT系と呼ばれる仕事を自営業として営んでいる者の日記です

統計解析のメモ帳~機械学習のアルゴリズム編~

教師有り学習と教師無し学習

教師有り学習の例
・データ依存の手法
・確立依存の手法
・ルールベースの手法
・回帰分析による手法

教師無し学習の例
クラスタリング手法
・相関ルールの抽出方法

機械学習は主に教師有り学習と、教師無し学習に分けられる。

教師無し学習は色々な属性を持つものを似たもの同士に分類する手法
クラスタリング手法と相関ルールの抽出方法がある。
クラスタリングの手法には自己組織化写像(コホネンネットワーク・SOM)などがある。
相関ルール抽出の手法には、古くにIBMが開発したAprioriアルゴリズムなどがある。

教師有り学習は、問題と答えを対にして与えて学習させ、最終的には高い精度で問題から正解を導き出すことを目的とするもの。
ここでは教師有り学習について具体例を交えながら学習したことについて、再アウトプットすることで記憶を整理したい。

例えばある人がゴルフに行くか行かないかについて、以下のようなデータがあったとする。
f:id:tyusuke88:20140921041242p:plain
各項目を数値に置き換える
f:id:tyusuke88:20140827002737j:plain
この青で囲まれたデータを元にしてテスト用のデータとし、17行目の答え(ゴルフへ行く)が導き出せるようなアルゴリズムについて考察したい。

まずは一番簡単なデータ依存の手法で。。。

・データ依存の手法
データ依存の手法とは、膨大なデータの中から最も質問に近いものを探し出して、類似度の近いものの答えがなんであったかを集計して答えを確率的に計算するもの。
100%一致するデータがなくとも問題との相似度とその問題の答えになるものを集めていき、答えである可能性の高いものを順番に並べていき答えを推測する。

では類似度はどう計算するか?
コサイン類似度というものを使ってみた。
コサイン類似度は、ある数列がどの程度似通っているかを数値で比較するもの。
f:id:tyusuke88:20140828033125j:plain

例えばゴルフの表でいうと8列目の「2,1,2,1」はテスト用データの「1,1,3,1」とのコサイン類似度は0.91287。
一番サンプルデータに近いのは、7列目の「1,1,2,1」でコサイン類似度は0.98198。
7列目の結果は1つまりゴルフに行く。となっているのでサンプルデータである、「晴れで、気温も高く、湿度も高く、風がある場合」、ある人はゴルフに行くだろう。と予測できる。

元々答えがあるデータなので確かめてみると17行目のパターンでは確かにゴルフへ行く、となっている。

ここまで書いたが絶対どっか間違ってる気がするし、間違ってても誰も指摘してくれないだろうし、大体こんなページ誰も見てないだろうし・・・・

もうちょっと勉強し直して出直してきます。。。。(ノД`)