Sto usando libSVM. dire che i miei valori di caratteristiche sono nel seguente formato:valori di input per il ridimensionamento svm
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
Penso che ci siano due di scala può essere applicata.
scala ciascun vettore di istanza in modo tale che ogni vettore abbia una media zero e una varianza dell'unità.
((f11, f12, f13, f14) - mean((f11, f12, f13, f14)). /std((f11, f12, f13, f14))
scala ogni colonna della matrice sopra in un intervallo. per esempio [-1, 1]
Secondo miei esperimenti con kernel RBF (libSVM) ho trovato che la seconda scala (2) migliora i risultati di circa il 10%. Non ho capito il motivo per cui (2) mi dà risultati migliori.
Qualcuno potrebbe spiegarmi quale sia la ragione per applicare il ridimensionamento e perché la seconda opzione mi dà risultati migliori?
Prima di provare a rispondere a questa domanda ... Ogni colonna è nello stesso intervallo? ad esempio, fn1 e fnm sono [0,100]? – Pedrom
no potrebbe essere qualsiasi intervallo. per esempio la prima colonna rappresenta l'età e la seconda rappresenta lo stipendio, ecc. – user570593
Bene a seconda di come calcoli la media e la deviazione standard, potrebbero essere influenzati dalla più ampia gamma. D'altra parte, non penso che ci sia la garanzia che quella scala sia nell'intervallo [-1,1] che è l'intervallo numerico per RBF su libSVM – Pedrom