Come selezionare gli algoritmi per Azure Machine Learning

Una domanda comune è "Quale algoritmo di Machine Learning è consigliabile usare?" L'algoritmo selezionato dipende principalmente da due diversi aspetti dello scenario data science seguente:

  • Cosa si vuole fare con i dati? In particolare, qual è la domanda aziendale a cui si vuole rispondere apprendendo dai dati passati?

  • Quali sono i requisiti dello scenario data science specifico? In particolare, quali sono l'accuratezza, il tempo di training, la linearità, il numero di parametri e il numero di funzionalità supportate dalla soluzione?

Considerazioni per la scelta degli algoritmi: cosa si vuole sapere? Quali sono i requisiti dello scenario?

Scenari aziendali e foglio Machine Learning informazioni di base sull'algoritmo

Il Azure Machine Learning di informazioni sull'algoritmo consente di considerare prima cosa si vuole fare con i dati? Nel foglio Machine Learning informazioni sull'algoritmo cercare l'attività che si vuole eseguire e quindi trovare un algoritmo di progettazione Azure Machine Learning per la soluzione di analisi predittiva.

Machine Learning progettazione offre un portfolio completo di algoritmi, ad esempio Foresta decisionale multiclasse,Sistemi di raccomandazione, Regressione rete neurale,Rete neurale multiclassee Clustering K-Means. Ogni algoritmo è progettato per risolvere un tipo diverso di problema di Machine Learning. Per un Machine Learning completo e la documentazione sul funzionamento di ogni algoritmo e su come ottimizzare i parametri per ottimizzare l'algoritmo, vedere le informazioni di riferimento su algoritmi e moduli di progettazione.

Nota

Per scaricare il foglio di informazioni sull'algoritmo di Machine Learning, vedere il foglio di informazioni sull'algoritmo di Azure Machine Learning.

Oltre alle indicazioni nella scheda Azure Machine Learning di controllo dell'algoritmo, tenere presenti altri requisiti quando si sceglie un algoritmo di Machine Learning per la soluzione. Di seguito sono riportati altri fattori da considerare, ad esempio l'accuratezza, il tempo di training, la linearità, il numero di parametri e il numero di caratteristiche.

Confronto degli algoritmi di Machine Learning

Alcuni algoritmi di apprendimento fanno ipotesi particolari sulla struttura dei dati o sui risultati desiderati. Se è possibile trovarne uno adatto alle proprie esigenze, può fornire risultati più utili, previsioni più accurate o tempi di addestramento più rapidi.

La tabella seguente riepiloga alcune delle caratteristiche più importanti degli algoritmi delle famiglie di classificazione, regressione e clustering:

Algoritmo Accuratezza Tempo di formazione Linearità Parametri Note
Famiglia di classificazione
Regressione logistica a due classi Buono Veloce 4
Foresta decisionale a due classi Eccellente Moderato No 5 Mostra tempi di assegnazione dei punteggi più lenti. Suggerire di non lavorare con One-vs-All Multiclass, a causa dei tempi di assegnazione dei punteggi più lenti causati dal blocco del battistrada nelle stime dell'albero di accumulo
Albero delle decisioni con boost a due classi Eccellente Moderato No 6 Footprint della memoria di grandi dimensioni
Rete neurale a due classi Buono Moderato No 8
Percettore medio a due classi Buono Moderato 4
Macchina a vettori di supporto a due classi Buono Veloce 5 Particolarmente valido per set di funzioni di grandi dimensioni
Regressione logistica multiclasse Buono Veloce 4
Foresta decisionale multiclasse Eccellente Moderato No 5 Mostra tempi di assegnazione dei punteggi più lenti
Albero delle decisioni con boost di multiclasse Eccellente Moderato No 6 Tende a migliorare l'accuratezza con un piccolo rischio di riduzione della copertura
Rete neurale multiclasse Buono Moderato No 8
Multiclasse one-vs-all - - - - Visualizzare le proprietà del metodo a due classi selezionato
Famiglia di regressione
Linear Regression Buono Veloce 4
Regressione della foresta delle decisioni Eccellente Moderato No 5
Regressione dell'albero delle decisioni con boost Eccellente Moderato No 6 Footprint della memoria di grandi dimensioni
Regressione della rete neurale Buono Moderato No 8
Famiglia di clustering
Clustering K-means Eccellente Moderato 8 Algoritmo di clustering

Requisiti per uno scenario data science sicurezza

Dopo aver determinato le operazioni da eseguire con i dati, è necessario determinare i requisiti aggiuntivi per la soluzione.

Effettuare scelte ed eventualmente compromessi per i requisiti seguenti:

  • Accuratezza
  • Tempo di formazione
  • Linearità
  • Numero di parametri
  • Numero di caratteristiche

Accuratezza

L'accuratezza nell'apprendimento automatico misura l'efficacia di un modello come percentuale di risultati effettivi rispetto al numero totale di case. In Machine Learning, il modulo Evaluate Model (Valuta modello) calcola un set di metriche di valutazione standard del settore. È possibile usare questo modulo per misurare l'accuratezza di un modello con training.

Non è sempre necessario ottenere la risposta più accurata possibile. Talvolta un'approssimazione è sufficiente, a seconda di ciò per cui si desidera utilizzarla. In questo caso, è possibile ridurre notevolmente il tempo di elaborazione usando metodi più approssimativi. Anche i metodi approssimativi tendono naturalmente a evitare l'overfitting.

