外れ値検出のアルゴリズム isolation forest
TRANSCRIPT
仮定のイメージ
図の出典:http://scikit-learn.org/stable/auto_examples/ensemble/plot_isolation_forest.html
正常値=白と緑
異常値=赤
分離(isolation)
● あるデータを、他の全てのデータから分けること
● どうやって?
1.ランダムに属性を選択する
2.選択した属性が、ランダムに選択した値より大きいか
小さいかで分割する
3.分割された2つの集合に対して1-2を再帰的に適用する
4.同じ値だけの集合に分割されたら分離完了
分離木(isolation tree)の構築
今見せた分割をデータ構造に落とし込んだもの
x < 2
ex
true false
これ以上分割できなかったらそこで木は終わる
y < 5
分離木のノードは、属性としきい値を含む内部ノードか、分離が完了したことを示す外部ノードである
あるデータに木を辿らせたとき、異常値は深さが浅いノードに属する=分離に必要な分割数が少ない
内部ノードの属性としきい値は、どのようにデータ集合を分割したかを表している
分離木を辿る
x < 2
ex
true false
y < 5
true false
true false
ex x < -2
true false
ex ex
(x, y) = (3, 5) の深さは1
分離木を辿る
x < 2
ex
true false
y < 5
true false
true false
ex x < -2
true false
ex ex
(x, y) = (1, 2) の深さは2
分離木を辿る
x < 2
ex
true false
y < 5
true false
true false
ex x < -2
true false
ex ex
(x, y) = (1, 6) の深さは3