Componente Regressione rete neurale

Crea un modello di regressione usando un algoritmo di rete neurale

Categoria: Machine Learning/Inizializza modello/Regressione

Panoramica dei componenti

Questo articolo descrive un componente nella finestra di progettazione di Azure Machine Learning.

Usare questo componente per creare un modello di regressione usando un algoritmo di rete neurale personalizzabile.

Sebbene le reti neurali siano ampiamente note per l'uso in Deep Learning e la modellazione di problemi complessi, ad esempio il riconoscimento delle immagini, sono facilmente adattate ai problemi di regressione. Qualsiasi classe di modelli statistici può essere definita una rete neurale se usano pesi adattivi e può approssimare funzioni non lineari dei relativi input. Pertanto, la regressione della rete neurale è adatta ai problemi in cui un modello di regressione più tradizionale non può adattarsi a una soluzione.

La regressione della rete neurale è un metodo di apprendimento supervisionato e quindi richiede un set di dati con tag, che include una colonna etichetta. Poiché un modello di regressione stima un valore numerico, la colonna etichetta deve essere un tipo di dati numerico.

È possibile eseguire il training del modello specificando il modello e il set di dati con tag come input per Eseguire il training del modello. Il modello sottoposto a training può quindi essere usato per stimare i valori per i nuovi esempi di input.

Configurare la regressione della rete neurale

Le reti neurali possono essere ampiamente personalizzate. Questa sezione descrive come creare un modello usando due metodi:

  • Creare un modello di rete neurale usando l'architettura predefinita

    Se si accetta l'architettura di rete neurale predefinita, usare il riquadro Proprietà per impostare i parametri che controllano il comportamento della rete neurale, ad esempio il numero di nodi nel livello nascosto, la frequenza di apprendimento e la normalizzazione.

    Iniziare da qui se non si ha una novità delle reti neurali. Il componente supporta molte personalizzazioni, nonché l'ottimizzazione del modello, senza una conoscenza approfondita delle reti neurali.

  • Definire un'architettura personalizzata per una rete neurale

    Usare questa opzione se si desidera aggiungere livelli nascosti aggiuntivi o personalizzare completamente l'architettura di rete, le connessioni e le funzioni di attivazione.

    Questa opzione è ottimale se si ha già familiarità con le reti neurali. Usare il linguaggio Net# per definire l'architettura di rete.

Creare un modello di rete neurale usando l'architettura predefinita

  1. Aggiungere il componente Neural Network Regression alla pipeline nella finestra di progettazione. È possibile trovare questo componente in Machine Learning, Inizializza nella categoria Regressione .

  2. Indicare la modalità di training del modello impostando l'opzione Crea formatore .

    • Singolo parametro: scegliere questa opzione se si conosce già come si vuole configurare il modello.

    • Intervallo di parametri: selezionare questa opzione se non si è certi dei parametri migliori e si vuole eseguire uno sweep di parametri. Selezionare un intervallo di valori per scorrere e ottimizzare gli iperparametri del modello esegue l'iterazione su tutte le possibili combinazioni delle impostazioni fornite per determinare gli iperparametri che producono i risultati ottimali.

  3. In Specifica livello nascosto selezionare Caso completamente connesso. Questa opzione crea un modello usando l'architettura di rete neurale predefinita, che per un modello di regressione di rete neurale, ha questi attributi:

    • La rete ha esattamente un livello nascosto.
    • Il livello di output è completamente connesso al livello nascosto e il livello nascosto è completamente connesso al livello di input.
    • Il numero di nodi nel livello nascosto può essere impostato dall'utente (il valore predefinito è 100).

    Poiché il numero di nodi nel livello di input è determinato dal numero di funzionalità nei dati di training, in un modello di regressione può essere presente un solo nodo nel livello di output.

  4. In Numero di nodi nascosti digitare il numero di nodi nascosti. Il valore predefinito è un livello nascosto con 100 nodi. Questa opzione non è disponibile se si definisce un'architettura personalizzata con Net#.

  5. Per Frequenza di apprendimento digitare un valore che definisce il passaggio eseguito in ogni iterazione, prima della correzione. Un valore maggiore per la frequenza di apprendimento può causare una convergenza più rapida del modello, ma può superare i minimi locali.

  6. Per Numero di iterazioni di apprendimento, specificare il numero massimo di volte in cui l'algoritmo elabora i case di training.

  7. Per Il momento digitare un valore da applicare durante l'apprendimento come peso sui nodi delle iterazioni precedenti.

  8. Selezionare l'opzione Esempi casuali per modificare l'ordine dei casi tra iterazioni. Se si deseleziona questa opzione, i case vengono elaborati esattamente nello stesso ordine ogni volta che si esegue la pipeline.

  9. Per Valore di inizializzazione numero casuale, è possibile digitare facoltativamente un valore da usare come valore di inizializzazione. Specificare un valore di inizializzazione è utile quando si vuole garantire la ripetibilità tra le esecuzioni della stessa pipeline.

  10. Connettere un set di dati di training ed eseguire il training del modello:

    • Se si imposta Create trainer mode (Crea modalità trainer) su Single Parameter (Parametro singolo), connettere un set di dati con tag e il componente Train Model (Train Model ).

    • Se si imposta La modalità di training su Intervallo di parametri, connettere un set di dati con tag ed eseguire il training del modello usando Ottimizzazione degli iperparametri del modello.

    Nota

    Se si passa un intervallo di parametri a Train Model, viene usato solo il valore predefinito nell'elenco dei singoli parametri.

    Se si passa un singolo set di valori di parametro al componente Tune Model Hyperparameters , quando prevede un intervallo di impostazioni per ogni parametro, ignora i valori e usa i valori predefiniti per lo strumento di apprendimento.

    Se si seleziona l'opzione Intervallo di parametri e si immette un singolo valore per qualsiasi parametro, tale singolo valore specificato viene usato durante lo sweep, anche se altri parametri cambiano in un intervallo di valori.

  11. Inviare la pipeline.

Risultati

Al termine del training:

  • Per salvare uno snapshot del modello sottoposto a training, selezionare la scheda Output nel pannello destro del componente Train model (Esegui training modello). Selezionare l'icona Registra set di dati per salvare il modello come componente riutilizzabile.

Passaggi successivi

Vedere il set di componenti disponibili per Azure Machine Learning.