Caret: convalida incrociata ripetuta K vs convalida incrociata K ripetuta, ripetuta n-volte


16

Il pacchetto Caret è una brillante libreria R per la creazione di più modelli di machine learning e ha diverse funzioni per la costruzione e la valutazione dei modelli. Per l'ottimizzazione dei parametri e l'addestramento del modello, il pacchetto caret offre "ripetuto" come uno dei metodi.

Come buona pratica, l'ottimizzazione dei parametri potrebbe essere eseguita utilizzando la convalida incrociata K-fold nidificata che funziona come segue:

  1. Suddividere il training set in sottoinsiemi 'K'
  2. In ogni iterazione, prendere i sottoinsiemi "K meno 1" per l'addestramento del modello e mantenere 1 sottoinsieme (set di controllo) per il test del modello.
  3. Suddividere ulteriormente il set di addestramento "K meno 1" in sottoinsiemi "K" e utilizzare in modo iterativo il nuovo sottoinsieme "K meno 1" e il "set di convalida" per l'ottimizzazione dei parametri (ricerca della griglia). Il miglior parametro identificato in questo passaggio viene utilizzato per testare il set di controllo nel passaggio 2.

D'altra parte, suppongo, la ripetuta convalida incrociata di K potrebbe ripetere ripetutamente i passaggi 1 e 2 quante volte scegliamo di trovare la varianza del modello.

Tuttavia, esaminando l'algoritmo nel manuale di inserimento, sembra che il metodo 'repeatcv' possa eseguire anche la convalida incrociata K-fold nidificata, oltre a ripetere la convalida incrociata.

algoritmo del treno di accaparramento https://topepo.github.io/caret/training.html

Le mie domande sono:

  1. La mia sottovalutazione riguardo al metodo "ripetuto" del cursore è corretta?
  2. In caso contrario, potresti fornire un esempio di utilizzo della convalida incrociata K-fold nidificata, con il metodo 'ripetuto cv' usando il pacchetto caret?

Modificare:

Diverse strategie di convalida incrociata sono spiegate e confrontate in questo articolo di metodologia.

Krstajic D, Buturovic LJ, Leahy DE e Thomas S : insidie ​​di validazione incrociata quando si selezionano e si valutano i modelli di regressione e classificazione . Journal of Cheminformatics 2014 6 (1): 10. DOI: 10,1186 / 1758-2946-6-10

Sono interessato a “Algorithm 2: validazione incrociata nidificata stratificata ripetuta” e “Algorithm 3: validazione incrociata ripetuta per la ricerca della griglia per la selezione delle variabili e l'ottimizzazione dei parametri” usando il pacchetto caret.

Risposte:


2

Non c'è niente di sbagliato nell'algoritmo (nidificato) presentato, e in effetti, probabilmente funzionerebbe bene con una discreta robustezza per il problema della variazione di bias su diversi set di dati. Non hai mai detto, tuttavia, che il lettore dovrebbe presumere che le funzionalità che stavi utilizzando siano le più "ottimali", quindi se ciò è sconosciuto, ci sono alcuni problemi di selezione delle funzionalità che devono prima essere risolti.

SELEZIONE CARATTERISTICHE / PARAMETRI

Un approccio meno distorto è quello di non lasciare mai che il classificatore / modello si avvicini a qualcosa di remoto correlato alla selezione di caratteristiche / parametri, poiché non si desidera che la volpe (classificatore, modello) sia la guardia dei polli (caratteristiche, parametri). Il metodo di selezione della funzione (parametro) è awrun'pper- dove la selezione delle funzioni è raggruppata all'interno dell'apprendimento iterativo eseguito dal classificatore / modello. Al contrario, utilizzo sempre una funzionefiolterche utilizza un metodo diverso che è molto lontano dal classificatore / modello, come un tentativo di minimizzare il bias di selezione delle caratteristiche (parametro). Cerca il wrapping vs il filtro e il bias di selezione durante la selezione della funzione (GJ McLachlan).

Esiste sempre un grave problema di selezione delle funzionalità, per il quale la soluzione è quella di invocare un metodo di partizionamento degli oggetti (pieghe), in cui gli oggetti sono partizionati in set diversi. Ad esempio, simula una matrice di dati con 100 righe e 100 colonne, quindi simula una variabile binaria (0,1) in un'altra colonna - chiama questa variabile di raggruppamento. Quindi, eseguire i test t su ciascuna colonna usando la variabile binaria (0,1) come variabile di raggruppamento. Molti dei 100 test T saranno significativi solo per caso; tuttavia, non appena si divide la matrice di dati in due piegheD1 e D2, ognuno dei quali ha n=50, il numero di test significativi diminuisce. Fino a quando non è possibile risolvere questo problema con i dati determinando il numero ottimale di pieghe da utilizzare durante la selezione dei parametri, i risultati potrebbero essere sospetti. Quindi dovrai stabilire una sorta di metodo di bias di bootstrap per valutare l'accuratezza predittiva sugli oggetti di sostegno in funzione delle diverse dimensioni del campione utilizzate in ogni piega di allenamento, ad es.π=0.1n,0.2n,0,3n,0.4n,0.5n(vale a dire aumentare le dimensioni dei campioni utilizzati durante l'apprendimento) in combinazione con un numero variabile di pieghe del CV utilizzate, ad esempio 2, 5, 10, ecc.

OTTIMIZZAZIONE / MINIMIZZAZIONE

Sembra che tu stia davvero risolvendo un problema di ottimizzazione o minimizzazione per l'approssimazione delle funzioni, ad es. y=f(X1,X2,...,Xj), dove ad esempio viene utilizzata la regressione o un modello predittivo con parametri e yviene ridimensionato continuamente. Alla luce di ciò, e data la necessità di ridurre al minimo i bias nelle previsioni (bias di selezione, bias varianza, perdita di informazioni dai test degli oggetti agli oggetti di training, ecc.), È possibile esaminare l'utilizzo del CV durante l'uso di metodi di intelligence sciame, come ottimizzazione dello sciame di particelle (PSO), ottimizzazione delle colonie di formiche, ecc. PSO (vedi Kennedy & Eberhart, 1995) aggiunge parametri per lo scambio di informazioni sociali e culturali tra le particelle mentre volano attraverso lo spazio dei parametri durante l'apprendimento. Una volta acquisiti familiarità con i metodi di intelligenza dello sciame, vedrai che puoi superare molti pregiudizi nella determinazione dei parametri. Infine, non so se esiste un approccio a foresta casuale (RF, vedi Breiman, Journ. Of Machine Learning) per l'approssimazione delle funzioni, ma se esiste,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.