機械学習および データマイニング |
---|
![]() |
![]() |
ブースティング(英: Boosting)とは、教師あり学習を実行するための機械学習メタアルゴリズムの一種。ブースティングは、Michael Kearns の提示した「一連の弱い学習器をまとめることで強い学習器を生成できるか?」という疑問に基づいている[1]。弱い学習器は、真の分類と若干の相関のある分類器と定義される。対照的に、強い学習器とは真の分類とよく相関する分類器である。
Michael Kearns の疑問への肯定的解答は、機械学習や統計学に多大な影響を及ぼしている。
ブースティングはアルゴリズム的に制限されてはおらず、多くの場合、分布に従って弱い分類器に繰り返し学習させ、それを最終的な強い分類器の一部とするものである。弱い分類器を追加する際、何らかの方法で重み付けをするのが一般的で、重み付けは弱い学習器の正確さに関連しているのが一般的である。弱い学習器が追加されると、データの重み付けが見直される。すなわち、誤分類される例は重みを増し、正しく分類される例は重みを減らす(boost by majority や BrownBoost などの一部のブースティングアルゴリズムは、繰り返し誤分類される例の重みを減らす)。従って、新たに追加される弱い学習器は、それまでの弱い学習器が誤分類していた例に注目することになる。
ブースティング・アルゴリズムには様々なものがある。初期のブースティング・アルゴリズムとして Robert Schapire の recursive majority gate formulation [2]、Yoav Freund の boost by majority [3] がある。これらは適応的ではなく、弱い学習器の利点を完全に生かしているとは言えない。
PAC学習(probably approximately correct learning)理論に従うブースティング・アルゴリズムだけが真のブースティング・アルゴリズムである。他の類似のアルゴリズムも誤ってブースティング・アルゴリズムと呼ばれることがあるが、それらを区別する用語として "leveraging algorithm" がある[4]。
各種ブースティング・アルゴリズムの主な違いは、データ点と仮説の重み付けの方法である。有名なブースティング・アルゴリズムとして AdaBoost があり、これはおそらく初めて弱い学習器の適応を実現したものである。それ以外にも最近では LPBoost、BrownBoost、LogitBoost などのアルゴリズムがある。ブースティング・アルゴリズムの多くは、凸コスト関数を使った関数空間における最急降下法を実行できる AnyBoost フレームワークに適合する[5]。