Condividi tramite


Componente regressione lineare

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

Usare questo componente per creare un modello di regressione lineare da usare in una pipeline. La regressione lineare tenta di stabilire una relazione lineare tra una o più variabili indipendenti e un risultato numerico o una variabile dipendente.

Questo componente viene usato per definire un metodo di regressione lineare e quindi eseguire il training di un modello usando un set di dati etichettato. Sarà quindi possibile usare il modello con training per ottenere stime.

Informazioni sulla regressione lineare

La regressione lineare è un metodo statistico comune, adottato in Machine Learning e migliorato con molti nuovi metodi per adattare la linea e misurare l'errore. In poche parole, la regressione fa riferimento alla stima di una destinazione numerica. La regressione lineare è comunque una scelta ottimale quando si vuole un modello semplice per un'attività predittiva di base. La regressione lineare tende inoltre a funzionare bene su set di dati di tipo sparse e ad alta dimensione privi di complessità.

Azure Machine Learning supporta un'ampia gamma di modelli di regressione, oltre alla regressione lineare. Tuttavia, il termine "regressione" può essere interpretato in modo debole e alcuni tipi di regressione forniti in altri strumenti non sono supportati.

  • Il problema di regressione classica prevede una singola variabile indipendente e una variabile dipendente. Si tratta di una regressione semplice. Questo componente supporta la regressione semplice.

  • La regressione lineare multipla prevede due o più variabili indipendenti che contribuiscono a una singola variabile dipendente. I problemi in cui vengono usati più input per stimare un singolo risultato numerico sono detti anche regressione lineare multivariata.

    Il componente Regressione lineare può risolvere questi problemi, in quanto la maggior parte degli altri componenti di regressione.

  • La regressione con più etichette è l'attività di stimare più variabili dipendenti all'interno di un singolo modello. Nella regressione logistica multietichetta, ad esempio, un campione può essere assegnato a più etichette diverse. Questa operazione è diversa dall'attività di stima di più livelli all'interno di una singola variabile di classe.

    Questo tipo di regressione non è supportato in Azure Machine Learning. Per stimare più variabili, creare un learner separato per ogni output da stimare.

Da anni gli statistici stanno sviluppando metodi sempre più avanzati per la regressione. Questo vale anche per la regressione lineare. Questo componente supporta due metodi per misurare l'errore e adattarsi alla linea di regressione: il metodo dei minimi quadrati ordinari e la discesa del gradiente.

  • La discesa del gradiente è un metodo che riduce al minimo la quantità di errore in ogni passaggio del processo di training del modello. Esistono molte varianti del metodo dei valori descent con sfumatura e l'ottimizzazione di tale metodo per diversi problemi di apprendimento è stata oggetto di approfonditi studi. Se si sceglie questa opzione per Metodo soluzione, è possibile impostare un'ampia gamma di parametri per controllare le dimensioni del passaggio, la frequenza di apprendimento e così via. Questa opzione supporta anche l'uso di uno sweep di parametri integrato.

  • I minimi quadrati ordinari sono una delle tecniche più comunemente usate nella regressione lineare. Ad esempio, i minimi quadrati sono il metodo utilizzato nello strumento di analisi per Microsoft Excel.

    Il metodo dei minimi quadrati fa riferimento alla funzione di perdita, che calcola l'errore come la somma del quadrato della distanza dal valore effettivo alla riga stimata e adatta il modello riducendo al minimo l'errore quadratico. Questo metodo presuppone una relazione lineare forte tra gli input e la variabile dipendente.

Configurare la regressione lineare

Questo componente supporta due metodi per adattare un modello di regressione, con opzioni diverse:

