Condividi tramite


Linear Regression

Importante

Il supporto dello studio di Azure Machine Learning (versione classica) terminerà il 31 agosto 2024. È consigliabile passare ad Azure Machine Learning entro tale data.

A partire dal 1° dicembre 2021 non sarà possibile creare nuove risorse dello studio di Azure Machine Learning (versione classica). Fino al 31 agosto 2024 sarà possibile continuare a usare le risorse dello studio di Azure Machine Learning (versione classica).

La documentazione relativa allo studio di Machine Learning (versione classica) è in fase di ritiro e potrebbe non essere aggiornata in futuro.

Crea un modello di regressione lineare

Categoria: Machine Learning/Inizializza modello/regressione

Nota

Si applica a: Machine Learning Studio (versione classica)

Moduli di trascinamento della selezione simili sono disponibili nella finestra Azure Machine Learning progettazione.

Panoramica del modulo

Questo articolo descrive come usare il modulo Regressione lineare in Machine Learning Studio (versione classica) per creare un modello di regressione lineare da usare in un esperimento. La regressione lineare tenta di stabilire una relazione lineare tra una o più variabili indipendenti e un risultato numerico o una variabile dipendente.

Usare questo modulo per definire un metodo di regressione lineare e quindi eseguire il training di un modello usando un set di dati con etichetta. Sarà quindi possibile usare il modello con training per ottenere stime. In alternativa, il modello senza training può essere passato al modello di convalida incrociata per la convalida incrociata rispetto a un set di dati con etichetta.

Altre 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 gli errori. Nel senso più semplice, la regressione si riferisce alla stima di una destinazione numerica. La regressione lineare è ancora una buona scelta quando si vuole un modello molto semplice per un'attività predittiva di base. La regressione lineare tende anche a funzionare bene su set di dati di tipo sparse e altamente dimensionali privi di complessità.

Machine Learning Studio (versione classica) 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 in Studio (versione classica).

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

  • La regressione lineare multipla implica 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 modulo Regressione lineare può risolvere questi problemi, come la maggior parte degli altri moduli di regressione in Studio (versione classica).

  • La regressione con più etichette è l'attività di stima di 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 Machine Learning. Per stimare più variabili, creare uno 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 modulo supporta due metodi per misurare l'errore e adattare la retta di regressione: il metodo dei meno quadrati ordinari e la discesa della sfumatura.

  • La discesa della sfumatura è un metodo che riduce al minimo la quantità di errori 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 di soluzione, è possibile impostare un'ampia gamma di parametri per controllare le dimensioni dei passaggi, la frequenza di apprendimento e così via. Questa opzione supporta anche l'uso di uno sweep di parametri integrato.

  • I quadrati meno comuni sono una delle tecniche più comunemente usate nella regressione lineare. Ad esempio, i quadrati meno quadrati sono il metodo usato nella scheda Strumenti 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.

Come configurare la regressione lineare

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

Creare un modello di regressione usando i quadrati meno comuni

  1. Aggiungere il modulo Modello di regressione lineare all'esperimento in Studio (versione classica).

    È possibile trovare questo modulo nella categoria Machine Learning. Espandere Inizializza modello, espandere Regressione e quindi trascinare il modulo Modello di regressione lineare nell'esperimento.

  2. Nell'elenco a discesa Metodo soluzione del riquadro Proprietà selezionare Quadrati meno comuni. Questa opzione specifica il metodo di calcolo usato per trovare la retta di regressione.

  3. In 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 sul modo in cui 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'intercetta.

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

  5. Per valore di valore di tipo Numero casuale, è possibile digitare facoltativamente un valore per il valore di seed del generatore di numeri casuali usato dal modello.

    L'uso di un valore di inizializzazione è utile se si desidera mantenere gli stessi risultati tra diverse esecuzioni dello stesso esperimento. In caso contrario, per impostazione predefinita viene utilizzato un valore dell'orologio di sistema.

  6. Deselezionare l'opzione Consenti livelli di categoria sconosciuti se si vuole che i valori mancanti generano un errore.

    Se questa opzione è selezionata, viene creato un livello aggiuntivo per ogni colonna di categoria. Tutti i livelli nel set di dati di test che non erano presenti nel set di dati di training vengono mappati a questo livello aggiuntivo.

  7. Aggiungere il modulo Train Model all'esperimento e connettere un set di dati con etichetta.

  8. Eseguire l'esperimento.

