統計ER

R, EZR, SPSS, KH Coder を使ったデータ分析方法を紹介するブログ。ニッチな内容が多め

決定木の過学習を防ぐ剪定とは? 剪定とは枝刈りのこと

決定木には剪定(せんてい)という過程がある。

剪定とは何か?

簡単に紹介。

 

↑1万人以上の医療従事者が購読中

 

 

決定木の弱点 過学習

あるデータセットから、決定木を作ったとする。

決定木は、大きく茂らせれば茂らせるほど、きれいに分岐して、分類してくれる。

しかしながら、機械学習の観点から言うと、あまりにきれいに分類してしまうのは好ましくない。

なぜなら、完璧にデータセットを分類できても、ほかのデータセットで試してみると、うまく分類できないから。

これを過学習 overfittingという。

Overfittingした決定木は、汎用性がなく応用が利かない。

 

決定木の過学習を防ぐ剪定

汎用性を持たせて、使える決定木にするために、「剪定 pruning」を行う。

複雑さとあてはまりを犠牲にして、overfittingを避け、汎用性を持たせるのが剪定。

剪定 pruning にはいくつかあるが、代表的なものがcost-complexity pruning。

決定木は、大きくて複雑であればあるほど、誤分類をなくすことができる。

しかし、大きくて複雑すぎるとoverfittingのリスクがある。

この複雑性に罰則をつけたのが、cost-complexity pruning。

 \alphaで表すcomplex parameterを導入する。

 \alpha \times 葉っぱ(ノード)の数(決定木のサイズ)を罰則にする。

 \alphaは、「剪定した決定木の誤分類(大きくなる)と剪定する前の決定木の誤分類(小さい)の差」と「決定木のサイズ - 1」の比。

汎用性高く、サイズは最小限なんだけど、誤分類も最小限のいいところどりの決定木を作ろうという発想。

 

↑1万人以上の医療従事者が購読中

 

まとめ

きれいに分類できる決定木はoverfittingという弱点がある。

新しいデータで予測する性能が落ちる。

Overfittingを避けるために剪定 pruningがある。

剪定をすることで汎用性がある「使える」決定木が作れる。