Creare un modello di regressione usando i minimi quadrati ordinari

  1. Aggiungere il componente Linear Regression Model alla pipeline nella finestra di progettazione.

    È possibile trovare questo componente nella categoria Machine Learning . Espandere Inizializza modello, espandere Regressione e quindi trascinare il componente Modello di regressione lineare nella pipeline.

  2. Nel riquadro Proprietà selezionare Ordinary Least Squares nell'elenco a discesa Metodo soluzione. Questa opzione specifica il metodo di calcolo usato per trovare la linea di regressione.

  3. In L2 regolarizzazione digitare il valore da usare come peso per la regolarizzazione L2. È consigliabile usare un valore diverso da zero per evitare l'overfitting.

    Per altre informazioni su come la regolarizzazione influisce sull'adattamento del modello, vedere questo articolo: Regolarizzazione L1 e L2 per Machine Learning

  4. Selezionare l'opzione Includi termine intercetta se si vuole visualizzare il termine per l'intercettazione.

    Deselezionare questa opzione se non è necessario esaminare la formula di regressione.

  5. Per Valore di inizializzazione numero casuale, è possibile digitare facoltativamente un valore per eseguire il seeding del generatore di numeri casuali usato dal modello.

    L'uso di un valore di inizializzazione è utile se si vogliono mantenere gli stessi risultati in esecuzioni diverse della stessa pipeline. In caso contrario, l'impostazione predefinita consiste nell'usare un valore dell'orologio di sistema.

  6. Aggiungere il componente Train Model alla pipeline e connettere un set di dati etichettato.

  7. Inviare la pipeline.

Risultati per il modello con minimi quadrati ordinari

Al termine del training:

  • Per eseguire stime, connettere il modello sottoposto a training al componente Score Model insieme a un set di dati di nuovi valori.

Creare un modello di regressione usando la discesa del gradiente online

  1. Aggiungere il componente Linear Regression Model alla pipeline nella finestra di progettazione.

    È possibile trovare questo componente nella categoria Machine Learning . Espandere Inizializza modello, espandere Regressione e trascinare il componente Modello di regressione lineare nella pipeline

  2. Nell'elenco a discesa Metodo soluzione del riquadro Proprietà scegliere Discesa sfumatura online come metodo di calcolo usato per trovare la linea di regressione.

  3. Per La modalità di training crea, indicare se si vuole eseguire il training del modello con un set predefinito di parametri o se si vuole ottimizzare il modello usando uno sweep di parametri.

    • Singolo parametro: se si sa come configurare la rete di regressione lineare, è possibile specificare un set specifico di valori come argomenti.

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

  4. Per Frequenza di apprendimento specificare la frequenza di apprendimento iniziale per l'ottimizzatore di discesa del gradiente stocastico.

  5. Per Numero di periodi di training digitare un valore che indica il numero di volte in cui l'algoritmo deve scorrere gli esempi. Per i set di dati con un numero limitato di esempi, questo numero deve essere elevato per raggiungere la convergenza.

  6. Normalizza le funzionalità: se i dati numerici usati per il training del modello sono già stati normalizzati, è possibile deselezionare questa opzione. Per impostazione predefinita, il componente normalizza tutti gli input numerici in un intervallo compreso tra 0 e 1.

    Nota

    Ricordarsi di applicare lo stesso metodo di normalizzazione ai nuovi dati usati per l'assegnazione dei punteggi.

  7. In L2 regolarizzazione digitare il valore da usare come peso per la regolarizzazione L2. È consigliabile usare un valore diverso da zero per evitare l'overfitting.

    Per altre informazioni su come la regolarizzazione influisce sull'adattamento del modello, vedere questo articolo: Regolarizzazione L1 e L2 per Machine Learning

  8. Selezionare l'opzione Riduci frequenza di apprendimento, se si vuole che la frequenza di apprendimento diminuisca man mano che le iterazioni procedono.

  9. Per Valore di inizializzazione numero casuale, è possibile digitare facoltativamente un valore per eseguire il seeding del generatore di numeri casuali usato dal modello. L'uso di un valore di inizializzazione è utile se si vogliono mantenere gli stessi risultati in esecuzioni diverse della stessa pipeline.

  10. Eseguire il training del modello:

    • Se si imposta Crea modalità di training su Parametro singolo, connettere un set di dati con tag e il componente Train Model .

    • Se si imposta Crea modalità di training su Intervallo di parametri, connettere un set di dati con tag ed eseguire il training del modello usando Tune Model Hyperparameters.

    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 per la discesa del gradiente online

Al termine del training:

  • Per eseguire stime, connettere il modello sottoposto a training al componente Score Model ,insieme ai nuovi dati di input.

Passaggi successivi

Vedere il set di componenti disponibili per Azure Machine Learning.