I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoProblema: perché i miei set di convalida hanno funzionato meglio dei set di addestramento?
Dati: 200 punti dati; 90% per la formazione e 10% per la convalida
Statistico:
1. creare una colonna di convalida
Crea colonna di convalida(
Set da allenamento( 0.90 ),
Insieme di convalida ( 0.10 ),
Set di prova( 0.00 ),
Formula casuale);
2. reti neurali:
uno strato nascosto, 3 nodi TanH
Boosting: numero di modelli (10), tasso di apprendimento (0,1)
Opzioni di montaggio: Numero di tour( 10 )
3. i passaggi precedenti sono stati ripetuti per 1000 volte
4. calcolare la media dei quadrati R per set di addestramento e set di validazione
Descrizione dei problemi:
Il quadrato R medio per i set di validazione era molto più grande di quello dei set di addestramento. Perché dovrebbe accadere? Abbiamo anche provato senza un metodo di penalità, i set di convalida hanno comunque funzionato meglio dell'allenamento.
In che modo JMP ottimizza i parametri delle stime per i set di convalida?
Perché questo non è il caso se usiamo foreste bootstrap? ad esempio, per le foreste bootstrap, i set di addestramento hanno funzionato meglio dei set di convalida.
Grazie.
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoNon stai disturbando nessuno qui! Domande come la tua sono uno dei motivi principali per avere l'area Discussioni nella community di JMP! D'altra parte, alcune discussioni potrebbero andare oltre lo scopo o la capacità di questo formato.
NOTA: stiamo discutendo modelli predittivi , non modelli esplicativi . Pertanto, ci interessa solo la capacità del modello di prevedere il futuro. Il futuro non è disponibile mentre formazione il modello e selezionando un modello.
La convalida incrociata di qualsiasi tipo non è il risultato di una teoria. È una soluzione al problema di come eseguire un file valutazione onesta delle prestazioni dei modelli prima e dopo aver selezionato un modello. L'approccio del set di controllo è stato sviluppato inizialmente per i casi di set di dati di grandi dimensioni. L'inferenza non è utile per la selezione del modello in questi casi. Il futuro non è disponibile. Cosa fare? Mettere da parte o trattenere una parte dei dati ( convalida ). Questi dati non sono disponibili per la procedura di formazione. Quindi applicare il modello adattato al set di controllo per ottenere le previsioni del modello. Come ha fatto il modello? Come si comportano gli altri modelli?
Poiché i dati di convalida sono stati utilizzati per selezionare il modello, alcuni modellisti tengono una terza parte ( test ) per valutare il modello selezionato.
La convalida incrociata è un'ottima soluzione ma si basa sulle grandi dimensioni dell'insieme originale di osservazioni. Cosa fare quando la dimensione del campione è piccola? L'approccio K-fold è stato sviluppato appositamente per questi casi. Alcuni modellisti lo portano all'estremo e impostano K sulla dimensione del campione. Questa versione è nota come ' lasciane fuori uno .' Funziona meglio che resistere ai set in questi casi perché stai utilizzando i dati in modo più efficiente.
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoCaro signor Bailey,
Come consigliato, ho utilizzato la convalida incrociata k-fold con le reti neurali e la regressione graduale (inserisci tutto). Ho scritto un ciclo e ho eseguito ogni analisi per 100 volte. I risultati mostrano che i quadrati R medi per i set di validazione non sono superiori a quelli dei set di addestramento.
Ora mi chiedo perché la convalida incrociata K-fold funzioni meglio con campioni di piccole dimensioni e perché la convalida del controllo con le reti neurali otterrà risultati scomodi, ovvero i set di convalida ottengono quadrati R medi più alti. Qual è la ragione teorica o matematica?
Grazie.Scusa per averti disturbato di nuovo.
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoJMP Pro offre k-fold per l'analisi di regressione con la piattaforma Stepwise. Viene utilizzato per determinare quali termini mantenere nel modello. Dalla documentazione JMP:
K-Fold Crossvalidation (disponibile solo per risposte continue). Esegue la convalida incrociata K-Fold nel processo di selezione. Se selezionata, questa opzione abilita la regola di arresto Max K-Fold RSquare (“Stepwise Regression Control Panel” a pagina 250). Per più
informazioni sulla convalida, vedere “Utilizzo della convalida” a pagina 285.
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoNo, la piattaforma Fit Least Squares in JMP non fornisce alcuna convalida incrociata. La piattaforma di regressione generalizzata in JMP Pro, che include il modello di regressione lineare standard, fornisce sia la convalida incrociata hold-out nella finestra di dialogo di avvio sia la convalida incrociata K-fold come opzione di convalida della piattaforma.
Potresti prendere in considerazione l'utilizzo di AICc per la selezione del modello al posto della convalida incrociata a causa delle dimensioni ridotte del campione.
Potresti anche prendere in considerazione l'utilizzo di software open source se fornisce la flessibilità richiesta. Puoi connetterti a R o Python, ad esempio, con JMP e lavorare con entrambi i software.
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoCaro signor Bailey,
Grazie. Ho un'altra domanda: possiamo usare la convalida incrociata K-fold con la regressione dei minimi quadrati standard in JMP?
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoGrazie. Sì, ho trovato solo gli script qui sotto. Ma non potevo combinarlo con il modello della foresta bootstrap.
obj = Open( "$SAMPLE_DATA/Car Poll.jmp" ) << Partition(
Y( :country ),
X( :sex, :marital status, :age, :type, :size )
);
obj << K Fold Crossvalidation( 5 );
obj << Go;
Grazie mille per il tuo aiuto.
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoNon è possibile utilizzare la convalida incrociata K-fold con la selezione del modello Bootstrap Forest in JMP. È possibile utilizzare solo set di hold-out.
Ricorda che la maggior parte dei tipi di modello predittivo è destinata a set di dati di grandi dimensioni. Potresti fare altrettanto con la regressione multipla nel tuo caso se i dati soddisfano le ipotesi del modello.
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoGrazie per i vostri suggerimenti. Abbiamo provato k-fold e nel nostro caso funziona meglio. Tuttavia, emergono nuovi problemi: come possiamo eseguire la convalida incrociata k-fold per le foreste bootstrap?
Grazie.
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoGrazie per i suggerimenti. Sì, 1000 iterazioni significano che abbiamo 1000 divisioni casuali del set di dati. Ed è vero che i quadrati R per gli insiemi di validazione non sono sempre più grandi degli insiemi di addestramento (vedi figura). Ma la media degli R quadrati degli insiemi di validazione è sempre maggiore di quella degli insiemi di addestramento per tutti i nostri parametri di risposta. Sto facendo le analisi con k-fold adesso. Vediamo cosa sarebbe successo.
Come ha detto il signor Bailey:
"Il training set viene utilizzato per stimare i parametri del modello. Il set di convalida viene utilizzato per selezionare tra i modelli candidati. Il set di test viene utilizzato per valutare il modello selezionato."
Ho due domande relative alle frasi precedenti:
- Nel processo di formazione, quanti candidati sarebbero preparati? Come calcolano i candidati? È deciso dal potenziamento - "adatta una sequenza additiva di modelli scalati dal tasso di apprendimento"?
- In che modo il software sceglie il miglior candidato? Qual è il criterio per il miglior candidato? È il candidato che fornisce il miglior quadrato R per gli insiemi di convalida?
Per quanto riguarda il k-fold, ho anche due domande:
- Se disponiamo di 200 punti dati e abbiamo utilizzato una divisione del 90%/10% per il set di addestramento e convalida (nessuna sovrapposizione), probabilmente otterremo un set di addestramento di 180 punti dati e un set di convalida di 20 punti dati. Questo è lo stesso se usiamo un metodo di convalida 10 volte. È giusto? Qual è la differenza tra la convalida k-fold e la convalida del 90%/10%?
- Nella convalida incrociata K-fold, ancora una volta qual è il criterio per il miglior candidato? Come potrebbe trovare il modello ottimizzato? È lo stesso metodo della validazione 90%/10%?
Nel manuale ho letto “Quando viene utilizzata la convalida incrociata K-fold, la procedura descritta viene applicata a ciascuna delle K partizioni di training-holdback dei dati per ciascun valore di prova del parametro di penalità. Dopo che il modello è stato adattato a tutte le pieghe, la probabilità dell'insieme di convalida è sommato attraverso le pieghe utilizzando ciascuna delle stime dei parametri della singola piega. Questo è il valore ottimizzato nella selezione del parametro della penalità. La piega le cui stime dei parametri danno il miglior valore sul set di dati completo sono le stime dei parametri che vengono conservate e utilizzate dalla piattaforma. La coppia training-holdback che ha portato al modello migliore è la coppia la cui diagnostica del modello è fornita nel rapporto. Questo significa che il modello che ha il più grande verosimiglianza sommata è il migliore?
Grazie ancora.

Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoNon ne sono sicuro ma penso che la pretesa non sia di superiorità. Si basa sulla differenza nel quadrato R medio tra i set di addestramento e di validazione. Infatti non si può essere superiori perché le distribuzioni campionarie si sovrappongono. Utilizzando una distribuzione normale per approssimare la distribuzione campionaria di R quadrato, ottengo questi due grafici del PDF normale utilizzando i valori dei parametri di distribuzione dichiarati:

