LoginSignup
67
53

More than 5 years have passed since last update.

機械学習⑤ アダブースト (AdaBoost) まとめ

Posted at

アダブースト (AdaBoost) のまとめ

What is アダブースト (AdaBoost) ?

アダブーストは、ランダムよりも少し精度がいいような弱い識別機を組みわせて、強い識別機を作成しようとする機械学習モデルです。
作り方の流れは、
まず、弱い識別機の適用させ、誤分類してしまったものの重みを増やす。
そして、次にその重みがついたものを優先的にみて、分類する。ということを繰り返します。

下記の図を参考にするとわかりやすいです。Youtube のリンクも貼っておいたので、詳しく知りたい方は見てみてください、

Screen Shot 2017-05-13 at 12.44.42.png
Extracted from Alexander Ihler's youtube video

上記の図では、最初にD1で弱い識別機を使って、分類し、D2で誤分類した '+'1個と'-'2個の重みを増やしています。次にその誤分類された3つを優先的に考えて、また分類しています。ここで、重みを増やすのと同時に、正確に分類された他のものの重みは減っています。さらに、D3では、D2で誤分類された'-'3個の重みを増やすと同時に他のものの、重みは減っています。ちなみに、AdaBoost の default code では、この弱い識別機での分類は、DecisionTree (決定木)が使われています。

その繰り返し行った分類の重みを元に、強い識別機というものを作ります。

Screen Shot 2017-05-13 at 13.00.11.png
Extracted from Alexander Ihler's youtube video

default のコード


from sklearn.ensemble import AdaBoostClassifier

AdaBoostClassifier(base_estimator=None, n_estimators=50, learning_rate=1.0, algorithm='SAMME.R', random_state=None)

アダブースト (AdaBoost) 内の Parameter の説明

  • base_estimator

弱い識別機として使われる機械学習モデルのこと。default は、DecisionTreeClassifier (決定木)が使われているが、指定することで他の機械学習モデルを適応することもできる。

  • n_estimators

弱い識別機を使った分類を何回繰り返すかの指定。しかし、その前に強い識別機が100%の精度になったら、そこで終了。

アダブースト (AdaBoost) の 良い点悪い点。

  • 良い点

弱い識別機を幾つか組み合わせるので、正確に分類されやすい。

  • 悪い点

K nearest neighbors と同じで、ノイズ(違うラベルが同じ場所に混在する)や、Outliers (異常値)にも、弱い。過学習になりやすい。

まとめ

以上が現在筆者のわかる範囲での アダブースト (AdaBoost) の概要です。
日々更新していきますので、追加すべきところ、直すべきところありましたら、コメントいただけると幸いです。

67
53
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
67
53