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.

Anche se le reti neurali sono ampiamente note per l'uso di problemi complessi di formazione e modellazione, ad esempio riconoscimento di immagini, sono facilmente soggetti a problemi di regressione. Qualsiasi classe di modelli statistici può definirsi rete neurale se usa pesi adattivi e può definire in maniera approssimativa funzioni non lineari dei relativi input. Pertanto la regressione della rete neurale è adatta a problemi in cui un modello di regressione più tradizionale non può contenere una soluzione.

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

È possibile eseguire il training del modello fornendo 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 di 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 qui se si è nuovi alle reti neurali. Il componente supporta molte personalizzazioni, nonché l'ottimizzazione dei modelli, senza 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 è migliore 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, Inizializzare, nella categoria Regressione .

  2. Indica come eseguire il training del modello impostando l'opzione Crea modalità di training .

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

    • Intervallo di parametri: selezionare questa opzione se non si è sicuri dei parametri migliori e si vuole eseguire uno sweep di parametri. Selezionare un intervallo di valori per eseguire l'iterazione e l'iperparametri del modello di ottimizzazione esegue l'iterazione di 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. Per 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 superiore per la velocità di apprendimento può provocare una convergenza più rapida del modello, ma può eccedere i valori minimi locali.

  6. Per Numero di iterazioni di apprendimento, specificare il numero massimo di volte in cui l'algoritmo elabora i casi 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 di shuffle, per modificare l'ordine dei casi tra iterazioni. Se si deseleziona questa opzione, i casi vengono elaborati esattamente nello stesso ordine ogni volta che si esegue la pipeline.

  9. Per inizializzazione numero casuale, è possibile digitare facoltativamente un valore da usare come inizializzazione. La specifica di 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 e eseguire il training del modello:

    • Se si imposta La modalità di training suSingolo parametro, connettere un set di dati con tag e il componente Train Model .

    • Se si imposta La modalità di training suIntervallo di parametri, connettere un set di dati con tag e eseguire il training del modello usando Gli iperparametri del modello.

    Nota

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

    Se si passa un singolo set di valori di parametro al componente Ottimizzare gli iperparametri del modello , quando prevede un intervallo di impostazioni per ogni parametro, ignora i valori e usa i valori predefiniti per il learner.

    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 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.