NOTA: so che R quadrato non è normalmente distribuito a causa dei suoi limiti [0,1] ma questo caso è abbastanza lontano da entrambi i limiti perché l'approssimazione funzioni abbastanza bene.
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoSe capisco la tua descrizione allora sono un po' perplesso.Per 1000 iterazioni, intendi dire che hai eseguito la rete neurale su 1000 divisioni casuali del set di dati?In tal caso, penso che sia strano se ognuna di queste divisioni abbia portato a prestazioni migliori sui dati di convalida rispetto ai dati di addestramento.Le mie preoccupazioni sulla dimensione del campione e sul numero di funzionalità spiegherebbero un numero (anche molte) delle iterazioni che si comportano in questo modo, ma probabilmente non tutte le 1000. Se ti capisco correttamente, allora potrebbe essere qualcosa di particolare per i tuoi dati e il particolari caratteristiche che hai.Se sei disposto a pubblicare i dati, potrei essere in grado di aiutarti di più, ma penso che questo esaurisca i miei pensieri in base a ciò che hai detto, a meno che non capisca cosa hai fatto.
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoGrazie per i vostri suggerimenti. Abbiamo sette funzioni da utilizzare come predittori. E in alcuni casi Std non è più grande per gli insiemi di validazione: mean R2train = .56, SDtrain = .11; media R2val = .70, SDval = .11.
E abbiamo provato anche con dodici predittori. Gli schemi dei nostri risultati sono gli stessi: i quadrati R medi dei set di validazione da 1000 iterazioni erano sempre maggiori di quelli dei set di addestramento.
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoIl set di addestramento viene utilizzato per stimare i parametri del modello. Il set di convalida viene utilizzato per selezionare i modelli candidati. Il set di test viene utilizzato per valutare il modello selezionato.
Sono d'accordo con @dale_lehman che il tuo set di dati è troppo piccolo per utilizzare il metodo di convalida incrociata hold-out. Raccomando la convalida incrociata K-fold.
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoQuante funzioni hai?Sono ancora sospettoso riguardo alla piccola dimensione del campione.Si noti che sia R-square che Std dev sono maggiori per i dati di convalida.Penso che, se si dispone di funzionalità sufficienti, è possibile ottenere un buon "adattamento" al set di convalida relativamente piccolo (anche con una suddivisione del 30%) che non verrà trasferita ai dati di test.Forse mbailey può far luce su questo, ma la mia impressione è che i dati di convalida vengano utilizzati per sintonizzare la rete neurale, quindi non sono gli stessi dei dati di test che non sono affatto utilizzati nel processo di modellazione.Quindi, con pochi punti dati e funzionalità sufficienti, puoi adattare molto bene i dati di convalida, ma con scarse prestazioni sui dati di test.
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoGrazie. Per spiegare ulteriormente il mio studio:
Per ogni iterazione ho utilizzato una nuova suddivisione nel set di addestramento e convalida.
Ci sono i risultati per la formazione e la convalida: media treno R2 = .58, SDtreno = .09; Significare R2val = .71, SDval = .12
Il parametro di risposta è una variabile continua.
Lo schema è lo stesso per una suddivisione del 70%/30%.Quindi, non ho davvero capito cosa succede nella convalida. Dovrebbe esserci qualcosa di più che testare il modello?
Ad esempio, quando utilizzo una procedura in 3 fasi (addestramento, convalida e test), il quadrato R medio per i set di convalida è nuovamente superiore a quello per l'addestramento, mentre per il test è presente un menu a discesa. Quindi qual è la differenza tra test e convalida.
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoHo dimenticato di menzionare che la convalida incrociata K-fold è specifica per i casi con campioni di piccole dimensioni. Hai provato questo metodo invece di un set di validazione?
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoPer favore conferma la mia comprensione del tuo studio. Hai riassegnato le righe ai set di attesa di addestramento e convalida prima di ciascuno dei 1000 eventi di addestramento?
JMP non ottimizza l'addestramento per il set di attesa di convalida. Valuta solo l'intervallo di convalida impostato al termine della formazione.
Qual è la media e la deviazione standard delle statistiche del campione R quadrato per i set di controllo di addestramento e convalida?
Qual è la natura della risposta? è continuo? È categorico? In caso affermativo, quanti livelli nella risposta?
Ri: I set di reti neurali_validazione ottengono adattamenti del modello più elevati rispetto ai set di addestramentoHai ragione sul fatto che questo non è un risultato tipico, anche se può accadere e succede.Sospetto, in questo caso, che sia principalmente il risultato della tua scissione iniziale.Un set di convalida del 10%, in particolare con un numero così ridotto di osservazioni, significa che i risultati della convalida si riferiscono a un modello applicato a un numero molto ridotto di punti dati.Le reti neurali possono aggravare il problema, ma anche un modello OLS farà un buon lavoro nell'adattare 20 punti dati.Credo che se modifichi la suddivisione addestramento/convalida al 70%/30% (e in particolare se hai anche più dati) questa anomalia scomparirà.