Condividi tramite


Regressione logistica multiclasse

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 classificazione multiclasse di regressione logistica

Categoria: Machine Learning/Inizializza modello/classificazione

Nota

Si applica a: Machine Learning Studio (versione classica)

Nella finestra di progettazione sono disponibili moduli simili Azure Machine Learning trascinamento della selezione.

Panoramica del modulo

Questo articolo descrive come usare il modulo Multiclass Logistic Regression (Regressione logistica multiclasse) in Machine Learning Studio (versione classica) per creare un modello di regressione logistica che può essere usato per stimare più valori.

La classificazione che usa la regressione logistica è un metodo di apprendimento supervisionato e pertanto richiede un set di dati etichettato. Per eseguire il training del modello, specificare il modello e il set di dati etichettato come input per un modulo, ad esempio Train Model (Training modello) o Tune Model Hyperparameters (Ottimizza iperparametre modello). Il modello con training può quindi essere usato per stimare i valori per nuovi esempi di input.

Machine Learning Studio (versione classica) offre anche un modulo Two-Class Logistic Regression (Regressione logistica a due classi), adatto per la classificazione di variabili binarie o di tipo dichotomous.

Altre informazioni sulla regressione logistica multiclasse

La regressione logistica è un metodo noto nelle statistiche usato per stimare la probabilità di un risultato ed è particolarmente diffuso per le attività di classificazione. L'algoritmo stima la probabilità di occorrenza di un evento adattando i dati a una funzione logistica. Per dettagli relativi all'implementazione, vedere la sezione Note tecniche.

Nella regressione logistica multiclasse il classificatore può essere usato per stimare più risultati.

Come configurare una regressione logistica multiclasse

  1. Aggiungere il modulo Multiclass Logistic Regression (Regressione logistica multiclasse ) all'esperimento.

  2. Specificare la modalità di training del modello impostando l'opzione Create trainer mode (Crea modalità di training ).

    • Parametro singolo: usare questa opzione se si conosce la modalità di configurazione del modello e si specifica un set specifico di valori come argomenti.

    • Intervallo di parametri: usare questa opzione se non si è certi dei parametri migliori e si vuole usare uno sweep di parametri.

  3. Tolleranza di ottimizzazione: specificare il valore soglia per la convergenza dell'utilità di ottimizzazione. Se il miglioramento tra le iterazioni è inferiore alla soglia, l'algoritmo si interrompe e restituisce il modello corrente.

  4. Peso di regolarizzazione L1, Peso regolarizzazione L2: digitare un valore da usare per i parametri di regolarizzazione L1 e L2. È consigliabile usare per entrambi un valore diverso da zero.

    La regolarizzazione è un metodo per impedire l'overfitting penalizzando i modelli con valori di coefficiente estremi. La regolarizzazione funziona aggiungendo la penalità associata ai valori del coefficiente all'errore dell'ipotesi. Un modello accurato con valori di coefficiente estremi verrebbe penalizzato di più, ma un modello meno accurato con valori più conservativi verrebbe penalizzato meno.

    Le regolarizzazioni di tipo L1 e L2 hanno effetti e usi differenti. La regolarizzazione L1 può essere applicata a modelli di tipo sparse, caratteristica utile quando si lavora con dati a elevata dimensionalità. La regolarizzazione L2, al contrario, è preferibile per i dati non di tipo sparse. Questo algoritmo supporta una combinazione lineare di valori di regolarizzazione L1 e L2, che è, x = L1y = L2se e , ax + by = c definisce l'intervallo lineare dei termini di regolarizzazione.

    Sono state ideate diverse combinazioni lineari di termini L1 e L2 per i modelli di regressione logistica, ad esempio la regolarizzazione elastica della rete.

  5. Dimensioni della memoria per L-BFGS: specificare la quantità di memoria da usare per l'ottimizzazione L-BFGS . Questo parametro indica il numero di posizioni e gradienti precedenti da archiviare per il calcolo del passaggio successivo.

    L-BFGS è l'acronimo di limited memory Broyden-Fletcher-Goldfarb-Shanno ed è un algoritmo di ottimizzazione ampiamente usato per la stima dei parametri. Questo parametro di ottimizzazione limita la quantità di memoria usata per il calcolo del passaggio e della direzione successivi. Quando si specifica una quantità di memoria inferiore, il training è più veloce ma meno accurato.

  6. Valore di seeding di numeri casuali: digitare un valore intero da usare come valore di seeding per l'algoritmo se si vuole che i risultati siano ripetibili nelle esecuzioni. In caso contrario, come valore di seed viene usato un valore di clock di sistema, che può produrre risultati leggermente diversi nelle esecuzioni dello stesso esperimento.

  7. Consenti livelli di categoria sconosciuti: selezionare questa opzione per creare un livello "sconosciuto" aggiuntivo in ogni colonna di categoria. Tutti i valori (livelli) nel set di dati di test che non sono presenti nel set di dati di training vengono mappati a questo livello "sconosciuto".

  8. Connessione un set di dati etichettato e uno dei moduli di training:

    • Se si imposta Create trainer mode (Modalità di training ) su Single Parameter (Parametro singolo), usare il modulo Train Model (Training modello).

    • Se si imposta Create trainer mode (Crea modalità di trainer ) su Parameter Range (Intervallo parametri), usare il modulo Tune Model Hyperparameters (Ottimizza iperparametre modello ). Con questa opzione è possibile specificare più valori e l'trainer scorre più combinazioni delle impostazioni per determinare la combinazione di valori che produce il modello migliore.

    Nota

    Se si passa un intervallo di parametri a Train Model, viene utilizzato solo il primo valore nell'elenco di intervalli di parametri.

    Se si passa un singolo set di valori di parametro al modulo Tune Model Hyperparameters ,quando si prevede un intervallo di impostazioni per ogni parametro, vengono ignorati i valori e vengono utilizzati i valori predefiniti per lo learner.

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

  9. Eseguire l'esperimento.

