Hier poste ich zwei Zahlen sowie einige Fragen mit ihnen, kann mir jemand helfen, sie zu lösen, weil ich wirklich darin stecken bleibe?using libsvm SVM Fragen zu verstehen
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"
Dann hier kommt die resultierende Parzelle: enter image description here
Dies ist ein leicht trennbarer Datensatz, der von der kleinen Anzahl von Stützvektoren reflektiert wird. In der Darstellung sind die SV groß gezeichnet (und sind am Rand, die gestrichelte Linie eine Einheit von der Entscheidungsgrenze entfernt, die durchgezogene Linie).
hier kommt dann die erste Frage:
Q1: You should have found that it takes 3 support vectors. Could you have fewer (eg., 2) support vectors here? And why?
Meine Antwort ist nein, 3 die kleinste Zahl ist. Aber das ist nur meine Intuition. Ich weiß nicht warum. Kann mir jemand den Grund erklären?
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.
Hier ist die resultierende Handlung: enter image description here
Dann ist hier die zweite Frage:
Q2: Warum bekommt man diese kleinen Flecken? Wie hoch müssen Sie Gamma nach oben drehen, um eine kleine Entscheidungsgrenze um jedes Beispiel zu erhalten (d. H. Jede Entscheidungsgrenze umgibt genau ein Beispiel)?
Für diese Frage bin ich völlig verloren.
Vielen Dank! Aber zu Frage2, warum bekommst du diese kleinen Blobs? Bedeutet das, dass das die Margin-Linie ist? Ich bin ziemlich verwirrt. – JennyShen