集合知(その3)
10、予測モデルをつくる
一般的な3つの分類アルゴリズム
回帰アルゴリズム
決定木
決定木で作成されたモデルはif-thenルール。
情報エントロピー
- 事例を全て正、または負に分類する属性は完全。エントロピー=(1,0)=0。
- 事例を、等しく、2つに分ける属性は、エントピー=(1,1)=1。
情報利得
- 1つ目の属性でデータを分割した時の情報エントロピーの減少=情報利得
ナイーブベイズ分類
確率論の基本的な概念。ある出来事が起こる確率は、0から1の間の数値。
数値が高いほど、その出来事が起こる確率も高い。
確率=Pr:probability
ベイズの定理
Pr{ A and B } = Pr{ A } Pr{ B | A } = Pr{ B } Pr{ A | B }
条件付き独立性を仮定して、事例ごとに予測をまとめたのがナイーブベイズ分類器?と理解。
ビリーフネットワーク
ビリーフネットワークは、ナイーブベイズ分析をグラフを用いて表記したもの
形式的には非循環有向グラフ(DAG:directed acyclic graph)。ノードは確率変数、ノード間のリンクは親と子のあいだの条件付き依存関係をあらわす。非循環有向ネットワークとも呼ばれる。
各ノードは親ノードがもたらす影響を数値化した条件付き確率表(CPT:conditional probablity table)を持つ。
単結合型と複結合型
単結合ネットワーク向けの推論アルゴリズム
- クラスタリング
- 場合分け
- 確率的シミュレーション
ベイズ法にもとづく確率の解釈
- 確率は一般的には「ある出来事が起こる頻度をあらわす」だが、
- ベイズ的解釈・主観的解釈は「ある出来事が起こるだろうと、ある人が信じる度合い」である
WEKA
分類器クラス
決定木、J48
weka.classifiers.trees.J48
ナイーブベイズ
weka.classifiers.bayes.NaiveBayesSimple
ベイズネット
weka.classifiers.bayes.BayesNet
回帰
線形回帰
多層パーセプトロン(MLP)
入力は第1層の各ノードに入る
1つのノードからの出力は2段階の演算で決定される
- ノードの各入力値に重みを掛けた値を合計
- この値を非線形活性化関数を使ってノードの出力値に変換
活性化関数
- シグモイド(sigmoid)や双曲線正接関数(tan hyperbolic function)
各ノードには閾値があり、ノードが出力するには入力と重みの積の総和が閾値を超える必要がある
通常、ニューラルネットワークの学習
- 誤差逆伝搬(back-propagation)アルゴリズムが使われる
- このアルゴリズムは勾配探索法(gradient search)を用いて、学習データと予測値の二乗誤差の和が最小になるように、ネットワークの重みを探索。
通常、局所的な最適解に収束するため、大域的な最適解に収束する保証はない
データを過学習する危険があるので、交差検定(cross-validation)で確認する
動径基底関数(RBF)
RBFは2層で構成。
- 入力空間から隠れユニット空間への変換は非線形
- 隠れユニット空間から出力空間への変換は線形
隠れノード
出力層ノード
RBFの学習
- 隠れ層での教師なし学習。通常ガウスクラスタの学習にはk平均法アルゴリズム
- 出力層での教師あり学習。出力層での学習は誤差逆伝搬法か逆行列演算のどちらか。
- ガウスクラスタから出力ノードへの結合重みは、線形回帰を用いて学習
学習速度が断然早い
WEKA
weka.classifiers.functions.LinearRegression
weka.classifiers.functions.MultilayerPerceptron
weka.classifiers.functions.RBFNetwork