Risultati per il modello di quadrati meno comuni

Al termine del training:

  • Per visualizzare i parametri del modello, fare clic con il pulsante destro del mouse sull'output del trainer e scegliere Visualizza.

  • Per eseguire stime, connettere il modello con training al modulo Score Model (Punteggio modello), insieme a un set di dati di nuovi valori.

  • Per eseguire la convalida incrociata su un set di dati con etichetta, connettere il modello senza training al modello con convalida incrociata.

Creare un modello di regressione usando la discesa delle sfumature online

  1. Aggiungere il modulo Modello di regressione lineare all'esperimento in Studio (versione classica).

    È possibile trovare questo modulo nella categoria Machine Learning. Espandere Inizializza modello, espandere Regressione e trascinare il modulo Modello di regressione lineare nell'esperimento

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

  3. Per La modalità Di training, 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: se si vuole che l'algoritmo trovi i parametri migliori, impostare l'opzione Crea modalità trainer su Intervallo parametri. È quindi possibile specificare più valori per l'algoritmo da provare.

  4. Per Learning, specificare la frequenza di apprendimento iniziale per l'utilità di ottimizzazione della discesa della sfumatura stochastic.

  5. 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 limitato di esempi, questo numero deve essere elevato per raggiungere la convergenza.

  6. Normalizzare le funzionalità: se sono già stati normalizzati i dati numerici usati per eseguire il training del modello, è possibile deselezionare questa opzione. Per impostazione predefinita, il modulo 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 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 sull'effetto della regolarizzazione sull'adattamento del modello, vedere questo articolo: Regolarizzazione L1 e L2 per Machine Learning

  8. Selezionare l'opzione Media ipotesi finale per mediare l'ipotesi finale.

    Nei modelli di regressione, il test di ipotesi indica l'uso di una statistica per valutare la probabilità dell'ipotesi nulla, che indica che non esiste alcuna correlazione lineare tra una variabile dipendente e indipendente. In molti problemi di regressione è necessario testare un'ipotesi che interessa più di una variabile.

    Questa opzione è abilitata per impostazione predefinita, ovvero l'algoritmo verifica una combinazione dei parametri in cui sono coinvolti due o più parametri.

  9. Selezionare l'opzione Diminuisci velocità di apprendimento se si vuole che la velocità di apprendimento diminuisca con l'avanzamento delle iterazioni.

  10. Per Valore di seed di numeri casuali, è possibile digitare facoltativamente un valore per eseguire il seed del generatore di numeri casuali usato dal modello. L'uso di un valore di inizializzazione è utile se si desidera mantenere gli stessi risultati tra diverse esecuzioni dello stesso esperimento.

  11. Deselezionare l'opzione Consenti livelli di categoria sconosciuti se si vuole che i valori mancanti generano un errore.

    Quando questa opzione è selezionata, viene creato un livello aggiuntivo per ogni colonna di categoria. Tutti i livelli nel set di dati di test non presenti nel set di dati di training vengono mappati a questo livello aggiuntivo.

  12. Aggiungere un set di dati con etichetta e uno dei moduli di training.

    Se non si usa uno sweep di parametri, usare il modulo Train Model (Training modello).

    Per fare in modo che l'algoritmo trovi i parametri migliori per l'utente, eseguire il training del modello usando Tune Model Hyperparameters (Ottimizza iperparametre modello).

    Nota

    Se si configura il modello con valori specifici usando l'opzione Parametro singolo e quindi si passa all'opzione Intervallo di parametri, il training del modello viene esercito usando il valore minimo nell'intervallo per ogni parametro.

    Viceversa, se si configurano impostazioni specifiche quando si crea il modello ma si seleziona l'opzione Intervallo di parametri, viene creato il training del modello usando i valori predefiniti per lo strumento di apprendimento come intervallo di valori su cui eseguire lo sweep.

  13. Eseguire l'esperimento.

