top of page

Scegliere il miglior Algoritmo di Machine Learning per i tuoi dati

Se sapessi quale algoritmo o configurazione dell'algoritmo utilizzare, non avresti bisogno di utilizzare l'apprendimento automatico


Non esiste il miglior algoritmo di apprendimento automatico o parametri dell'algoritmo.

Vogliamo curarti da questo tipo di mentalità, vediamo spesso queste domande, anche quotidianamente:

  • Qual è il miglior algoritmo di apprendimento automatico?

  • Qual è la mappatura tra algoritmi e problemi di machine learning?

  • Quali sono i parametri migliori per un algoritmo di apprendimento automatico?

C'è uno schema per queste domande.


In genere non conosci e non puoi conoscere le risposte a queste domande in anticipo. Devi scoprirlo attraverso uno studio accurato. Ci sono alcune tecniche generali per rispondere a queste domande, ma anche queste possono portarti fuori stratda se stai cercando di ottenere il massimo da un algoritmo o da un problema.


In questo post, voglio incoraggiarti a liberarti da questa mentalità e ad adottare un approccio basato sui dati che cambierà il modo in cui ti avvicini all'apprendimento automatico.


Scegliere il miglior Algoritmo di Machine Learning per i tuoi dati
Scegliere il miglior Algoritmo di Machine Learning per i tuoi dati

Miglior algoritmo di machine learning

Alcuni algoritmi hanno più " potenza " di altri. Sono non parametrici o altamente flessibili e adattivi, o altamente autoregolanti o tutto quanto sopra.

In genere questa potenza ha un costo per la difficoltà di implementazione, la necessità di set di dati molto grandi, la scalabilità limitata o un numero elevato di coefficienti che possono risultare in un adattamento eccessivo.


Con set di dati più grandi, c'è stato un interesse per metodi più semplici che scalano e funzionano bene. Qual è l'algoritmo migliore, l'algoritmo che dovresti sempre provare e dedicare più tempo all'apprendimento?


Potremmo buttare fuori alcuni nomi come molti "DataScientist GURU", ma la risposta più intelligente è " nessuno " e " tutti ".


Nessun algoritmo di machine learning è migliore

Non puoi sapere a priori quale algoritmo sarà più adatto al tuo problema.

Leggi di nuovo la riga sopra. E pensaci un po sopra.

  • Puoi applicare il tuo algoritmo preferito.

  • Puoi applicare l'algoritmo consigliato in un libro o in un documento.

  • Puoi applicare l'algoritmo che sta vincendo il maggior numero di competizioni Kaggle in questo momento.

Questi sono pregiudizi.

Sono scorciatoie nel pensare che fanno risparmiare tempo.

Per definizione, i pregiudizi limiteranno le soluzioni che puoi ottenere, l'accuratezza che puoi ottenere e, in definitiva, l'impatto che puoi avere.



Mappatura degli algoritmi di machine learning ai problemi

Esistono classi generali di problemi , ad esempio problemi supervisionati come classificazione e regressione e problemi non supervisionati come apprendimento multiplo e raggruppamento.


Esistono casi più specifici di questi problemi nei sottocampi dell'apprendimento automatico come Computer Vision, Natural Language Processing e Speech Processing. Possiamo anche andare dall'altra parte, più astratto e considerare tutti questi problemi come istanze di approssimazione di funzioni e ottimizzazione di funzioni.

È possibile associare algoritmi a classi di problemi, ad esempio esistono algoritmi in grado di gestire problemi di regressione supervisionata e problemi di classificazione supervisionata ed entrambi i tipi di problemi.


Puoi anche costruire cataloghi di algoritmi e ciò potrebbe essere utile per ispirarti su quali algoritmi provare.


Puoi gareggiare con algoritmi su un problema e riportare i risultati. A volte questo è chiamato bake-off ed è popolare in alcuni atti di conferenze per la presentazione di nuovi algoritmi.


