So che la convalida incrociata viene utilizzata per selezionare i parametri validi. Dopo averli trovati, ho bisogno di ri-formare tutti i dati senza l'opzione -v.Riqualificazione dopo Cross Validation con libsvm
Ma il problema che devo affrontare è che dopo l'allenamento con l'opzione -v, ottengo l'accuratezza della convalida incrociata (ad es. 85%). Non esiste un modello e non riesco a vedere i valori di C e gamma. In tal caso, come posso riqualificare?
Btw applicando una convalida incrociata di 10 volte. esempio
optimization finished, #iter = 138
nu = 0.612233
obj = -90.291046, rho = -0.367013
nSV = 165, nBSV = 128
Total nSV = 165
Cross Validation Accuracy = 98.1273%
Hai bisogno di un certo aiuto su di esso ..
per ottenere il miglior C e gamma, io uso questo codice che è disponibile nel LIBSVM FAQ
bestcv = 0;
for log2c = -6:10,
for log2g = -6:3,
cmd = ['-v 5 -c ', num2str(2^log2c), ' -g ', num2str(2^log2g)];
cv = svmtrain(TrainLabel,TrainVec, cmd);
if (cv >= bestcv),
bestcv = cv; bestc = 2^log2c; bestg = 2^log2g;
end
fprintf('(best c=%g, g=%g, rate=%g)\n',bestc, bestg, bestcv);
end
end
Un'altra domanda: quella precisione incrociata dopo aver usato l'opzione -v simile a quella che otteniamo quando ci alleniamo senza opzione -v e usiamo quel modello per prevedere? sono le due accurate simili?
Un'altra domanda: la convalida incrociata migliora sostanzialmente l'accuratezza del modello evitando il sovradattamento. Quindi, deve avere un modello in atto prima che possa migliorare. Ho ragione? Oltre a questo, se ho un modello diverso, la precisione della cross-validation sarà diversa? Ho ragione?
Un'altra domanda: Nella precisione della convalida incrociata, qual è il valore di C e gamma, quindi?
Il grafico è qualcosa di simile
Poi i valori di C sono 2 e gamma = ,0078,125 mila. Ma quando rieducifico il modello con i nuovi parametri. Il valore non è lo stesso del 99,63%. Potrebbe esserci qualche ragione? Grazie in anticipo ...
Ho modificato la domanda ... – lakesh
codice fantastico, grazie ... Un altro qn: il punto in cui il valore di precisione è la posizione migliore c e gamma. Ho ragione? – lakesh
@lakesh: corretto, ricorda solo che il grafico è disegnato con una scala log2 (quindi i valori migliori qui sono 'C = 2^9' e gamma =' 2^-11') – Amro