Confidence Weightedを書いてみた

時代はSCW(Soft Confidence Weighted)らしいのだがCWさえまともに実装したことがなかった。これでは良くないということでCWを実装したので公開しておく。

https://github.com/echizentm/ConfidenceWeighted

参考:
http://www.cs.jhu.edu/~mdredze/publications/icml_variance.pdf
http://d.hatena.ne.jp/kisa12012/20120625/1340616659
http://d.hatena.ne.jp/jetbead/20130510/1368120547


以下はconfidenceパラメータη=0.7(0.7以上の確率で分類成功するように学習する)、分散の初期値を1、特徴量を3つ(RGB)として暖色系(1)or寒色系(-1)を判定する例。

$ perl test.pl 0.7 1 3 < colors.csv 
update: 1,255 0 0
update: -1,0 255 0
update: -1,0 0 255
update: -1,0 255 255
update: 1,255 0 255
update: 1,255 255 0
classify: 1,255 0 0
classify: -1,0 255 0
classify: -1,0 0 255
classify: -1,0 255 255
classify: 1,255 0 255
classify: 1,255 255 0