SVM SVM(Support Vector Machine)は2クラスの識別に使えるアルゴリズムで非常に性能が良いらしい。 コンピュータビジョン最先端ガイド2などによると を最小化するを求めるのがSVMとのこと。普通SVMは2次計画法を使って計算するけど、実装方法が分からないので今回はFOBOSを使う。参考1、参考2。 非線形SVMでガウシアンカーネルを使おうとしたけど、カーネルが式に出てこないからカーネルトリックが使えない。何か使う方法があるのかな? とりあえず多項式カーネルを試す。 実装 多項式 void polynomial(const double x1, const double x2, VectorXd& phi) { phi(0) = 1.0; // w0 phi(1) = 1.0; phi(2) = sqrt(3) * x1; phi(3) = sqrt(3) * x2;
![SVM勉強メモ - wildpieの日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/a30f23d3ea997f32a2cf2c6d9f4bdc68052de975/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fw%2Fwildpie%2F20110321%2F20110321153703.png)