ここで私は2人の人物とそれらにいくつかの質問を投稿します。誰も私がそれらを解決するのを助けることができますか?libsvmを使ってSVMの質問を理解する
1. Training a simple linear SVM:
% svm-train -t 0 -c 100 data0 data0.model
% python drawBoundary.py data0
where:
-t 0 -- use a linear kernel
-c 100 -- set "C" = 100, which means "overfit a lot"
そしてここで得られたプロット付属: enter image description here
これはサポートベクトルの数が少ないで反射され、容易に分離可能なデータセットです。プロットでは、SVは大きく描かれています(境界線から1単位離れた破線、実線)。
は、その後、ここで最初の質問が来る:
Q1: You should have found that it takes 3 support vectors. Could you have fewer (eg., 2) support vectors here? And why?
私の答えはNOで、3が最も小さい数です。しかし、それは私の直感だけです。どうしてか分かりません。誰かが私の理由を説明できますか?ここで
2.
% svm-train -t 2 -c 100 -g 100 data0 data0.model
% python drawBoundary.py data0
where:
-t 2 means RBF and -g100 means gamma=100
A gamma of 100 means that you have to be really close to a point to have a kernel value that's non-zero.
結果のプロットである:
Q2:なぜあなたはこれらの小さな塊を得るのですか enter image description here
そして、ここでは2番目の質問ですか? ガンマを上げる必要がありますか?それぞれの具体的な境界線を得るためにどれくらいの高さですか(つまり、それぞれの決定境界線がまさに1つの例を取り囲んでいます)。
この質問では、私は完全に迷ってしまいます。
ありがとうございました!しかし、質問2のために、なぜあなたはこれらの小さな塊を手に入れますか?それらがマージンラインであることを意味しますか?私はかなり混乱しています。 – JennyShen