In primo luogo, mi scuso per aver pubblicato una domanda che è già stata discussa a lungo qui , qui , qui , qui , quie per il riscaldamento di un vecchio argomento. So che @DikranMarsupial ha scritto a lungo su questo argomento in post e articoli di giornale, ma sono ancora confuso, e a giudicare dal numero di post simili qui, è ancora qualcosa che gli altri fanno fatica a cogliere. Dovrei anche affermare che ho ricevuto contraddizioni su questo argomento che ha aggiunto alla mia confusione. Dovresti anche sapere che in origine sono un fisico e non uno statistico, quindi la mia esperienza nel dominio qui è piuttosto limitata. Sto scrivendo un giornale in cui desidero utilizzare un CV nidificato per stimare le prestazioni che posso aspettarmi dal mio modello finale. Nel mio dominio, questo è il primo. (Abbiamo quasi mai usare qualsiasiforma di CV solido nel mio campo, ma allegramente pompare documenti con risultati di studi usando reti neurali e alberi decisionali potenziati!) Pertanto, è molto importante che io abbia una comprensione molto approfondita e chiara in modo da non rovinare e propagare una procedura errata per la mia comunità che potrebbe anni da disimparare! Grazie! Avanti con la domanda ...
Come si crea il modello finale dopo la convalida incrociata nidificata?
Sto allenando un semplice modello glmnet con regolarizzazione L1 e L2. È veloce, semplice e interpretabile. Eseguo trasformazioni di centraggio delle funzionalità, ridimensionamento e Box-Cox in modo che le distribuzioni delle caratteristiche siano centrate sulla media, standardizzate e in qualche modo simili a gaussiane. Eseguo questo passaggio nell'ambito della convalida incrociata, per evitare la perdita di informazioni. Solo perché il mio hardware è incredibilmente lento e non ho accesso a più muscoli della CPU, eseguo anche una rapida selezione delle funzioni basate su filtri all'interno del CV dopo la preelaborazione delle funzioni. Sto usando la ricerca casuale della griglia per selezionare gli iperparametri alpha e lambda. Capisco che non dovreiCiclo CV per ottenere questo preventivo. Comprendo che il loop CV interno viene utilizzato per la selezione del modello (in questo caso, gli iperparametri ottimali) e che il loop esterno viene utilizzato per la valutazione del modello , vale a dire, il CV interno ed esterno hanno due scopi diversi che spesso sono erroneamente confusi. (Come sto andando finora?)
Ora, i collegamenti che ho pubblicato suggeriscono che "il modo di pensare alla validazione incrociata è quello di stimare le prestazioni ottenute usando un metodo per costruire un modello, piuttosto che per stimare le prestazioni di un modello". Detto questo, come devo interpretare i risultati della procedura CV nidificata?
Il consiglio che ho letto sembra indicare quanto segue --- per favore correggimi se questo è sbagliato: il CV interno fa parte del meccanismo che mi permette di selezionare gli iperparametri alfa e lambda ottimali del mio modello glmnet. Il CV esterno indica la stima che posso aspettarmi di ottenere dal modello finale se applico la procedura esattamente come utilizzata nel CV interno, compresa la regolazione dell'iperparametro e l' utilizzo dell'intero set di dati per costruire il modello finale. Cioè, l'ottimizzazione dell'iperparametro fa parte del "metodo per costruire il modello". È corretto o no? Perché questo è ciò che mi confonde. Altrove ho visto che la procedura per la creazione del modello finale da distribuire prevede l'addestramento sull'intero set di dati utilizzando i valori fissidegli iperparametri che sono stati scelti usando CV. Qui, il "metodo per costruire il modello" non include l'ottimizzazione. Allora, che cos'è? Ad un certo punto vengono scelti e riparati gli iperparametri ottimali per la costruzione del modello finale! Dove? Come? Se il mio ciclo interno è CV 5 volte, e il mio ciclo esterno è CV 5 volte, e seleziono, diciamo, 100 punti per il test come parte della ricerca casuale della griglia nel CV interno, quante volte in realtà alleno il glmnet modello? (100 * 5 * 5) + 1 per la build finale o ci sono altri passaggi di cui non sono a conoscenza?
Fondamentalmente, ho bisogno di una descrizione molto chiara di come interpretare la stima delle prestazioni dal CV nidificato e come costruire il modello finale.
Vorrei anche conoscere la procedura appropriata per selezionare la soglia di probabilità per convertire i punteggi di probabilità dal mio modello glmnet finale in etichette di classe (binarie) --- è necessario un altro ciclo di CV?