タグ

AdaBoostに関するyasufのブックマーク (6)

  • 2009-01-25

    "apps/HaarTraining/src/cvboost.cpp"ってのがOpenCVのパッケージの中にあって、ここでObject Detection用に独自のAdaBoostを実装しているっぽい。 つまり、OpenCVで準備されているCvBoostクラスは使っていない模様。 ソースの中見てみたら、Discrete AdaBoostとかGentle AdaBoostとか、何個か用意されていた。 どうしよう、ドキュメントないけど、これ使えるのかなあ?またソースを読み解くか、自分で実装してしまうか、あるいは他をあたってみるか・・・。 どうもViola & Johnsで使っているAdaBoostとOpenCVのCvBoostクラスは若干使われ方が違うっぽい。 VJでは1特徴が1弱識別器だけど、CvBoostでは全ての特徴を元に弱識別器が構成されているみたい。(CvBoostTreeという決定

    2009-01-25
    yasuf
    yasuf 2011/11/29
    CvBoostとViola & Johnsで使っているAdaBoostの差
  • 本のフロク: Experiments with a New Boosting Algorithm - Freund, Schapire

    Experiments with a New Boosting Algorithm - Freund, Schapire Experiments with a New Boosting Algorithm - Freund, Schapire (ResearchIndex) http://citeseer.ist.psu.edu/freund96experiments.html 1996年現在の実験を中心にまとめた論文。Weak learner(FindAttrTest, FindDecRule, C4.5)と、アンサンブル学習アルゴリズム(Adaboost.M1, Adaboost.M2, Bagging)の組み合わせをUCI ML Repositoryのデータと手書き数字認識へ適用し、評価・比較を行っているのが主要なContribution。 Adaboost.M1とAdaboost

  • ymuto109の日記 - AdaBoostに関する調査

    AdaBoost は Freund と Schapier によって提案された. 学習データが外れ値などのノイズをあまり含まなければ,高い判別能力を示す. 変種として Discrite AdaBoost, Gentle AdaBoost, Real AdaBoost, Logit AdaBoost, Modest adaBoost などがある. 損失関数 上記の AdaBoost, Logit Boost, MadaBoost は損失関数によって異なるのみ(?) (http://www.msi.co.jp/vmstudio/materials/files/misc/boosting.ppt を見よ) ブースティングの案内ページ http://ibisforest.org/index.php?%E3%83%96%E3%83%BC%E3%82%B9%E3%83%86%E3%82%A3%E3%83

    ymuto109の日記 - AdaBoostに関する調査
  • ブースティング - 機械学習の「朱鷺の杜Wiki」

    ブースティング (boosting) / AdaBoost† バギングとならぶ代表的なアンサンブル学習の手法で,クラス分類問題を扱う. 弱学習器は,各事例を重み付けして学習できるものでなくてはならない. アルゴリズム AdaBoost \(D_t(\mathbf{x}_i)\) を均一に初期化. 以下の手続きを \(t=1,2,\ldots,T\) について反復 現在の誤分類率分布 \(D_t(\mathbf{x}_i)\) の重み付けを用いて,弱学習器に分類器 \(C_t(x)\) を生成させる. 誤分類率分布 \(D_t(\mathbf{x}_i)\) で重み付けした,データ集合 \(\{\mathbf{x}_i\}\) に対する誤分類率を \(\epsilon_t\) とする. \(\beta_t=\epsilon_t/(1-\epsilon_t)\) 誤分類分布を更新:事例 \(\

  • Viola & Johns版AdaBoostの実装 その2 - takminの書きっぱなし備忘録 @はてなブログ

    前回の続き。 論に入る前に、ここで解説したAdaBoostのアルゴリズムをもうちょい補足しておきます。 学習データを用意し、それぞれのデータの重みを均等にしておく。 学習データを識別器へ入力し、エラー率を求める。ただし、エラー率には学習データの重みを反映させる。 一番エラー率の低かった識別器を選択し、そのエラー率を記録しておく。 3で正解した学習データの重みは低く、不正解だったデータの重みを重くする。 更新した重みを元に2〜4の処理を複数回繰り返す。 最終的に選択した識別器に、エラー率に基づいた重みを割り振り(エラー率が低ければ重く、逆なら軽く)、その線形和を強識別器とする。 もちっと詳しく知りたい人は、この論文の4ページ目の囲いを読んでください。 で、ここから題。 前回も解説したとおり、OpenCVに実装されているオブジェクト検出"cvHaarDetectObjects()"関数は、

    Viola & Johns版AdaBoostの実装 その2 - takminの書きっぱなし備忘録 @はてなブログ
  • 第4回 オブジェクト検出器の作成方法 | gihyo.jp

    お久しぶりです。私事でなかなか執筆の時間がとれず、前回の掲載から長く時間が空いてしまい申し訳ありませんでした。皆さんから寄せられたコメントには非常に励まされました。 というわけで、今回はいよいよ最終回です。前回はオブジェクト検出器を使って顔を検出するところまで行いました。今回は、オリジナルオブジェクト検出器を作成してみます。 今回作成するプログラムのソースコードは、こちらから一括してダウンロードすることができます。 Data.zip 学習の流れと仕組み 学習の流れ 前回のおさらいになりますが、オブジェクト検出器は機械学習という方法を通して作成されます。つまり、コンピュータプログラムに検出したいオブジェクトの画像(正解画像)とそうでない画像(非正解画像)を与えることで、オブジェクトが含まれている画像の傾向というのをコンピュータに覚えさせていきます。 学習の流れを簡単にまとめると以下の通りです

    第4回 オブジェクト検出器の作成方法 | gihyo.jp
  • 1