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. Il modello sottoposto a training può quindi essere usato per eseguire 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 parole semplici, 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 anche a funzionare bene su set di dati di tipo sparse e di dimensioni elevate che non hanno 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 libero e alcuni tipi di regressione forniti in altri strumenti non sono supportati.
Il problema di regressione classica comporta 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, come la maggior parte degli altri componenti di regressione.
La regressione a più etichette è l'attività di stimare più variabili dipendenti all'interno di un singolo modello. Ad esempio, nella regressione logistica a più etichette, un esempio può essere assegnato a più etichette diverse. Questo comportamento è diverso 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 sviluppano metodi sempre più avanzati per la regressione. Questo vale anche per la regressione lineare. Questo componente supporta due metodi per misurare l'errore e adattare la linea di regressione: il metodo ordinary least squares 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. Ci sono molte varianti sulla discesa del gradiente e la sua ottimizzazione per vari problemi di apprendimento è stata ampiamente studiata. 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 quadrati minimi ordinari sono una delle tecniche più comunemente usate nella regressione lineare. Ad esempio, i quadrati minimi 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:
Adattare un modello di regressione usando i quadrati minimi ordinari
Per i set di dati di piccole dimensioni, è consigliabile selezionare i quadrati minimi ordinari. In questo modo dovrebbero essere restituiti risultati simili a Excel.
Creare un modello di regressione usando la discesa del gradiente online
La discesa del gradiente è una funzione di perdita migliore per i modelli più complessi o con dati di training troppo piccoli in base al numero di variabili.
Creare un modello di regressione usando i quadrati minimi ordinari
Aggiungere il componente Modello di regressione lineare alla pipeline nella finestra di progettazione.
Questo componente è disponibile nella categoria Machine Learning . Espandere Inizializza modello, espandere Regressione e quindi trascinare il componente Modello di regressione lineare nella pipeline.
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.
Nel peso di regolarizzazione L2 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
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.
Per Valore di inizializzazione numero casuale, è possibile digitare facoltativamente un valore per inizializzare il 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.
Aggiungere il componente Train Model alla pipeline e connettere un set di dati etichettato.
Inviare la pipeline.
Risultati per il modello di 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
Aggiungere il componente Modello di regressione lineare alla pipeline nella finestra di progettazione.
Questo componente è disponibile nella categoria Machine Learning . Espandere Inizializza modello, espandere Regressione e trascinare il componente Modello di regressione lineare nella pipeline
Nell'elenco a discesa Metodo soluzione del riquadro Proprietà scegliere Discesa sfumatura online come metodo di calcolo usato per trovare la linea di regressione.
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.
Per Frequenza di apprendimento specificare la frequenza di apprendimento iniziale per l'ottimizzatore di discesa del gradiente stocastico.
In Numero di periodi di training digitare un valore che indica quante volte l'algoritmo deve scorrere gli esempi. Per i set di dati con un numero ridotto di esempi, questo numero deve essere elevato per raggiungere la convergenza.
Normalizzare le funzionalità: se i dati numerici usati per eseguire 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.
Nel peso di regolarizzazione L2 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
Selezionare l'opzione Riduci frequenza di apprendimento, se si vuole che la frequenza di apprendimento diminuisca man mano che le iterazioni progrediscono.
Per Valore di inizializzazione numero casuale, è possibile digitare facoltativamente un valore per inizializzare il 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.
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.
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.