Alcuni sistemi dotati di I.A. prevedono l'uso di algoritmi e modelli di machine learning .
Per i principianti, questi termini sono molto confusi poiché spesso " algoritmo di machine learning " viene utilizzato in modo intercambiabile con " modello di machine learning ".
Sono la stessa cosa o no?
Come sviluppatore, la tua intuizione con " algoritmi " come algoritmi di ordinamento e algoritmi di ricerca aiuterà a chiarire questa confusione.
In questo post scoprirai la differenza tra algoritmi e modelli di machine learning.
Dopo aver letto questo post, saprai:
Gli algoritmi di machine learning sono procedure implementate nel codice ed eseguite sui dati.
I modelli di machine learning sono generati da algoritmi e sono costituiti da dati del modello e un algoritmo di previsione.
Gli algoritmi di machine learning forniscono un tipo di programmazione automatica in cui i modelli di apprendimento automatico rappresentano il programma.
Differenza tra algoritmi e modelli nel Machine Learning
Questo post è diviso in quattro parti :
Che cos'è un algoritmo nel Machine Learning
Che cos'è un modello nel Machine Learning
Algoritmo e struttura del modello
Il Machine Learning è una programmazione automatica
Che cos'è un algoritmo nel Machine Learning ?
Un algoritmo nel Machine Learning è una procedura eseguita sui dati per creare un modello di Machine Learning .
E' molto semplice ! Per sicurezza meglio riscriverlo un'altra volta
Un algoritmo nel Machine Learning è una procedura eseguita sui dati per creare un modello di Machine Learning .
Gli algoritmi di Machine Learning eseguono il " riconoscimento di schemi " e " imparano " dai dati o sono " adattati " a un set di dati.
Esistono molti algoritmi di Machine Learning.
Ad esempio, abbiamo algoritmi per la classificazione, come k-neiest neighbors. Abbiamo algoritmi per la regressione, come la regressione lineare, e abbiamo algoritmi per il clustering, come k-mean.
Esempi di algoritmi di apprendimento automatico:
Regressione lineare
Regressione logistica
Albero decisionale
Rete neurale artificiale
k-neiest neighbors
k-means
Puoi pensare a un algoritmo di Machine Learning come qualsiasi altro algoritmo in informatica.
Ad esempio, alcuni altri tipi di algoritmi con cui potresti avere familiarità includono l'ordinamento o la ricerca binaria per l'ordinamento dei dati e il migliore per la ricerca.
In quanto tali, gli algoritmi di Machine Learning hanno una serie di proprietà:
Gli algoritmi di apprendimento automatico possono essere descritti utilizzando la matematica e lo pseudocodice.
L'efficienza degli algoritmi di apprendimento automatico può essere analizzata e descritta.
Gli algoritmi di apprendimento automatico possono essere implementati con uno qualsiasi di una gamma di moderni linguaggi di programmazione.
Ad esempio, potresti vedere algoritmi di apprendimento automatico descritti con pseudocodice o algebra lineare in documenti di ricerca e libri di testo. Potresti vedere l'efficienza computazionale di un algoritmo di apprendimento automatico specifico rispetto a un altro algoritmo specifico.
Gli accademici possono ideare algoritmi di apprendimento automatico completamente nuovi e i professionisti dell'apprendimento automatico possono utilizzare algoritmi di apprendimento automatico standard sui loro progetti.
Questo è proprio come altre aree dell'informatica in cui gli accademici possono ideare algoritmi di ordinamento completamente nuovi e i programmatori possono utilizzare gli algoritmi di ordinamento standard nelle loro applicazioni.
È anche probabile che tu veda più algoritmi di apprendimento automatico implementati insieme e forniti in una libreria con un'API (Application Programming Interface) standard.
Un esempio popolare è la libreria scikit-learn che fornisce implementazioni di molti algoritmi di classificazione, regressione e clustering di machine learning in Python.
Che cos'è un modello nel Machine Learning ?
Un modello nel Machine Learning è l'output di un algoritmo di Machine Learning eseguito sui dati.
E' molto semplice ! Per sicurezza meglio riscriverlo un'altra volta
Un modello nel Machine Learning è l'output di un algoritmo di Machine Learning eseguito sui dati.
Un modello rappresenta ciò che è stato appreso da un algoritmo di apprendimento automatico.
Il modello è la " cosa " che viene salvata dopo aver eseguito un algoritmo di apprendimento automatico sui dati di addestramento e rappresenta le regole, i numeri e qualsiasi altra struttura dati specifica dell'algoritmo richiesta per fare previsioni.
Alcuni esempi potrebbero renderlo più chiaro:
L'algoritmo di regressione lineare risulta in un modello composto da un vettore di coefficienti con valori specifici.
L'algoritmo dell'albero decisionale risulta in un modello composto da un albero di istruzioni if-then con valori specifici.
Gli algoritmi di rete neurale / backpropagation / gradiente di discesa insieme danno come risultato un modello composto da una struttura a grafo con vettori o matrici di pesi con valori specifici.
Un modello di apprendimento automatico è più impegnativo per un principiante perché non c'è una chiara analogia con altri algoritmi in informatica.
Ad esempio, l'output dell'elenco ordinato di un algoritmo di ordinamento non è in realtà un modello.
L'analogia migliore è pensare al modello di apprendimento automatico come a un " programma ".
Il " programma " del modello di apprendimento automatico comprende sia dati che una procedura per utilizzare i dati per fare una previsione.
Si consideri ad esempio l'algoritmo di regressione lineare e il modello risultante. Il modello è composto da un vettore di coefficienti (dati) che vengono moltiplicati e sommati con una riga di nuovi dati presi come input per fare una previsione (procedura di previsione).
Salviamo i dati per il modello di Machine Learning per un uso successivo.
Usiamo spesso la procedura di previsione per il modello di machine learning fornito da una libreria di machine learning. A volte possiamo implementare noi stessi la procedura di previsione come parte della nostra applicazione. Questo è spesso semplice da fare dato che la maggior parte delle procedure di previsione sono abbastanza semplici.
Algoritmi e struttura dei modelli di Machine Learning
Quindi ora abbiamo familiarità con un " algoritmo " di Machine Learning rispetto a un " modello " di Machine Learning .
In particolare, viene eseguito un algoritmo sui dati per creare un modello.
Apprendimento automatico => Modello di apprendimento automatico
Comprendiamo inoltre che un modello comprende sia dati che una procedura su come utilizzare i dati per fare una previsione su nuovi dati. Puoi pensare alla procedura come a un algoritmo di previsione, se lo desideri.
Modello di apprendimento automatico == Dati del modello + algoritmo di previsione
Questa divisione è molto utile per comprendere un'ampia gamma di algoritmi.
Ad esempio, la maggior parte degli algoritmi ha tutto il proprio lavoro nell'“ algoritmo ” e l'“ algoritmo di previsione ” fa molto poco.
In genere, l'algoritmo è una sorta di procedura di ottimizzazione che riduce al minimo l'errore del modello (dati + algoritmo di previsione) sul set di dati di addestramento. L'algoritmo di regressione lineare è un buon esempio. Esegue un processo di ottimizzazione (o viene risolto analiticamente utilizzando l'algebra lineare) per trovare un insieme di pesi che minimizzino l'errore al quadrato della somma sul set di dati di addestramento.
Regressione lineare:
Algoritmo : trova l'insieme di coefficienti che riducono al minimo l'errore sul set di dati di addestramento
Modello :
Dati modello : vettore di coefficienti
Algoritmo di previsione : coefficienti multipli e somma con riga di input
Alcuni algoritmi sono banali o addirittura non fanno nulla e tutto il lavoro è nel modello o nell'algoritmo di previsione.
L'algoritmo k-nearest neighbor non ha alcun " algoritmo " a parte il salvataggio dell'intero set di dati di addestramento. I dati del modello, quindi, sono l'intero set di dati di addestramento e tutto il lavoro è nell'algoritmo di previsione, ovvero come una nuova riga di dati interagisce con il set di dati di addestramento salvato per fare una previsione.
k-Means
Algoritmo : salva i dati di allenamento.
Modello :
Dati modello : intero set di dati di addestramento.
Algoritmo di previsione : trova le k righe più simili e calcola la media della loro variabile target.
Puoi utilizzare questa suddivisione come struttura per comprendere qualsiasi algoritmo di apprendimento automatico.
Qual è il tuo algoritmo preferito? Puoi descriverlo usando questo framework nei commenti qui sotto?
Conosci un algoritmo che non si adatta perfettamente a questa schema?
L'apprendimento automatico è una programmazione automatica
Vogliamo davvero solo un " modello " di apprendimento automatico e l'" algoritmo " è solo il percorso che seguiamo per ottenere il modello.
Le tecniche di apprendimento automatico vengono utilizzate per problemi che non possono essere risolti in modo efficiente o efficace in altri modi.
Ad esempio, se dobbiamo classificare le e-mail come spam o non spam, abbiamo bisogno di un programma software per farlo.
Potremmo sederci, rivedere manualmente una tonnellata di e-mail e scrivere dichiarazioni if per svolgere questo compito. Le persone ci hanno provato. Si scopre che questo approccio è lento, fragile e poco efficace.
Invece, possiamo utilizzare tecniche di apprendimento automatico per risolvere questo problema. In particolare, un algoritmo come Naive Bayes può imparare a classificare i messaggi di posta elettronica come spam e non come spam da un ampio set di dati di esempi storici di posta elettronica.
Non vogliamo " Naive Bayes ". Vogliamo che il modello fornito da Naive Bayes sia che possiamo usare per classificare la posta elettronica (i vettori delle probabilità e l'algoritmo di previsione per usarli). Vogliamo il modello, non l'algoritmo utilizzato per creare il modello.
In questo senso, il modello di apprendimento automatico è un programma scritto o creato o appreso automaticamente dall'algoritmo di apprendimento automatico per risolvere il nostro problema.
Come sviluppatori, siamo meno interessati all'" apprendimento " eseguito dagli algoritmi di apprendimento automatico nel senso di intelligenza artificiale. Non ci interessa simulare i processi di apprendimento. Alcune persone potrebbero esserlo, ed è interessante, ma non è per questo che utilizziamo algoritmi di apprendimento automatico.
Invece, siamo più interessati alla capacità di programmazione automatica offerta dagli algoritmi di apprendimento automatico. Vogliamo un modello efficace creato in modo efficiente che possiamo incorporare nel nostro progetto software.
Gli algoritmi di machine learning eseguono la programmazione automatica e i modelli di machine learning sono i programmi creati per noi.
Conclusioni sulla Differenza tra algoritmi e modelli nel Machine Learning
In questo post, hai scoperto la differenza tra " algoritmi " e " modelli " di machine learning.
Nello specifico hai imparato:
Gli algoritmi di apprendimento automatico sono procedure implementate nel codice ed eseguite sui dati.
I modelli di apprendimento automatico sono generati da algoritmi e sono costituiti da dati del modello e un algoritmo di previsione.
Gli algoritmi di apprendimento automatico forniscono un tipo di programmazione automatica in cui i modelli di apprendimento automatico rappresentano il programma.
Hai delle domande?
Poni le tue domande nei commenti qui sotto e faremo del nostro meglio per rispondere.
Comments