Un modello di machine learning è definito come una rappresentazione matematica del risultato del processo di formazione. L'apprendimento automatico è lo studio di diversi algoritmi che possono migliorare automaticamente attraverso l'esperienza e i vecchi dati e costruire il modello. Un modello di machine learning è simile a un software progettato per riconoscere modelli o comportamenti basati su esperienze o dati precedenti. L'algoritmo di apprendimento scopre modelli all'interno dei dati di addestramento e genera un modello ML che cattura questi modelli e fa previsioni sui nuovi dati.
Comprendiamo un esempio del modello ML in cui stiamo creando un'app per riconoscere le emozioni dell'utente in base alle espressioni facciali. Pertanto, la creazione di un'app di questo tipo è possibile tramite modelli di apprendimento automatico in cui addestreremo un modello alimentando immagini di volti con varie emozioni etichettate su di essi. Ogni volta che questa app viene utilizzata per determinare l'umore dell'utente, legge tutti i dati forniti e quindi determina l'umore di qualsiasi utente.
Quindi, in parole semplici, possiamo dire che a il modello di machine learning è una rappresentazione semplificata di qualcosa o di un processo. In questo argomento discuteremo di diversi modelli di machine learning e delle relative tecniche e algoritmi .
Cos'è il modello di machine learning?
I modelli di machine learning possono essere intesi come un programma che è stato addestrato a trovare modelli all’interno di nuovi dati e fare previsioni. Questi modelli sono rappresentati come una funzione matematica che accetta richieste sotto forma di dati di input, effettua previsioni sui dati di input e quindi fornisce un output in risposta. Innanzitutto, questi modelli vengono addestrati su una serie di dati, quindi viene loro fornito un algoritmo per ragionare sui dati, estrarre il modello dai dati del feed e imparare da tali dati. Una volta addestrati, questi modelli possono essere utilizzati per prevedere il set di dati invisibile.
Sono disponibili vari tipi di modelli di machine learning in base a diversi obiettivi aziendali e set di dati.
Classificazione dei modelli di machine learning:
Sulla base di diversi obiettivi aziendali e set di dati, esistono tre modelli di apprendimento per gli algoritmi. Ogni algoritmo di machine learning si colloca in uno dei tre modelli:
- Apprendimento supervisionato
- Apprendimento non supervisionato
- Insegnamento rafforzativo
L’apprendimento supervisionato è ulteriormente suddiviso in due categorie:
- Classificazione
- Regressione
L'apprendimento non supervisionato è inoltre suddiviso nelle seguenti categorie:
- Raggruppamento
- Regola associativa
- Riduzione della dimensionalità
1. Modelli di machine learning supervisionati
L'apprendimento supervisionato è il modello di machine learning più semplice per comprendere in cui i dati di input sono chiamati dati di training e hanno un'etichetta o un risultato noto come output. Quindi, funziona secondo il principio delle coppie input-output. Richiede la creazione di una funzione che può essere addestrata utilizzando un set di dati di addestramento, quindi viene applicata a dati sconosciuti e fornisce prestazioni predittive. L'apprendimento supervisionato è basato su attività e testato su set di dati etichettati.
Possiamo implementare un modello di apprendimento supervisionato su semplici problemi della vita reale. Ad esempio, abbiamo un set di dati composto da età e altezza; quindi, possiamo costruire un modello di apprendimento supervisionato per prevedere l'altezza della persona in base alla sua età.
I modelli di apprendimento supervisionato sono ulteriormente classificati in due categorie:
Regressione
Nei problemi di regressione, l'output è una variabile continua. Alcuni modelli di regressione comunemente utilizzati sono i seguenti:
a) Regressione lineare
La regressione lineare è il modello di machine learning più semplice in cui proviamo a prevedere una variabile di output utilizzando una o più variabili di input. La rappresentazione della regressione lineare è un'equazione lineare che combina un insieme di valori di input (x) e un output previsto (y) per l'insieme di tali valori di input. È rappresentato sotto forma di una linea:
Y = bx + c.
Lo scopo principale del modello di regressione lineare è trovare la linea di adattamento migliore che meglio si adatta ai punti dati.
La regressione lineare è estesa alla regressione lineare multipla (trovare un piano di adattamento migliore) e alla regressione polinomiale (trovare la curva di adattamento migliore).
b) Albero decisionale
Java esce adesso
Gli alberi decisionali sono i popolari modelli di machine learning che possono essere utilizzati sia per problemi di regressione che di classificazione.
Un albero decisionale utilizza una struttura ad albero delle decisioni insieme alle loro possibili conseguenze e risultati. In questo, ogni nodo interno viene utilizzato per rappresentare un test su un attributo; ogni ramo viene utilizzato per rappresentare l'esito del test. Più nodi ha un albero decisionale, più accurato sarà il risultato.
Il vantaggio degli alberi decisionali è che sono intuitivi e facili da implementare, ma mancano di precisione.
Gli alberi decisionali sono ampiamente utilizzati in ricerca operativa, in particolare nell'analisi decisionale e nella pianificazione strategica , e principalmente nell'apprendimento automatico.
c) Foresta casuale
Random Forest è il metodo di apprendimento d'insieme, che consiste in un gran numero di alberi decisionali. Ogni albero decisionale in una foresta casuale prevede un risultato e la previsione con la maggioranza dei voti viene considerata come risultato.
Un modello di foresta casuale può essere utilizzato sia per problemi di regressione che di classificazione.
Per il compito di classificazione, l'esito della foresta casuale viene preso dalla maggioranza dei voti. Mentre nell'attività di regressione, il risultato viene preso dalla media o dalla media delle previsioni generate da ciascun albero.
d) Reti neurali
Le reti neurali sono un sottoinsieme dell'apprendimento automatico e sono note anche come reti neurali artificiali. Le reti neurali sono costituite da neuroni artificiali e progettate in modo da assomigliare alla struttura e al funzionamento del cervello umano. Ogni neurone artificiale si connette con molti altri neuroni in una rete neurale e questi milioni di neuroni collegati creano una sofisticata struttura cognitiva.
Le reti neurali sono costituite da una struttura multistrato, contenente uno strato di input, uno o più strati nascosti e uno strato di output. Poiché ogni neurone è connesso a un altro neurone, trasferisce i dati da uno strato all'altro neurone degli strati successivi. Infine, i dati raggiungono l’ultimo livello o livello di output della rete neurale e generano output.
Le reti neurali dipendono dai dati di addestramento per apprendere e migliorare la loro precisione. Tuttavia, una rete neurale perfettamente addestrata e accurata può raggruppare rapidamente i dati e diventare un potente strumento di apprendimento automatico e intelligenza artificiale. Una delle reti neurali più conosciute è L'algoritmo di ricerca di Google.
Classificazione
I modelli di classificazione sono il secondo tipo di tecniche di apprendimento supervisionato, utilizzate per generare conclusioni dai valori osservati in forma categorica. Ad esempio, il modello di classificazione può identificare se l'e-mail è spam oppure no; un acquirente acquisterà o meno il prodotto, ecc. Gli algoritmi di classificazione vengono utilizzati per prevedere due classi e classificare l'output in gruppi diversi.
Nella classificazione, viene progettato un modello di classificatore che classifica il set di dati in diverse categorie e a ciascuna categoria viene assegnata un'etichetta.
Esistono due tipi di classificazioni nel machine learning:
Alcuni algoritmi di classificazione popolari sono i seguenti:
a) Regressione logistica
La regressione logistica viene utilizzata per risolvere i problemi di classificazione nell'apprendimento automatico. Sono simili alla regressione lineare ma utilizzati per prevedere le variabili categoriali. Può prevedere l'output in Sì o No, 0 o 1, Vero o Falso, ecc. Tuttavia, invece di fornire i valori esatti, fornisce i valori probabilistici tra 0 e 1.
b) Supporta la macchina vettoriale
Support Vector Machine o SVM è il popolare algoritmo di apprendimento automatico, ampiamente utilizzato per attività di classificazione e regressione. Tuttavia, nello specifico, viene utilizzato per risolvere problemi di classificazione. Lo scopo principale di SVM è trovare i migliori confini decisionali in uno spazio N-dimensionale, che può separare i punti dati in classi, e il miglior confine decisionale è noto come Iperpiano. SVM seleziona il vettore estremo per trovare l'iperpiano e questi vettori sono noti come vettori di supporto.
c) L'ingenuo Bayes
Naïve Bayes è un altro algoritmo di classificazione popolare utilizzato nell'apprendimento automatico. Si chiama così perché si basa sul teorema di Bayes e segue l'assunzione ingenua (indipendente) tra le caratteristiche che è data come:
Ogni classificatore Bayes ingenuo presuppone che il valore di una variabile specifica sia indipendente da qualsiasi altra variabile/caratteristica. Ad esempio, se un frutto deve essere classificato in base al colore, alla forma e al gusto. Quindi il giallo, l'ovale e il dolce verranno riconosciuti come mango. Qui ogni funzionalità è indipendente dalle altre funzionalità.
2. Modelli di machine learning non supervisionati
I modelli di machine learning non supervisionato implementano il processo di apprendimento opposto all'apprendimento supervisionato, il che significa che consente al modello di apprendere dal set di dati di training senza etichetta. In base al set di dati senza etichetta, il modello prevede l'output. Utilizzando l'apprendimento non supervisionato, il modello apprende da solo i modelli nascosti dal set di dati senza alcuna supervisione.
I modelli di apprendimento non supervisionato vengono utilizzati principalmente per eseguire tre compiti, che sono i seguenti:
Il clustering è una tecnica di apprendimento non supervisionato che prevede il raggruppamento o il raggruppamento dei punti dati in diversi cluster in base a somiglianze e differenze. Gli oggetti con il maggior numero di somiglianze rimangono nello stesso gruppo e non hanno o hanno pochissime somiglianze con altri gruppi.
Gli algoritmi di clustering possono essere ampiamente utilizzati in diversi compiti come Segmentazione delle immagini, Analisi dei dati statistici, Segmentazione del mercato , eccetera.
Alcuni algoritmi di clustering comunemente usati sono K-significa Clustering, Clustering gerarchico, DBSCAN , eccetera.
L'apprendimento delle regole di associazione è una tecnica di apprendimento non supervisionato, che trova relazioni interessanti tra le variabili all'interno di un set di dati di grandi dimensioni. Lo scopo principale di questo algoritmo di apprendimento è trovare la dipendenza di un dato da un altro e mappare tali variabili di conseguenza in modo che possa generare il massimo profitto. Questo algoritmo viene applicato principalmente in Analisi del paniere di mercato, mining dell'utilizzo del Web, produzione continua , eccetera.
Alcuni algoritmi popolari di apprendimento delle regole di associazione sono Algoritmo Apriori, Eclat, algoritmo di crescita FP.
Il numero di caratteristiche/variabili presenti in un set di dati è noto come dimensionalità del set di dati e la tecnica utilizzata per ridurre la dimensionalità è nota come tecnica di riduzione della dimensionalità.
Sebbene una maggiore quantità di dati fornisca risultati più accurati, ciò può anche influire sulle prestazioni del modello/algoritmo, ad esempio problemi di overfitting. In questi casi vengono utilizzate tecniche di riduzione della dimensionalità.
' Si tratta di un processo di conversione del set di dati di dimensioni superiori in set di dati di dimensioni minori garantendo che fornisca informazioni simili .'
Diversi metodi di riduzione della dimensionalità come come PCA (analisi delle componenti principali), decomposizione dei valori singolari, ecc.
Insegnamento rafforzativo
Nell'apprendimento per rinforzo, l'algoritmo apprende le azioni per un dato insieme di stati che portano a uno stato obiettivo. È un modello di apprendimento basato sul feedback che riceve segnali di feedback dopo ogni stato o azione interagendo con l'ambiente. Questo feedback funziona come una ricompensa (positiva per ogni buona azione e negativa per ogni cattiva azione) e l'obiettivo dell'agente è massimizzare le ricompense positive per migliorare le proprie prestazioni.
Il comportamento del modello nell'apprendimento per rinforzo è simile all'apprendimento umano, poiché gli esseri umani imparano cose dalle esperienze come feedback e interagiscono con l'ambiente.
Di seguito sono riportati alcuni algoritmi popolari che rientrano nell'apprendimento per rinforzo:
Ha lo scopo di apprendere la politica che può aiutare l'agente AI a intraprendere l'azione migliore per massimizzare la ricompensa in una circostanza specifica. Incorpora valori Q per ciascuna coppia stato-azione che indicano la ricompensa nel seguire un determinato percorso statale e cerca di massimizzare il valore Q.
Addestramento di modelli di machine learning
Una volta costruito il modello di Machine Learning, viene addestrato per ottenere i risultati appropriati. Per addestrare un modello di machine learning, è necessaria un’enorme quantità di dati pre-elaborati. Qui per dati pre-elaborati si intendono dati in forma strutturata con valori nulli ridotti, ecc. Se non forniamo dati pre-elaborati, ci sono enormi possibilità che il nostro modello possa funzionare in modo pessimo.
Come scegliere il modello migliore?
Nella sezione precedente, abbiamo discusso diversi modelli e algoritmi di machine learning. Ma la domanda più confusa che potrebbe sorgere a qualsiasi principiante è 'quale modello dovrei scegliere?'. Quindi, la risposta è che dipende principalmente dai requisiti aziendali o dai requisiti del progetto. Oltre a ciò, dipende anche dagli attributi associati, dal volume del set di dati disponibile, dal numero di caratteristiche, dalla complessità, ecc. Tuttavia, in pratica, si consiglia di iniziare sempre con il modello più semplice che può essere applicato al particolare problema e quindi aumentare gradualmente la complessità e testare l'accuratezza con l'aiuto della regolazione dei parametri e della convalida incrociata.
Differenza tra modello di machine learning e algoritmi
Una delle domande più confuse tra i principianti è: i modelli di apprendimento automatico e gli algoritmi sono gli stessi? Perché in vari casi nell’apprendimento automatico e nella scienza dei dati, questi due termini sono usati in modo intercambiabile.
La risposta a questa domanda è no e il modello di machine learning non è la stessa cosa di un algoritmo. In un modo semplice, an L'algoritmo ML è come una procedura o un metodo che viene eseguito sui dati per scoprirne modelli e generare il modello. Allo stesso tempo, a Il modello di machine learning è come un programma per computer che genera output o fa previsioni . Più specificamente, quando addestriamo un algoritmo con i dati, diventa un modello.
Machine Learning Model = Model Data + Prediction Algorithm