Risultati per la discesa del gradiente online

Al termine del training:

  • Per eseguire stime, connettere il modello con training al modulo Score Model (Punteggio modello), insieme ai nuovi dati di input.
  • Per eseguire la convalida incrociata su un set di dati con etichetta, connettere il modello senza training al modello di convalida incrociata.

Esempio

Per esempi di modelli di regressione, vedere questi esperimenti di esempio nella Azure AI Gallery:

Note tecniche

Questa sezione contiene informazioni dettagliate sull'implementazione, suggerimenti e risposte alle domande frequenti.

Suggerimenti per l'uso

Molti strumenti, sia semplici sia complessi, supportano la creazione della regressione lineare. Ad esempio, è possibile eseguire facilmente la regressione lineare in Excel, usando il toolpak risolutore, oppure è possibile codificare il proprio algoritmo di regressione usando R, Python o C#.

Tuttavia, poiché la regressione lineare è una tecnica consolidata supportata da molti strumenti diversi, esistono molte interpretazioni e implementazioni diverse. Non tutti i tipi di modelli sono supportati equamente da tutti gli strumenti. Esistono anche alcune differenze nella nomenclatura da osservare.

  • I metodi di regressione sono spesso classificati in base al numero di variabili di risposta. Ad esempio, una regressione lineare multipla è un modello con più variabili da stimare.

  • In MatLab la regressione multivariata fa riferimento a un modello con più variabili di risposta.

  • In Machine Learning modelli di regressione supportano una singola variabile di risposta.

  • Nel linguaggio R le funzioni fornite per la regressione lineare dipendono dal pacchetto in uso. Ad esempio, il pacchetto glm consente di creare un modello di regressione logistica con più variabili indipendenti. In generale, Machine Learning Studio (versione classica) offre le stesse funzionalità del pacchetto R glm.

È consigliabile usare questo modulo, Linear Regression, per i problemi di regressione tipici.

Al contrario, se si usano più variabili per stimare un valore di classe, è consigliabile usare i moduli Two-Class Logistic Regression (Regressione logistica a due classi) o Multiclass Logistic Regression (Regressione logistica multiclasse ).

Se si vogliono usare altri pacchetti di regressione lineare disponibili per il linguaggio R, è consigliabile usare il modulo Execute R Script (Esegui script R) e chiamare i pacchetti lm o glm inclusi nell'ambiente di runtime di Machine Learning Studio (versione classica).

Parametri del modulo

Nome Intervallo Type Predefinito Descrizione
Normalize features any Boolean true Indica se le istanze devono essere normalizzate
Average final hypothesis any Boolean true Indica se è necessario calcolare la media per l'ipotesi finale
Velocità di apprendimento >=double.Epsilon Float 0,1 Specifica la velocità di apprendimento iniziale per l'ottimizzatore di valori descent con sfumatura stocastica
Number of training epochs >=0 Integer 10 Specifica quante volte 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.
Decrease learning rate Qualsiasi Boolean true Indica se la velocità di apprendimento deve diminuire mentre le iterazioni proseguono
Peso regolarizzazione L2 >=0.0 Float 0,001 Specifica il peso della regolarizzazione di tipo L2. Usare un valore diverso da zero per evitare l'overfitting.
Random number seed any Integer Specifica un valore per l'inizializzazione del generatore di numeri casuali usato dal modello. Lasciare vuoto per impostazione predefinita.
Allow unknown categorical levels any Boolean true Indica se è necessario creare un livello aggiuntivo per ogni colonna categorica. Tutti i livelli del set di dati di test non disponibili nel set di dati di training verranno mappati a questo livello aggiuntivo.
Include intercept term Qualsiasi Boolean True Indica se deve essere aggiunto un altro termine per l'intercettazione

Output

Nome Tipo Descrizione
Untrained model ILearner interface Modello di regressione senza training

Vedi anche

Regressione