Contenu connexe Similaire à 機会学習ハッカソン:ランダムフォレスト Similaire à 機会学習ハッカソン:ランダムフォレスト (17) 機会学習ハッカソン:ランダムフォレスト2. 目次
• 1. 自己紹介
• 2. 概要:Random Forestとは
• 3. 理論編
• 3-1. 決定木
• 3-1. Random Forest
• 4. 実践編(プログラミングの流れ)
• 4-1. 決定木
• 4-1. Random Forest
• 5. デモ
• 6. 参考文献
5. 2. 概要:Random Forestとは?
• そもそも決定木とは?
ツリー構造のグラフを作成し、予測/分類を行う機械学習のアルゴリズム。
弱学習器(精度の低い学習器)に分類される。
天気は何か
晴れ
休日、何して過ごす?
雨
天気は何か
気温が
15℃以下? YesNo
家でごろ寝
家でごろ寝散歩
時間は?
夜昼
家でごろ寝
7. 2. 概要:Random Forestとは?
• Bagging
• Boosting
• Random Forest
全教師入力データからランダムにとったデータで、複数の学習器を作成、
多数決などで出力を決定する方法
説明変数の重要度を逐次的に変更し、複数の学習器を作成。多数決など
で出力を決定する方法
(Baggingと違い、常に全教師データを用いる場合が多い。)
決定木を学習器とする、集団学習アルゴリズム
Bagging同様、全教師データからランダムにとったデータで学習を行う。
説明変数もランダムにする点が、Baggingと異なる。
• 集団学習の種類
9. 2. 概要:Random Forestとは?
• Random Forestとは?
教師データ
決定木 決定木
教師データ(一部)
ブートストラップサンプリング
教師データ(一部)
決定木 決定木
教師データ(一部) 教師データ(一部)
・・・
学習器
多数決/平均
予測結果
複数の決定木で集団学習させる事で、精度を高めた集団学習モデル。
2001年 Leo Breimanによって提案された。
13. • 情報ゲインは次式で表される。
3-1. 理論編:決定木
ΔI = P Q( )I Q( )− P Ai( )I Ai( )
i
∑
• ある質問で得る情報量を情報ゲインと呼ぶ。
質問Q
答A1
QP Q( ):
I Q( ):
前のノードからノード にくる確率
Qノード におけるエントロピー(関数)
答A2
14. 3-1. 理論編:決定木
• のバリエーション
• ②Gini係数(系の不純度の指標)
• ①エントロピー(系の取りうる状態数の指標)
ΔI = P Q( )I Q( )− P Ai( )I Ai( )
i
∑
I A( )
I Q( )= 1− P A |Q( )( )
2
A
∑
高い:乱雑な状態
低い:整理整頓された状態
高い:純度が低い状態
低い:純度が高い状態
I Q( )= − P A |Q( )logP A |Q( )
A
∑
↑大きいと純度が高い(2回続けて同じ目がでるサイコロは純度が高い!)
P k | A( ):ノードAで選択肢kが選ばれる確率※
色んな目がごっちゃにでるサイコロ
ぬるい
冷 温
☝ ️
21. 3-2. 理論編:ランダムフォレスト
汎化誤差 = バイアス + バリアンス + σ
※バイアス (学習モデルの単純さに由来する誤差)
※バリアンス(学習データの違いに由来する誤差)
※σ(削除不能な誤差)
Tibshirani, R. (1996). Bias, variance, and prediction error for classi fi cation rules. Technical Report, Statistics Department, University of Toronto
http://link.springer.com/chapter/10.1007%2F0-387-25465-X_34
高バイアス
低バリアンス
低バイアス
高バリアンス
22. 3-2. 理論編:ランダムフォレスト
汎化誤差 = バイアス + バリアンス + σ
※バイアス (学習モデルの単純さに由来する誤差)
※バリアンス(学習データの違いに由来する誤差)
※σ(削除不能な誤差)
• なんで集団学習するの?
集団学習はバリアンスを下げる
Improving regression estimation: averaging methods for variance reduction with extensions to general convex measure optimization,
http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=5207764C9D12331E4F2A6336BD5E3842?doi=10.1.1.34.3566&rep=rep1&type=pdf
複雑な表現が可能だが、過学習してしまいがちなアルゴリズムに向いている
25. 3-2. 理論編:ランダムフォレスト
・説明変数の重要度について
Ai :
N : 決定木の本数
i番目の決定木にOOBデータを使用し、正しく予想を行った時の正解率
Im =
1
N
Ai − Bm( )i( )i=1
N
∑
Bm( )i
:
OOBデータの説明変数mとなるデータをランダムに並び替え
決定木iに使用し、本来正しくないはずの予想を行った時の正解率
説明変数mの重要度Im :
Out-Of-Bag(OOB:学習に使われなかった残りのデータ)
を使って、説明変数の重要度を計算できる
27. 3-2. 理論編:ランダムフォレスト
• 実行速度について(SVM vs RF) データの数
SVM ~ O Dm2
( )
RF ~ O D2
m( )×
D :
m :
RのkernlabとRF(独自実装)で速度比較(データはiris)
SVM10回平均 1.2237[s]
RF(木10本)10回 1.1922[s]
説明変数の数
変数の数に強いが
データの多さに弱い
データの多さに強い
変数の数に弱い
木の本数
28. 3-2. 理論編:ランダムフォレスト
✤ メリット
• ノイズに強い
• 高精度・表現力も高い
• データ量が多くても高速に動く
✤ デメリット
• パラメータが多い(木の数や使用する説明変数の数)
• 学習データ/説明変数をランダム抽出するので、データと変数
が少なすぎるとうまく学習できない。
33. (例)動物の分類
①初期のエントロピーを計算
(logの底は何でも良いが、今は2にする)
I Q( )= − P A |Q( )log2 P A |Q( )
A
∑
= −
2
5
log2
2
5
× 2 −
1
5
log2
1
5
=1.52
4-1. 実装編:決定木
動物名 食性(Q1) 繁殖携帯(Q2) 体温(Q3) クラス
スズメ 肉食 卵生 恒温 鳥類
ライオン 肉食 胎生 恒温 ほ乳類
トカゲ 肉食 卵生 変温 は虫類
ダチョウ 草食 卵生 恒温 鳥類
ウシ 草食 胎生 恒温 ほ乳類
P(ほ乳類)=P(鳥類)=2/5、P(は虫類)=1/5
34. ΔI = P Q( )I Q( )− P Ai( )I Ai( )
i
∑
4-1. 実装編:決定木
(例)動物の分類
動物名 食性(Q1) 繁殖携帯(Q2) 体温(Q3) クラス
スズメ 肉食 卵生 恒温 鳥類
ライオン 肉食 胎生 恒温 ほ乳類
トカゲ 肉食 卵生 変温 は虫類
ダチョウ 草食 卵生 恒温 鳥類
ウシ 草食 胎生 恒温 ほ乳類
②全ての説明変数に対し、各々の選択肢に遷移した
場合のエントロピーと遷移する確率を計算する。
質問Q3.
恒/変温?
変温
恒温
は虫類 1 P(変温¦Q3)=1/5
P(恒温¦Q3)=4/5ほ乳類 2
鳥類 2
35. ΔI = P Q( )I Q( )− P Ai( )I Ai( )
i
∑
4-1. 実装編:決定木
(例)動物の分類
②全ての説明変数に対し、各々の選択肢に遷移した
場合のエントロピーと遷移する確率を計算する。
質問Q3.
恒/変温?
は虫類 1
ほ乳類 2
鳥類 2
I A1( )= −1× log2 1= −1× 0 = 0
I A2( )= −
1
2
× log2
1
2
× 2 + 0 = log2 2 =1
変温(A1)
恒温(A2)
P(は虫類)=1
P(ほ乳類)=2/4=1/2
P(鳥類)=1/2
動物名 食性(Q1) 繁殖携帯(Q2) 体温(Q3) クラス
スズメ 肉食 卵生 恒温 鳥類
ライオン 肉食 胎生 恒温 ほ乳類
トカゲ 肉食 卵生 変温 は虫類
ダチョウ 草食 卵生 恒温 鳥類
ウシ 草食 胎生 恒温 ほ乳類
43. 参考文献
• Breiman, L.: Random Forests,Machine Learning,Vol. 45, No. 1, pp. 5‒32 (2001).
(http://link.springer.com/article/10.1023%2FA%3A1010933404324)
• 濱田康一(http://www.slideshare.net/hamadakoichi/randomforest-web)