機械学習アルゴリズムのひとつであるAdaBoostを実験的にRubyで実装してみた。
##参考文献
- Rapid Object Detection using a Boosted Cascade of Simple Features Here!
- 局所特徴量と統計学習手法による物体検出 Here!
- AdaBoost - Wikipedia Here!
- 簡単な学習データ(低次元、学習データ少数)でのみ確認
- 本格的に使用すると学習時間滅茶苦茶かかるので覚悟(マシンパワー必須)
# 学習による識別器構築
$ ruby adaboost.rb
# 学習で構築した識別器を使って未知データ分類
$ ruby classification.rb
※ adaboost.rbを実行すると、識別器パラメータを格納したclassifier.datが生成される。
# N次元の特徴ベクトル(データ)
[label] [data1] [data2] ... [dataN] #一個目の学習ベクトル
[label] [data1] [data2] ... [dataN] #二個目の学習ベクトル
# この時、label = {+1, -1}
# 正クラス:+1、負クラス:-1 をそれぞれとる
# 記述例(二次元データの場合)
-1 -2.416682586290083 -1.6340630148871529
-1 -0.4611169335807954 1.1720161088656624
1 1.771127779864452 0.6400316433636748
1 0.3076072954507474 0.47308423467735405