決定木は分かるけど、ランダムフォレストは決定木をたくさん作るだけやろ?
同じデータで何本作っても同じ木になるんちゃうの?
【疑問】決定木を100本集めたら何がええん?ランダムフォレスト・バギング・ブートストラップ【G検定】
前提のおさらい。教師あり学習は特徴量と正解のペアから学ぶ。決定木もランダムフォレストも、分類と回帰の両方に使える教師あり学習のモデル
>>1
まず決定木。「30歳以上か」「購入回数が3回以上か」みたいな質問で、データを順に2つに分けていく
分け方は、分けたあとのグループがなるべく1種類の正解にそろうように選ぶ。そろい具合を測る指標の1つがジニ不純度
「買う」5人・「買わない」5人のグループは 。これを「買う4・買わない1」と「買う1・買わない4」に分けると、どちらも で、0.18下がる
>>3
決定木は分かれ方を図にすれば読めるのがええところ。でも深くするとデータの細かいくせまで覚えて、過学習しやすい
>>1
同じ木にならんように、データを毎回変える。それがブートストラップサンプリング
元の 件のデータから、同じものを何回選んでもええルール(復元抽出)で 件取り出す。1件が1回も選ばれない確率は
でも約0.35。だから1回のサンプリングには元のデータの6割くらいしか入らず、木ごとに違うデータで学ぶことになる
>>5
ブートストラップで作ったデータごとにモデルを学ばせて、予測を多数決(回帰なら平均)でまとめるのがバギング
こうやって複数のモデルを組み合わせるやり方をまとめてアンサンブル学習と言う
>>6
多数決にしたら、そんなに精度が上がるもんなん?
>>7
モデルの間違え方がばらばらなら上がる。正解率0.7のモデル3つが独立に答えて多数決をとると、2つ以上が正解する確率は
でもみんな同じところで間違えるなら、何本集めても0.7のまま
>>8
そこでランダムフォレストは、もう1つ工夫を足してる。木を分けるたびに、使える特徴量をランダムに一部だけに絞る
強い特徴量があると、どの木も最初にそれで分けて似た木になるから、わざと使わせない回を作って木どうしを似せないようにする
ブライマンの2001年の論文で提案された。バギングも同じくブライマンの1996年の論文
>>9
わざと弱い特徴量で分けさせたら、1本1本の木は悪くなるやん。それで全体がよくなるのは納得いかん
>>10
1本ずつは少し悪くなる。でも木どうしの相関が下がると、平均したときのばらつきが大きく減る
1本の予測のばらつき(分散)を1、木どうしの相関を とすると、100本の平均の分散は 。 なら約0.31で、相関が下がるほど小さくなる
>>11
そのかわり、100本の木をまとめた判断の理由は、1本の決定木みたいには図で読めんくなるな
管理人のひとこと
- 決定木は質問でデータを順に2つに分けるモデル。ジニ不純度は「5対5」で0.5、「4対1」なら0.32。深くすると過学習しやすい。
- ブートストラップサンプリングは復元抽出で 件取り直す。1件が選ばれない確率は 。
- バギングはそれぞれのデータで学んだモデルを多数決・平均でまとめるアンサンブル学習。正解率0.7の独立な3モデルの多数決は0.784。
- ランダムフォレスト(ブライマン、2001年の論文)は、分けるたびに特徴量もランダムに絞って木どうしの相関を下げる。分散は で、 なら約0.31。