Trasferibilità limitata dei risultati dell'algoritmo

Un problema chiave con gli algoritmi è che non è possibile trasferire facilmente i risultati da un problema all'altro. Se ritieni che questa affermazione sia vera, leggere degli algoritmi su giornali e blog non ti informa su quale algoritmo provare per il tuo problema.


Se l'algoritmo A uccide l'algoritmo B sul problema X , cosa ti dice sull'algoritmo A e B sul problema Y ? Devi lavorare per mettere in relazione i problemi X e Y .


Hanno proprietà uguali o simili (attributi, distribuzioni di attributi, forma funzionale) che vengono sfruttate dagli algoritmi in studio? È un duro lavoro.

Non abbiamo una comprensione approfondita di quando un algoritmo di apprendimento automatico funziona meglio di un altro.


I migliori parametri dell'algoritmo

Gli algoritmi di apprendimento automatico sono parametrizzati in modo da poter adattare il loro comportamento e i risultati al tuo problema.

Il problema è che raramente viene spiegato il “ come ” manipolare gli iperparametri degli algoritmi di machine learning. Spesso è poco compreso, anche dagli stessi sviluppatori di algoritmi.


Generalmente, gli algoritmi di machine learning con elementi stocastici sono sistemi complessi e come tali devono essere studiati. Il primo ordine: può essere descritto quale effetto ha il parametro sul sistema complesso.


Nessun parametro algoritmo migliore

I nuovi insiemi di configurazioni di algoritmi sono essenzialmente nuove istanze di algoritmi con cui puoi sfidare il tuo problema (sebbene relativamente vincolati o simili nei risultati che possono ottenere).

Non puoi conoscere a priori i migliori parametri dell'algoritmo per il tuo problema .

  • È possibile utilizzare i parametri utilizzati nel documento seminale.

  • È possibile utilizzare i parametri in un libro.

  • Puoi utilizzare i parametri elencati in un post di kaggle " come l'ho fatto ".

Buone regole pratiche. Forse sì forse no.


Approccio basato sui dati per scegliere il migliore algoritmo di machine learning

Non abbiamo bisogno di cadere in un cumulo di disperazione. Diventiamo scienziati.

Hai pregiudizi che possono abbreviare le decisioni per la selezione dell'algoritmo e la selezione dei parametri dell'algoritmo.


Cambiamo mentalità


Invece di scegliere il tuo algoritmo preferito, prova 10 o 20 algoritmi.

Segnati quelli che mostrano segni di miglioramento in termini di prestazioni, robustezza, velocità o qualsiasi cosa ti interessi di più.

Invece di selezionare i parametri comuni, cerca nella griglia decine, centinaia o migliaia di combinazioni di parametri.

Diventa lo scienziato obiettivo, lasciati alle spalle aneddoti e studia l'intersezione di complessi sistemi di apprendimento e osservazioni di dati dal tuo dominio problematico.


Approccio basato sui dati in azione

Questo è un approccio potente che richiede meno conoscenze iniziali, ma molto più calcolo e sperimentazione di back-end.

Pertanto, molto probabilmente ti verrà richiesto di lavorare con un campione più piccolo del tuo set di dati in modo da poter ottenere risultati rapidamente. Avrai bisogno di un'imbracatura di prova in cui puoi avere completa fiducia.


Come puoi avere completa fiducia?

Sviluppi fiducia selezionando le opzioni di test in un modo basato sui dati che ti dà la certezza oggettiva che la configurazione scelta è affidabile. Il tipo di metodo di stima (split, boosting, k-fold cross validation, ecc.) e la sua configurazione (dimensione di k, ecc.).


Risultati rapidi e robusti

Ottieni buoni risultati, velocemente.

