SVM-Skalierung der Eingabewerte

Ich benutze libSVM. Angenommen, meine Feature-Werte haben das folgende Format:

                         instance1 : f11, f12, f13, f14
                         instance2 : f21, f22, f23, f24
                         instance3 : f31, f32, f33, f34
                         instance4 : f41, f42, f43, f44
                         ..............................
                         instanceN : fN1, fN2, fN3, fN4

Ich denke da können zwei Skalierungen angewendet werden.

Skalieren Sie jeden Instanzvektor so, dass jeder Vektor den Mittelwert Null und die Einheitsvarianz aufweist.

    ( (f11, f12, f13, f14) - mean((f11, f12, f13, f14) ). /std((f11, f12, f13, f14) )

Skalieren Sie jede Spalte der obigen Matrix auf einen Bereich. zum Beispiel [-1, 1]

Nach meinen Experimenten mit dem RBF-Kernel (libSVM) habe ich festgestellt, dass die zweite Skalierung (2) die Ergebnisse um ca. 10% verbessert. Ich habe den Grund nicht verstanden, warum (2) zu besseren Ergebnissen führt.

Kann mir jemand erklären, warum die Skalierung angewendet wurde und warum die zweite Option zu besseren Ergebnissen führt?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage