Scheda riassuntiva

Qual è l’algoritmo di Machine Learning giusto per te?

Hai a disposizione i dati e un’applicazione, ma quale algoritmo dovresti provare per primo? Qualunque sia la scelta, dovrai fare i conti con alcuni compromessi. Ecco alcuni principi di base per iniziare.

Dimensione del set di dati

Gli algoritmi sono molto sensibili alla dimensione del set di dati. Sebbene non esistano regole assolute che stabiliscano quale algoritmo utilizzare per set di dati inferiori a 50 MB o superiori a 1 TB, ecco alcuni algoritmi da cui potresti iniziare in base alla quantità di dati disponibile, ipotizzando che il tuo set di dati di esempio sia bilanciato.

  • Alberi decisionali
  • Modelli lineari (tra cui la regressione logistica e la discriminante lineare)

  • SVM (non lineare)
  • Naïve Bayes
  • Nearest neighbor
  • Rete neurale (superficiale)

  • Reti profonde
  • Insiemi

Velocità di addestramento

La velocità di addestramento indica il tempo necessario per creare e addestrare il nuovo modello utilizzando una determinata risorsa di calcolo. Fattori come l’architettura e la complessità dell’algoritmo, tra gli altri, influiscono sulla rapidità con cui il modello viene addestrato. Ecco alcuni algoritmi da prendere in considerazione se il tuo progetto è particolarmente sensibile alla velocità di addestramento e non disponi di hardware per l’accelerazione.

  • Alberi decisionali
  • Modelli lineari (tra cui la regressione logistica e la discriminante lineare)
  • Naïve Bayes

  • Insiemi
  • Nearest neighbor
  • Rete neurale (superficiale)

  • SVM (non lineare)

  • Reti profonde

Interpretabilità

I modelli di Machine Learning possono essere poco intuitivi e difficili da comprendere. L’interpretabilità indica il grado di trasparenza del processo decisionale dell’algoritmo. Tuttavia, l’interpretabilità va spesso a scapito della potenza e della precisione. Inoltre, settori e applicazioni diversi possono avere requisiti specifici in termini di interpretabilità. Per iniziare, ecco alcune valutazioni di base che indicano quanto sia facile o difficile interpretare gli algoritmi.

  • Alberi decisionali
  • Modelli lineari (tra cui la regressione logistica e la discriminante lineare)

  • Nearest neighbor
  • Rete neurale (superficiale)
  • Naïve Bayes

  • SVM (non lineare)
  • Insiemi
  • Reti profonde

Sincronizzazione

La sincronizzazione consiste nell’ottimizzare i parametri o gli iperparametri di un determinato modello per ottenere il miglior risultato possibile. Alcuni algoritmi non sono adatti alla sincronizzazione e limitano il numero di parametri o iperparametri che è possibile modificare per ottimizzarli in base all’applicazione in uso. Dopo aver scelto un particolare tipo di modello da addestrare, puoi modificare automaticamente i parametri che influiscono maggiormente sulle prestazioni per ottimizzare il modello. Quale livello di sincronizzazione desideri poter applicare?

  • Modelli lineari (tra cui la regressione logistica e la discriminante lineare)
  • Nearest neighbor

  • Alberi decisionali
  • SVM (non lineare)
  • Insiemi
  • Naïve Bayes
  • Rete neurale (superficiale)

  • Reti profonde