È possibile usare il modulo Evaluate Model in tre modi:

  • Generare punteggi sui dati di training per valutare il modello
  • Generare punteggi sul modello, ma confrontarli con i punteggi in un set di test riservato
  • Confrontare i punteggi per due modelli diversi ma correlati, usando lo stesso set di dati

Per un elenco completo delle metriche e degli approcci che è possibile usare per valutare l'accuratezza dei modelli di Machine Learning, vedere il modulo Evaluate Model (Valutazione del modello).

Tempo di formazione

Nell'apprendimento con supervisione, il training significa usare dati cronologici per creare un modello di Machine Learning che riduce al minimo gli errori. Il numero di minuti o ore necessarie per eseguire l’addestramento di un modello varia notevolmente tra gli algoritmi. Il tempo di training è spesso strettamente legato all'accuratezza; l'una accompagna in genere l'altra.

Inoltre, alcuni algoritmi sono più sensibili al numero di punti dati rispetto ad altri. È possibile scegliere un algoritmo specifico perché si ha una limitazione temporale, soprattutto quando il set di dati è di grandi dimensioni.

In Machine Learning progettazione, la creazione e l'uso di un modello di Machine Learning è in genere un processo in tre passaggi:

  1. Configurare un modello scegliendo un particolare tipo di algoritmo e quindi definendo i relativi parametri o iperparame aggiuntivi.

  2. Specificare un set di dati con etichetta e con dati compatibili con l'algoritmo . Connettere sia i dati che il modello al modulo Train Model.

  3. Al termine del training, usare il modello con training con uno dei moduli di assegnazione dei punteggi per eseguire stime sui nuovi dati.

Linearità

La linearità nelle statistiche e nell'apprendimento automatico significa che esiste una relazione lineare tra una variabile e una costante nel set di dati. Ad esempio, gli algoritmi di classificazione lineare presuppongono che le classi possano essere separate da una linea retta (o dall'analogia più dimensionale).

Un numero elevato di algoritmi di Machine Learning utilizza la linearità. Nella Azure Machine Learning di progettazione sono inclusi:

Gli algoritmi di regressione lineare ipotizzano che le tendenze dei dati seguano una linea retta. Questo presupposto non è negativo per alcuni problemi, ma per altri riduce l'accuratezza. Nonostante gli svantaggi, gli algoritmi lineari sono diffusi come prima strategia. Tendono ad essere algoritmicamente semplici e rapidi da addestrare.

Limite della classe non lineare

Limite della classe non lineare _: _Relying su un algoritmo di classificazione lineare avrebbe come risultato una bassa accuratezza.

Dati con una tendenza non lineare

I dati con una tendenza non lineare _: _Using un metodo di regressione lineare genererebbe errori molto più grandi del necessario.

Numero di parametri

I parametri sono i pulsanti che uno scienziato dei dati deve utilizzare per configurare un algoritmo. Si tratta di numeri che influiscono sul comportamento dell'algoritmo, ad esempio tolleranza di errore o numero di iterazioni, o opzioni tra varianti del comportamento dell'algoritmo. Il tempo di training e l'accuratezza dell'algoritmo possono talvolta essere sensibili al recupero delle impostazioni corrette. In genere, gli algoritmi con un numero elevato di parametri richiedono il maggior numero di tentativi ed errori per trovare una combinazione valida.

In alternativa, è disponibile il modulo Tune Model Hyperparameters (Ottimizza iperparametramenti modello) nella finestra di progettazione di Machine Learning: l'obiettivo di questo modulo è determinare gli iperparametramenti ottimali per un modello di Machine Learning. Il modulo compila e testa più modelli usando combinazioni diverse di impostazioni. Confronta le metriche su tutti i modelli per ottenere le combinazioni di impostazioni.

Anche se si tratta di un ottimo modo per assicurarsi di aver ampliato lo spazio dei parametri, il tempo necessario per eseguire il training di un modello aumenta in modo esponenziale con il numero di parametri. Il vantaggio è un numero elevato di parametri in genere indica che un algoritmo ha maggiore flessibilità. Spesso può ottenere un'accuratezza molto buona, purché sia possibile trovare la combinazione più precisa di impostazioni dei parametri.

Numero di caratteristiche

Nel Machine Learning una funzionalità è una variabile quantificabile del fenomeno che si sta tentando di analizzare. Per alcuni tipi di dati, il numero di caratteristiche può essere molto grande rispetto al numero di punti dati. Questo accade spesso con i dati testuali o sulla genetica.

Un numero elevato di funzionalità può trafugare alcuni algoritmi di apprendimento, rendendo i tempi di training troppo lunghi. Le macchine a vettori di supporto sono particolarmente adatte agli scenari con un numero elevato di funzionalità. Per questo motivo, sono stati usati in molte applicazioni, dal recupero delle informazioni alla classificazione di testo e immagini. Le macchine a vettori di supporto possono essere usate sia per le attività di classificazione che per le attività di regressione.

La selezione delle caratteristiche si riferisce al processo di applicazione di test statistici agli input, dato un output specificato. L'obiettivo è determinare quali colonne sono più predittivi dell'output. Il modulo Filter Based Feature Selection (Selezione funzionalità basata su filtro) Machine Learning finestra di progettazione offre più algoritmi di selezione delle funzionalità tra cui scegliere. Il modulo include metodi di correlazione come la correlazione di Pearson e i valori chi quadrato.

È anche possibile usare il modulo Permutation Feature Importance (Importanza funzionalità di permutazione) per calcolare un set di punteggi di importanza delle caratteristiche per il set di dati. È quindi possibile sfruttare questi punteggi per determinare le funzionalità migliori da usare in un modello.

Passaggi successivi