SoftConfidenceWeightedの非対角成分を無視するバージョンを書いた

SCWはまともに実装すると高次元密行列ができてしまう。なんだか対角成分だけでもいいんじゃないの的な話があったので試しに実装してみた。
対角成分だけだったら疎なままでもOKだし(今回の実装では密行列を想定しているけど)、これで充分に精度が出るならSCW大勝利の予感。大きなデータでの実験はあとでやるかもやらないかも。

https://github.com/echizentm/ConfidenceWeighted

$ perl test.pl 0.7 fscw 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
$VAR1 = [
          '0.900076122812987',
          '-0.302082751656195',
          '-0.173587567432744'
        ];