Share via


Two-Class Support Vector Machine

Crea un modello di classificazione binaria usando l'algoritmo di tipo macchine a vettori di supporto

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 Two-Class Support Vector Machine (Macchina a vettori di supporto a due classi) in Machine Learning Studio (versione classica) per creare un modello basato sull'algoritmo macchina a vettori di supporto.

Le macchine a vettori di supporto (SVM) sono una classe ben ricercata di metodi di apprendimento supervisionati. Questa particolare implementazione è adatta alla stima di due possibili risultati, in base a variabili continue o categoriche.

Dopo aver definito i parametri del modello, eseguire il training del modello usando uno dei moduli di training e fornendo un set di dati con tag che include un'etichetta o una colonna del risultato.

Altre informazioni sulle macchine a vettori di supporto

Le macchine a vettori di supporto (SVM) sono tra gli algoritmi di Machine Learning meno recenti e i modelli SVM sono stati usati in molte applicazioni, dal recupero di informazioni alla classificazione di testo e immagini. Le MACCHINE VIRTUALI possono essere usate sia per le attività di classificazione che per le attività di regressione.

Questo modello SVM è un modello di apprendimento supervisionato che richiede dati etichettati. Nel processo di training, l'algoritmo analizza i dati di input e riconosce i modelli in uno spazio di funzionalità multidimensionale denominato iperpiano. Tutti gli esempi di input sono rappresentati come punti in questo spazio e vengono mappati alle categorie di output in modo che le categorie siano divise per il più ampio possibile.

Per la stima, l'algoritmo SVM assegna nuovi esempi in una categoria o nell'altra, mappandoli nello stesso spazio.

Come configurare Two-Class macchina a vettori di supporto

Per questo tipo di modello, è consigliabile normalizzare il set di dati prima di usarlo per eseguire il training del classificatore.

  1. Aggiungere il modulo Two-Class Support Vector Machine (Macchina a vettori di supporto a due classi) all'esperimento in Studio (versione classica).

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

    • Parametro singolo: se si sa come si vuole configurare il modello, è possibile specificare un set specifico di valori come argomenti.

    • Intervallo di parametri: se non si è certi dei parametri migliori, è possibile trovare i parametri ottimali specificando più valori e usando il modulo Tune Model Hyperparameters (Ottimizza iperparametre modello) per trovare la configurazione ottimale. L'trainer scorre più combinazioni delle impostazioni e determina la combinazione di valori che produce il modello migliore.

  3. In Number of iterations (Numero di iterazioni) digitare un numero che denota il numero di iterazioni usate durante la compilazione del modello.

    Questo parametro può essere usato per controllare il compromesso tra velocità e precisione di training.

  4. Per Lambda, digitare un valore da usare come peso per la regolarizzazione L1.

    Questo coefficiente di regolarizzazione consente di ottimizzare il modello. I valori più elevati penalizzano i modelli più complessi.

  5. Selezionare l'opzione Normalize features (Normalizza funzionalità) se si vogliono normalizzare le funzionalità prima del training.

    Se si applica la normalizzazione, prima del training, i punti dati vengono centrati sulla media e ridimensionati in modo da avere un'unità di deviazione standard.

  6. Selezionare l'opzione Project alla sfera unità per normalizzare i coefficienti.

    Proiettando i valori nello spazio unità, prima del training, i punti dati vengono centrati su 0 e ridimensionati in modo da avere un'unità di deviazione standard.

  7. In Valore di seed casuale, digitare un valore intero da usare come valore di seed se si vuole garantire la riproducibilità tra le esecuzioni. In caso contrario, come valore di seed viene usato un valore di clock di sistema, che può comportare risultati leggermente diversi tra le esecuzioni.

  8. Selezionare l'opzione Consenti categoria sconosciuta per creare un gruppo per i valori sconosciuti nei set di training o di convalida. In questo caso, il modello potrebbe essere meno preciso per i valori noti, ma può fornire stime migliori per i nuovi valori (sconosciuti).

    Se viene deselezionata, il modello può accettare solo i valori contenuti nei dati di training.

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

    Nota

    Se si passa un intervallo di parametri a Train Model, verrà 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 strumento di apprendimento.

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

  10. 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 di Train Model (Training modello) o Tune Model Hyperparameters (Ottimizza iperparametramenti modello) e selezionare Visualize (Visualizza).

  • Per usare i modelli con training per eseguire stime, connettere il modello con training al modulo Score Model.To use the trained models to make predictions, connect the trained model to the Score Model module.

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

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.

Suggerimenti per l'uso

Per questo tipo di modello, è consigliabile normalizzare il set di dati prima di usarlo per eseguire il training del classificatore.

Anche se le ricerche recenti hanno sviluppato algoritmi con maggiore precisione, questo tipo di algoritmo può essere utile in set di dati semplici in cui l'obiettivo non è la precisione, bensì la velocità. Se non si ottengono i risultati desiderati usando Two-Class Support Vector Model, provare uno dei seguenti metodi di classificazione:

Parametri del modulo

Nome Intervallo Type Predefinito Descrizione
Number of iterations >=1 Integer 1 Numero delle iterazioni.
Lambda >=double.Epsilon Float 0,001 Peso per la regolarizzazione di tipo L1. L'uso di un valore diverso da zero evita l'overfitting del modello al training set.
Normalize features Qualsiasi Boolean True Se True, le funzioni vengono normalizzate.
Project to the unit-sphere Qualsiasi Boolean Falso Se True, le funzioni vengono proiettate verso un cerchio unitario.
Random number seed Qualsiasi Integer Valore di inizializzazione per il generatore di numeri casuali usato dal modello. Lasciare vuoto per impostazione predefinita.
Allow unknown categorical levels Qualsiasi Boolean True Se True, crea 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 Tabella dati Modello di classificazione binaria senza training.

Vedi anche

Classificazione
Elenco moduli A-Z