gocha124の日記

ごちゃごちゃ書きます

集合知(その3)

10、予測モデルをつくる

一般的な3つの分類アルゴリズム

回帰アルゴリズム

  • 線形回帰
  • 多層パーセプトロンMLP:Multi-layer perceptron)
  • 動径基底関数(RBF:Radial basis function) 

決定木

決定木で作成されたモデルは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の学習

学習速度が断然早い

WEKA

weka.classifiers.functions.LinearRegression

weka.classifiers.functions.MultilayerPerceptron

weka.classifiers.functions.RBFNetwork