現代魔法を操る世界


by kagurayouyou
カレンダー
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

SVM比較の感想1

【コンピュータ】
IE7を入れてみました。
アルファベットや数字がアンチエイリアスされていて気持ち悪い。
切ってしまうか、日本語もClearType対応のものにするか迷う。

【研究】
SVM lightとlibSVMとTinySVMの比較実験。
データはlibSVMのサイトにあるDataSet。
結構手間がかかるので、まだやり足りない部分があるのですが、
一応いくつかやってみたときの感想。

機種としてはPen3 866MHz。Mem 512MB。OS SUSE Linux 10.0。
あと設定として二次の多項式です。

どうもScalingした後のlibSVMは精度は良くなるが、かなり時間がかかる。
しない場合はたまに精度が良くなるけれども、全体的には悪い。悪すぎるときもある。
SVM lightは逆にScaling後のlibSVMよりは速い。
そして精度もそこそこ。
特筆すべきなのがTinySVM。速いときは速く、精度もかなり良い。
しかし時たま異常に遅い。
例えばa9aのデータでTinySVMは学習に7時間かかっている。
SVM lightで30分なのに。
精度としても85.07%に対し、83.89%という感じ。

かと言えば、w8aのデータで学習light 10分に対し9分で、
分類が1分30秒に対し、0.668秒という異常な速さ。
しかも精度が98.8%に対し99.7%という恐ろしさ。

唯一見比べていえるのが、TinySVMの分類の速さ。常に速いです。
そういえばSVがどれくらいになったかは見ていないですね。
そこら辺を見ながらやるしかないです。
感になるのですがSVが多い方が良いのかもしれません。
というのもの多ければ多いほど距離が測れるので。
その無駄な距離を求めないために学習があるのだと思います。
というかこれを学習と呼ぶのかというのはうちの教授の意見で、
NNなどの学習とは違う気がします。

TinySVMの参考論文を見るとJoachimsさんの文献を読んでいるので、
SVM lightと同じかと思いきやlibSVMと同じようなSMOの形をしているので、
まったくその通りではない気がします。
C++とCの違いか??
たぶんそこら辺に鍵があると思うのですが、
3種のSVMをソースを比較しながら、論文を比較しながらというものは大変で、
そろそろ新案を加えてやってみないと発表に間に合いませんので、
いったんココで重点を置き換えます。

ちなみにIEEE、
TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE,
VOL. 27, No. 4, APRIL 2005
「Fast SVM Training Algorithm with Decomposition
on Very Large Data Sets」
にSVM light(ver 5.0)とlibSVM(ver 2.4)とSVMTorch2のTrainig Timeの比較が
載っていますが、通常時SVM lightの方が2倍速いですね。
SVMTorch2はもっと速いですが。
ここで不思議だと思われる方が多いと思います。(いや多くないかも)

libSVMはSVMlightの改良型でFastだと言うはずなのに、
全然Fastではありませんね。
これは多分Scalingしない場合Fastと言っているのかと私は思っています。
[PR]
by kagurayouyou | 2006-11-03 12:22 | コンピュータ