Esistono numerosi thread in CrossValidated sull'argomento di selezione del modello e convalida incrociata. Eccone alcuni:
- Convalida incrociata interna vs esterna e selezione del modello
- La risposta principale di DikranMarsupial alla selezione e alla convalida incrociata delle funzioni
Tuttavia, le risposte a questi thread sono abbastanza generiche e evidenziano principalmente i problemi con approcci particolari per la validazione incrociata e la selezione del modello.
Per rendere le cose il più concrete possibile , diciamo ad esempio che stiamo lavorando con un SVM con un kernel RBF: , e che Ho un set di dati di funzioni X ed etichette y e che desidero
- Trova i migliori valori possibili del mio modello ( e )
- Addestra SVM con il mio set di dati (per la distribuzione finale)
- Stimare l'errore di generalizzazione e l'incertezza (varianza) attorno a questo errore
Per fare ciò, farei personalmente una ricerca nella griglia, ad esempio provo ogni possibile combinazione di e . Per semplicità, possiamo assumere i seguenti intervalli:
Più specificamente, usando il mio set di dati completo faccio quanto segue:
- Per ogni coppia ( , ), eseguo ripetute iterazioni (ad es. 100 ripetizioni casuali) di -fold cross validation (ad es. ), sul mio set di dati, ovvero alleno il mio SVM su pieghe e valuto il errore sulla piega a sinistra, ripetendo tutte le pieghe diComplessivamente, raccolgo 100 x 10 = 1000 errori di test.
- Per ciascuna di queste coppie ( , ), calcolo la media e la varianza di questi 1000 errori di test .
Ora voglio scegliere il miglior modello (i migliori parametri del kernel) che userei per addestrare il mio SVM finale sull'insieme di dati completo. La mia comprensione è che la scelta del modello che presentava la media dell'errore più basso e la varianza e sarebbe la scelta giusta e che i questo modello sono sono le mie migliori stime del bias e della varianza dell'errore di generalizzazione del modello durante l'allenamento con il set di dati completo.
MA, dopo aver letto le risposte nei thread sopra, ho l'impressione che questo metodo per scegliere il miglior SVM per la distribuzione e / o per stimare il suo errore (prestazioni di generalizzazione), sia difettoso e che ci siano modi migliori di scegliere il migliore SVM e riportare il suo errore. Se sì, quali sono? Sto cercando una risposta concreta per favore.
Attenendosi a questo problema, in che modo posso scegliere il modello migliore e stimare correttamente il suo errore di generalizzazione ?