Se la foresta casuale è il tuo algoritmo preferito, potresti passare giorni o settimane cercando invano di ottenere il massimo dall'algoritmo sul tuo problema, che potrebbe non essere adatto al metodo in primo luogo. Con una metodologia basata sui dati, puoi scontare in anticipo i (relativi) scarsi risultati. Puoi fallire velocemente. Ed è il miglior modo per ottenere successo velocemente.


Ci vuole disciplina per non ricadere su pregiudizi e algoritmi e configurazioni preferiti. È un duro lavoro per ottenere risultati buoni e robusti.


Non ti preoccupi più se ti stai perdendo non usando l'algoritmo X o Y o la configurazione A o B ( paura della perdita ), li butti nel mix.


Sfrutta l'automazione

L'approccio basato sui dati è un problema di ricerca. Puoi sfruttare l'automazione.

Puoi scrivere script riutilizzabili per cercare il cablaggio di test più affidabile per il tuo problema prima di iniziare. Niente più supposizioni ad hoc.

Puoi scrivere uno script riutilizzabile per provare automaticamente 10, 20, 100 algoritmi in una varietà di librerie e implementazioni. Niente più algoritmi o librerie preferiti.

La linea tra i diversi algoritmi è sparita. Una nuova configurazione dei parametri è un nuovo algoritmo. Puoi scrivere script riutilizzabili per grigliare o eseguire ricerche casuali in ogni algoritmo per campionarne veramente le capacità.

Aggiungi l'ingegneria delle funzionalità in modo che ogni " vista " sui dati sia un nuovo problema per gli algoritmi da sfidare.


Riepilogo sul migliore algoritmo di machine learning

In questo post, abbiamo esaminato l'approccio e le best practice comuni per la scelta di un algoritmo e alla selezione dei parametri dell'algoritmo.

Abbiamo considerato che questo approccio porta a limitazioni nel nostro pensiero. Desideriamo ardentemente i migliori algoritmi per uso generale e le migliori configurazioni di algoritmi, quando non esistono cose del genere.

  • Non esiste il miglior algoritmo di apprendimento automatico per uso generale.

  • Non ci sono migliori parametri dell'algoritmo di apprendimento automatico per uso generale.

  • La trasferibilità della capacità di un algoritmo da un problema all'altro è discutibile.

La soluzione è diventare lo scienziato e studiare algoritmi sui nostri problemi.

Dobbiamo prendere un problema basato sui dati, per controllare gli algoritmi, per cercare i parametri dell'algoritmo di ricerca e per trovare rapidamente metodi che producano buoni risultati, in modo affidabile e veloce.


Vuoi mettere in pratica quello che hai letto ?



Oppure segui i tutorial correlati :


PCR (5).gif
PCR (4).gif
PCR.gif
PCR.gif
PCR.gif
PCR.gif
PCR (5).gif
3.gif
Vediamo se riesci a cliccarmi ! Nascondo una Sorpresa... (2).png

Ciao 

🤗 Articoli consigliati dalla nostra
Intelligenza Artificiale in base ai tuoi interessi

Correlazione Alta

Correlazione Media

Correlazione Bassa

Iscriviti

VUOI DIVENTARE UN MEMBRO DI INTELLIGENZA ARTIFICIALE ITALIA GRATUITAMENTE E TRARNE I SEGUENTI BENEFICI?

Corsi Gratis

più di 150 lezioni online

Dataset Gratis

più di 150o dataset

Ebook Gratis

più di 10 libri da leggere

Editor Gratis

un editor python online

Progetti Gratis

più di 25 progetti python

App Gratis

4 servizi web con I.A.

Unisciti Ora a oltre
1.000.000
di lettori e appassionanti d'I.A.

Tutto ciò che riguarda l'intelligenza Artificiale, in unico posto, in italiano e gratis.

MEGLIO DI COSI' NON SI PUO' FARE

Dopo l'iscrizione riceverai diversi Regali

VUOI SCRIVERE ARTICOLI INSIEME A NOI.

Grazie

bottom of page