Risultati

Al termine del training:

  • Per visualizzare un riepilogo dei parametri del modello, insieme ai pesi delle funzionalità appresi dal training, fare clic con il pulsante destro del mouse sull'output del modulo Train Model (Training modello) o Tune Model Hyperparameters (Ottimizza iperparametramenti modello) e selezionare Visualize (Visualizza).

Esempio

Per esempi di come viene usato questo algoritmo di apprendimento, vedere l'Azure AI Gallery:

Note tecniche

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

Per altre informazioni sulla regolarizzazione L1 e L2, L'articolo seguente illustra le diverse modalità di regolarizzazione L1 e L2 e il modo in cui influiscono sull'adattamento del modello, con esempi di codice per i modelli di regressione logistica e rete neurale.

Per altre informazioni sull'implementazione di questo algoritmo, vedere:

Dettagli dell'implementazione

La regressione logistica richiede variabili numeriche. Pertanto, quando si tenta di usare colonne categoriche come variabile, Machine Learning converte internamente i valori in una matrice di indicatori.

Per date e ore, viene usata una rappresentazione numerica. Per altre informazioni sui valori di data e ora, vedere Struttura DateTime .NET Framework. Se si desidera gestire date e ore in modo diverso, è consigliabile creare una colonna derivata.

La regressione logistica standard è binomiale e presuppone due classi di output. La regressione logistica multiclasse o multinomiale presuppone tre o più classi di output.

La regressione logistica binomiale presuppone una distribuzione logistica dei dati, dove la probabilità che un esempio appartenga alla classe 1 è la formula:

p(x;β0,…, βD-1)

Dove:

  • x è un vettore dimensionale D contenente i valori di tutte le caratteristiche dell'istanza.

  • p è la funzione di distribuzione logistica.

  • β{0},..., β {D-1} sono i parametri sconosciuti della distribuzione logistica.

L'algoritmo tenta di trovare i valori ottimali per β{0},..., β {D-1} ottimizzando la probabilità logarea dei parametri in base agli input. L'ottimizzazione viene eseguita usando un metodo comune per la stima dei parametri, denominato BFGS con memoria limitata.

Parametri del modulo

Nome Intervallo Type Predefinito Descrizione
Optimization tolerance >=double.Epsilon Float 0.0000001 Specificare un valore di tolleranza per l'ottimizzatore L-BFGS
L1 regularization weight >=0.0 Float 1,0 Specificare il peso della regolarizzazione di tipo L1. Usare un valore diverso da zero per evitare l'overfitting.
Peso regolarizzazione L2 >=0.0 Float 1.0 Specificare il peso di regolarizzazione L2. Usare un valore diverso da zero per evitare l'overfitting.
Memory size for L-BFGS >=1 Integer 20 Specificare la quantità di memoria (in MB) da usare per l'ottimizzatore L-BFGS. Quando viene usata una quantità di memoria inferiore, il training è più veloce ma meno accurato.
Random number seed Qualsiasi Integer Digitare un valore per l'inizializzazione del generatore di numeri casuali usato dal modello. Lasciare vuoto per impostazione predefinita.
Allow unknown categorical levels Qualsiasi 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 training set verranno mappati a questo livello aggiuntivo.

Output

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

Vedi anche

Classificazione
Regressione logistica a due classi
Elenco moduli A-Z