Ri: Ottimizzazione della rete neuraleCiao Scott,
Componente aggiuntivo molto utile. In precedenza dovevo generare manualmente un progetto di riempimento dello spazio per provare ad esplorare la piattaforma NN. Farò un giro di prova! Qualche piano per espandere il numero di livelli nella piattaforma NN? Inoltre, qualsiasi messa a punto casuale può essere implementata anche nella piattaforma di genere?
Grazie,
Vini
Ri: Ottimizzazione della rete neuraleCIAO, @Vins !.
Volevo solo intervenire su questo. GenReg può già essere regolato, basta impostare l'iperparametro alfa su "." e JMP lo ottimizzerà. Su più livelli nella NN, è più nelle mani di JMP Development che di Scott. Dovresti inserire la richiesta nel file Lista dei desideri JMP in modo che sappiano che ti piacerebbe vedere gli NN più profondi disponibili.
Migliore,
M
Ri: Ottimizzazione della rete neurale@Vins -
Al momento, il componente aggiuntivo passa semplicemente i parametri alla piattaforma JMP NN, che crea NN con un massimo di due livelli. Se la piattaforma cambia (più livelli, funzioni di attivazione, ecc.) e l'interesse è sufficiente, posso aggiornare il componente aggiuntivo. Voglio secondo @MikeD_Anderson e vai alla lista dei desideri se ci sono funzionalità che vorresti vedere nelle future versioni di JMP.
Fammi sapere come va la tua corsa di prova!
- Scott
Ri: Ottimizzazione della rete neuraleQuesto è fantastico. Mi chiedevo quando qualcosa del genere si sarebbe fatto strada in JMP Pro, ma è stata un'ottima iniziativa creare questo componente aggiuntivo per farlo.+50 punti per Grifondoro!
Re: Ottimizzazione della rete neuraleOttimo strumento, grazie mille. L'ho appena testato su vari set di dati, mi fa risparmiare un sacco di tempo e trova condizioni (parametri) che non avrei necessariamente testato per motivi di tempo. Grazie Scott!!
Re: Ottimizzazione della rete neuraleOttimo lavoro @scott_allen sulla bella configurazione e funzionalità di questo componente aggiuntivo!
Due preoccupazioni/avvertimenti:
1. La piattaforma neurale esamina i dati di validazione mentre esegue l'adattamento del modello, quindi i risultati di validazione sono fuorvianti ed eccessivamente ottimistici.In quanto tali, non penso che forniscano una buona stima delle prestazioni di generalizzazione né un buon modo per confrontare diversi modelli nella progettazione dell'ottimizzazione.L'unico modo per aggirare questo problema di cui sono a conoscenza è utilizzare una colonna di convalida a tre livelli (Training, Validation e Test, creabile con Analizza > Modellazione predittiva > Crea colonna di convalida) e quindi utilizzare solo i risultati del test per confrontare i modelli.Ho appena controllato che il componente aggiuntivo gestisca questo caso e, per verificare il punto generale, traccia Validation R2 rispetto a Test R2.
2. Lanciare molti modelli in un singolo set di test di controllo molto probabilmente porterà a un adattamento eccessivo di quel set di test.Ciò è accaduto con la funzionalità di ottimizzazione automatica in XGBoost (che utilizza lo stesso approccio di progettazione flessibile veloce), richiedendo una modifica per produrre solo un modello di insieme durante l'ottimizzazione automatica e per utilizzare l'annidamento all'interno di ciascuna piega per evitare perdite.
@Vins NN arbitrariamente profondi sono disponibili nel nuovo componente aggiuntivo Torch Deep Learning; per favore registrati per provarlo JMP 18 Primi utilizzatori Non dispone ancora dell'autotuning, ma potrebbe farlo in futuro.
Re: Ottimizzazione della rete neurale@russ_wolfinger
Ottimi punti. Sono d'accordo con entrambi e spero di continuare a sviluppare questo componente aggiuntivo per risolvere questi problemi.
Il mio primo obiettivo era automatizzare l'attuale flusso di lavoro di generazione del modello e ora vorrei iniziare a pensare all'inclusione di "guard rail" o contribuire a trovare modi per includere ulteriori metodi di convalida.
Mi piace anche l'idea dei modelli d'insieme. Sto valutando l'aggiunta di un modo semplice per consentire all'utente di passare i modelli alla piattaforma Confronta modelli. Ma potrebbe essere meglio automatizzare anche questo sulla base di alcune statistiche di adattamento del modello. Cibo per la mente!
Re: Ottimizzazione della rete neurale@scott_allen Ho aggiunto alla lista dei desideri più livelli su NN.
@russ_wolfinger , ho già utilizzato il componente aggiuntivo Torch Deep Learning per diversi test in EA5. Ottengo modelli migliori del componente aggiuntivo xgboost, tuttavia torno sempre al tuo componente aggiuntivo xgboost e salvo una tabella di "guadagno", "divisioni", "copertura" e punteggi per ciascuna variabile. Con questa tabella seleziono solo le variabili con valori diversi da 0 ed rieseguo xgboost con un set di predittori più piccolo. Di solito dopo 2-3 round non ottengo predittori diversi da zero. In questo modo filtro le variabili non importanti e posso fare in modo che il profiler visualizzi un modello più piccolo. I miei predittori sono abitualmente 60-300K. Mi piacerebbe vedere un'opzione nel file Componente aggiuntivo Torch Deep Learning in cui posso accedere a una tabella con valori che posso utilizzare per eliminare variabili non importanti.
Ci sarà un design flessibile veloce ampliato in xgboost che includa anche le altre ~ 30 opzioni avanzate che includono parametri categorici?E infine @russ_wolfinger , la prossima versione di EA sarà dotata di una tabella di ottimizzazione per il componente aggiuntivo Torch Deep Learning? non vedo l'ora, i modelli sono decisamente migliori!
Re: Ottimizzazione della rete neurale@Vins Grazie mille per il feedbackPenso che il tuo approccio di riduzione delle variabili in XGBoost sia ragionevole (ho fatto lo stesso anch'io) poiché quelle variabili con importanza 0 non vengono utilizzate in nessuno dei modelli.Sia l'importanza variabile che la sintonizzazione automatica sono nell'elenco delle "cose da fare" per Torch.
L'autotuning di XGBoost su tutte le opzioni avanzate richiederebbe un'interfaccia molto più grande e disordinata, e possiamo pensarci.Nel frattempo, è disponibile un'opzione Tuning Design Table in cui è possibile specificare una tabella JMP secondaria con punti di progettazione, ad esempio creata invocando DOE FFF direttamente sui parametri che si desidera ottimizzare.
Stiamo inoltre esaminando maggiormente gli approcci di ottimizzazione bayesiana.C'è un aggiungere .
Re: Ottimizzazione della rete neuraleAggiornamento
Il componente aggiuntivo Neural Network Tuning è stato aggiornato.La versione 1.1 è ora disponibile per il download e la versione 1 è stata rimossa. Questa versione presenta una serie di correzioni di bug e miglioramenti generali basati sul feedback degli utenti:
Correzioni di bug
- Informativa Opere mancanti.
- Vengono generati vari avvisi per evitare messaggi di errore JMP quando si riscontrano problemi nei passaggi di specifica della colonna o di specifica dei parametri.
- Sono ora supportate le risposte nominali e ordinali multilivello.
Miglioramenti
- Aggiornamenti generali dell'interfaccia
- La convalida di KFold è ora disponibile
- È possibile avviare una finestra della Guida facendo clic sul pulsante "Guida". La finestra della Guida contiene informazioni aggiuntive su come vengono gestiti la convalida del modello, il confronto dei modelli e il salvataggio dei modelli nella versione 1.1.
- La convalida del modello ora viene sempre eseguita con una colonna per facilitare la riproducibilità del modello.
- Il confronto dei modelli viene ora eseguito utilizzando la piattaforma Confronta modelli in una tabella dati duplicata (e nascosta).
- Salva i modelli direttamente dalla finestra dei risultati dell'ottimizzazione utilizzando il pulsante Salva modelli.
- Quando viene caricata una tabella dati salvata in precedenza, il componente aggiuntivo avviserà se le variabili X nella tabella dati salvata sono diverse dalle variabili X specificate al momento dell'avvio del componente aggiuntivo.
- L'output del generatore di grafici ora dispone di un commutatore di colonna per esaminare i valori di training, convalida o test R2 rispetto a ciascun parametro.
- Altri due grafici di visualizzazione del modello vengono aggiunti come schede nella finestra dei risultati. Questi sono anche interattivi con la tabella dati per aiutare a identificare i modelli migliori.
- La finestra Avanzamento modello presenta alcuni aggiornamenti:
- Viene mostrato il tempo di modellazione complessivo
- Viene mostrato il tempo medio per modello
- Un pulsante Annulla è disponibile nella finestra di avanzamento del modello nel caso in cui il tempo di modellazione complessivo sia più lungo di quello desiderato. Qualsiasi modello completato durante la fase di modellazione verrà salvato nella finestra dei risultati. Tieni presente che quando il tempo di modellazione è lungo, questo pulsante può "ritardare" e potrebbero essere necessari alcuni clic per registrare il comando.
- I modelli salvati nella tabella dati hanno una sezione Note aggiornata con tutti i parametri utilizzati per generare il modello.
Re: Ottimizzazione della rete neuraleAggiornamento
La versione 1.2 è ora disponibile. Questa versione presenta una serie di correzioni di bug e miglioramenti aggiuntivi basati sul feedback degli utenti:
Correzioni di bug
- Confronta modelli porterà solo i modelli NN preparati di recente nella piattaforma Confronta modelli invece di tutti i modelli generati in precedenza
- I confronti dei modelli con i valori Y nominali e ordinali ora funzionano
- Altre correzioni minori
Miglioramenti
- Ora puoi richiamare i parametri di accordatura
- Aggiunte diverse opzioni di salvataggio del modello
- La visualizzazione della tabella di ottimizzazione genera una copia della tabella
- La tabella dati viene ora salvata come scheda nella finestra dei risultati
- Aggiunti ID modello univoci per facilitare il confronto di modelli con diversi seed casuali
- Il nuovo grafico è disponibile quando vengono utilizzati più semi casuali
Sintonizzazione della rete neuraleAggiornamenti
27 novembre 2023 - Versione 1.1: miglioramenti e correzioni di bug, i dettagli sono nel post qui sotto
28 novembre 2023 - Versione 1.11 - correzione di bug minori
15 dicembre 2023 - Versione 1.2: miglioramenti e correzioni di bug, i dettagli sono nel post qui sotto
Scopo
Il componente aggiuntivo Neural Network Tuning è una piattaforma di rete neurale alternativa che fornisce un modo semplice per generare numerose reti neurali per identificare il miglior set di parametri per la struttura dei livelli nascosti, il potenziamento e le opzioni di adattamento.
Come funziona
L'utente specifica il numero di modelli di rete neurale che verranno eseguiti e imposta la gamma di parametri e opzioni di adattamento. Viene generato un DOE di riempimento dello spazio rapido e flessibile con i parametri di ottimizzazione come Fattori e la R di formazione, convalida e test 2 valori come risposte.
Ogni prova nel DOE viene passata alla piattaforma Neural Network e al R 2 i valori vengono registrati in una tabella DOE di output. Dopo aver eseguito tutti i modelli, la tabella viene ordinata in base a Validation R 2 e vengono visualizzati una serie di grafici per aiutare l'utente a identificare gli effetti più importanti per massimizzare la Validation R 2 valori.
È possibile generare modelli aggiuntivi modificando i parametri di ottimizzazione ed eseguendo nuovamente il DOE. Le nuove esecuzioni verranno aggiunte alla tabella originale.
La tabella dati può essere salvata e ricaricata nella piattaforma per salvare i progressi e riavviare ulteriori analisi. Questo è un modo per ottimizzare le reti neurali che potrebbe richiedere un tempo di calcolo considerevole.
Videoguida
Re: Ottimizzazione della rete neuraleCiao @Marco2024
Per analizzare due o più variabili, dovrai creare un modello per ciascuna e quindi caricare le espressioni di previsione nel Profiler:
- Costruisci un modello NN per il tuo primo output (Y) e salva l'espressione di previsione facendo clic sul pulsante "Salva modelli". L'opzione "Formule del profiler" salverà una singola colonna formula nella tabella dei dati.
- Ripeti l'operazione per tutte le variabili Y che desideri confrontare.
- Avvia il Profiler (Grafico > Profiler) e carica le tue espressioni di previsione.
Ciò fornirà un profiler per ciascuna delle tue variabili Y impilate una sopra l'altra per aiutarti a confrontare e co-ottimizzare il tuo sistema.
Re: Ottimizzazione della rete neuraleCiao Scott,
Sono lieto di salutarti......non sono riuscito ad entrare nel blog con il mio nome utente per risponderti......, apprezzo la tua risposta alla mia domanda!!..... Qui sotto ho notato il seguente:
1. Osservazioni:
- Il plugin non funziona in spagnolo
- Il plugin non salva il modello o i modelli scelti nella tabella
2. Domande:
- Potrebbe esserci un'opzione per il plugin per cercare reti neurali a 1 e 2 livelli in 1 passaggio... in base alla gamma di parametri indicati dall'utente?
Saluti,
Marco
Re: Ottimizzazione della rete neuraleCiao Scott,
L'osservazione 2 (il complemento non salva i modelli) la lascia senza effetto, il complemento salva i modelli.
Saluti,
Marco
Re: Ottimizzazione della rete neuraleCiao Scott,
Una domanda: il plugin potrebbe avere la possibilità di generare reti neurali che apprendono in tempo reale dagli input (apprendimento incrementale), cioè che non siano reti neurali statiche?
Saluti,
Marco