私は技術者ではなく、画像分類を実装しようとしています。この論文では、ADA Boost アルゴリズムに出会いました。これは、ビデオ キーフレームの「機能のバッグ」ステップの後に実装されました。ADAブーストが何をするのか、そしてその入力と出力は何なのか、誰かが素人の言葉で説明できますか? 誰かが私に同じコードを指摘できますか?
2 に答える
まず、参照している論文のリンク/名前を付けていただければ幸いです。
AdaBoostは、弱学習器と呼ばれる複数の分類器を組み合わせたメタ分類アルゴリズムです。これらの弱学習器は多くの場合、非常に単純です。たとえば、1 つの特徴に基づいてデータを分類するだけで、ランダムよりもわずかに優れたパフォーマンスを発揮します。
In image classification, AdaBoost will use as input a data set of images (with corresponding labels depicting to which class each sample belongs) and a set of weak learners. AdaBoost will then find the weak learner with the lowest error rate (i.e. best results) on the data. All correctly classified data samples are now given a lower weight as they are now less important, while the miss-classified samples are given a higher weight. AdaBoost will now start a new round and selects the best weak learner based on the newly weighted data. In other words, it will find a new weak learner which is better at classifying the samples which the previously selected weak learners were not able to classify.
The algorithm will continue with selecting these weak learners for a specified amount of iterations. The output consists of the group of selected weak learners. The learned classifier can now classify new images based on a majority vote of each weak classifier in the group (often the weak classifiers themselves are also weighted based on their achieved error rate).
You might want to take a look at software that have already implemented AdaBoost, like WEKA or the the computer vision orientated OpenCV.
Adaboost は、多数の弱分類器を取り、それらを組み合わせて強分類器を形成します。w_i
出力は、単一の加重分類器を形成するために加数で使用される弱分類器の一連の重みです。アルゴリズムからは多くの中間出力がありますが、おそらく最も重要なのは重みそのものです。
当初はそのように考えられていませんでしたが、Adaboost は、指数損失関数を使用して各ステップで弱分類器を使用して、トレーニング セットに「順方向段階的」モデルを当てはめることと同等です。L(y,f(x)) = exp(-y*f(x))
ここで、f(.)
は分類器です。このように見ると、アルゴリズムのいくつかの側面がより明確になります。指数損失関数は、正当な理由により、分類問題によく使用されます。