2016-04-04 9 views
1

Ich habe eine SVM auf zwei Klassen trainiert. Eins ist das von echten Benutzerproben. Die zweite ist viele negative Stichproben von gleicher Stichprobengröße wie der echte Benutzer. Ich habe dieses System auf Klasse getestet, die nicht für Training verwendet hat. Die Ergebnisse sind interessant und ich kann sie nicht erklären; Ich weiß nicht, ob das erwartet wird, ein SVM-Problem oder etwas anderes.LIBSVM gibt dieselbe Vorhersage für nicht trainierte Klassen. Warum?

(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0) 

Oben ist ein Beispiel für die Art von Ausgabe-I für verschiedene Proben von einer ungeschulten und ungesehen Klasse erhalten. Es ist genau das gleiche für jede Probe. Ich würde erwarten, dass sie der Klasse 1.0 näher kommen, und ich würde auch zumindest eine Veränderung der Wahrscheinlichkeiten erwarten!

Antwort

1

Haben Sie die Leistung Ihrer Modelle überhaupt überprüft? Haben Sie nach den Hyper-Parametern gesucht?

Ihre Ausgabe könnte möglicherweise leicht als schlechte Ausführung von Machine Learning erklärt werden. Wenn Sie den RBF-Kernel verwenden und seine Breite zu klein ist, ist der einzige Faktor, der zu einer Klassifikationsentscheidung beiträgt, der Bias-Term. Der Bias-Begriff ist von Natur aus für alle Eingaben gleich. Somit würden Sie für alle ungesehenen Testdaten genau dieselben (oder fast) Ergebnisse erhalten (es sei denn, sie lagen sehr nahe bei einem Trainingsdatum).

Ich kann nicht sicher sagen, dass dies passiert ist, ohne mehr Details über Ihre Daten zu wissen und was Sie tatsächlich getan haben. Aber das scheint ein wahrscheinliches Szenario zu sein.

+0

Danke, ich werde das untersuchen. – mino