気ままなつぶやき

おべんきょしたこととか

【集合知プログラミング】アルゴリズムのまとめ 〜決定木による分類器

発表日が近づいてきて焦っております(; ̄ー ̄A アセアセ

やっぱりぎりぎりにならないとやらない性分のようです。

続:データマイニング勉強会の予習

集合知プログラミング

決定木による分類器やります

適用できるデータセット

ユーザの行動モデル(ログとか)から、ユーザを分類したりするのに利用されます。
プレミアム会員の判別とかの例がどっかにあったような・・・。

わたしの章では、果物の分類を特徴からわけてました。

原理の概要

名前の通り、「木」を用いて分類します。

f:id:pnsk:20120213012445p:plain

で、全部分類するまで分けていく。ただそれだけ。(たぶん)

で、ここで、分割するための条件をどう選ぶかが肝。

分割方法としては

がメジャーらしい。この本いわく。


さて、ここではエントロピーにフォーカスして分類方法を考えていきましょう。
(ってここの章ではいってます。)

え、えんとろぴぃ・・・?( ; ゚д)ザワ(;゚д゚;)ザワ(д゚; )

エントロピーとは

発生率が確率 p(E)の事象が生じたときに得られる情報量を -log_{2} p(E)と定義したときに
その情報から得られる情報量の期待値のこと。

らしい。

期待値なので、都度都度の事象の発生確率とその情報量のかけ算の総和がエントロピーとなるから、

エントロピーhは

 h=\Sigma _{i}p(i) log_{2}p(i)

となる。

このエントロピーを使って、
全ての事象(まだ分類されていない状態)から得られる情報h(initial)から、
分割毎に得られる情報を引いていき、その差分が0になるまで続けていけば良い。

 h(initial) - w_{1}*h_{1}-w_{2}*h_{2} - \cdots

この、差分のことを「情報ゲイン」とかいう。

まんまやんけ( ; ゚д)ザワ(;゚д゚;)ザワ(д゚; ) <情報ゲットとかでもいいんじゃないの。。

ここで、重みwは、

 w=\frac{the size of subset}{total size}

で表される(英語で書いてるのはtexでエラーになるから・・・)。

単純に、 h_1の期待値は、全部の事象のうちの一部の事象だから、その割合をかけてやっている。

強みと弱み

解釈のしやすさが強み。

どんな仕組みで動いているのかが、ソース見たりするとすぐにわかること。

スパムフィルタリングには向いていない

   ∩___∩
   | ノ      ヽ
  /  ●   ● | クマ──!!
  |    ( _●_)  ミ
 彡、   |∪|  、`\
/ __  ヽノ /´>  )
(___)   / (_/
 |       /
 |  /\ \
 | /    )  )
 ∪    (  \
       \_)