Sommario[Nascondere][Spettacolo]
Il mondo sta cambiando rapidamente grazie all'intelligenza artificiale e all'apprendimento automatico, che ha un impatto su ogni aspetto della nostra vita quotidiana.
Dagli assistenti vocali che utilizzano la NLP e l'apprendimento automatico per prenotare appuntamenti, cercare eventi sul nostro calendario e riprodurre musica su dispositivi così accurati da poter anticipare le nostre esigenze prima ancora di prenderle in considerazione.
I computer possono giocare a scacchi, eseguire interventi chirurgici e trasformarsi in macchine più intelligenti e simili a quelle umane con l'aiuto di algoritmi di apprendimento automatico.
Siamo in un momento di continuo progresso tecnologico e, vedendo come si sono sviluppati i computer nel tempo, possiamo fare previsioni su ciò che accadrà in futuro.
La democratizzazione degli strumenti e dei metodi informatici è uno degli aspetti chiave di questa rivoluzione che spicca. Data scientist hanno creato potenti computer di elaborazione dei dati negli ultimi cinque anni implementando senza sforzo metodologie all'avanguardia. I risultati sono sorprendenti.
In questo post, analizzeremo da vicino machine learning algoritmi e tutte le loro variazioni.
Allora, cosa sono gli algoritmi di Machine Learning?
L'approccio utilizzato dal sistema di intelligenza artificiale per svolgere il proprio compito, in genere prevedere i valori di output da dati di input forniti, è noto come algoritmo di apprendimento automatico.
Un algoritmo di apprendimento automatico è un processo che utilizza i dati e viene utilizzato per creare modelli di apprendimento automatico pronti per la produzione. Se l'apprendimento automatico è il treno che esegue un lavoro, gli algoritmi di apprendimento automatico sono le locomotive che spostano il lavoro.
Il miglior approccio di apprendimento automatico da utilizzare sarà determinato dal problema aziendale che stai tentando di affrontare, dal tipo di set di dati che stai utilizzando e dalle risorse che hai a disposizione.
Gli algoritmi di apprendimento automatico sono quelli che trasformano un set di dati in un modello. A seconda del tipo di problema a cui stai tentando di rispondere, della potenza di elaborazione disponibile e del tipo di dati che hai, gli algoritmi di apprendimento supervisionato, non supervisionato o di rinforzo possono funzionare bene.
Quindi, abbiamo parlato di apprendimento supervisionato, non supervisionato e per rinforzo, ma cosa sono? Esploriamoli.
Apprendimento supervisionato, non supervisionato e di rinforzo
Apprendimento supervisionato
Nell'apprendimento supervisionato, il modello di intelligenza artificiale viene sviluppato in base all'input fornito e all'etichetta che rappresenta il risultato previsto. Sulla base degli input e degli output, il modello sviluppa un'equazione di mappatura e, utilizzando tale equazione di mappatura, prevede l'etichetta degli input in futuro.
Diciamo che dobbiamo creare un modello in grado di distinguere tra un cane e un gatto. Più foto di cani e gatti vengono inserite nel modello con etichette che indicano se si tratta di cani o gatti per addestrare il modello.
Il modello cerca di stabilire un'equazione che mette in relazione le etichette sulle fotografie di input a quelle immagini. Anche se la modella non ha mai visto l'immagine prima, dopo l'allenamento può identificare se si tratta di un gatto o di un cane.
Apprendimento senza supervisione
L'apprendimento non supervisionato implica l'addestramento di un modello di intelligenza artificiale solo sugli input senza etichettarli. Il modello divide i dati di input in gruppi con caratteristiche correlate.
L'etichetta futura dell'input viene quindi prevista in base a quanto i suoi attributi corrispondono a una delle classificazioni. Considera la situazione in cui dobbiamo dividere un gruppo di palline rosse e blu in due categorie.
Assumiamo che le altre caratteristiche delle palline siano identiche, ad eccezione del colore. Sulla base di come può dividere le palline in due classi, il modello cerca le caratteristiche che sono diverse tra le palline.
Due gruppi di palline, una blu e una rossa, vengono prodotte quando le palline vengono divise in due gruppi in base alla loro tonalità.
Insegnamento rafforzativo
Nell'apprendimento per rinforzo, il modello di intelligenza artificiale cerca di massimizzare il profitto complessivo agendo nel miglior modo possibile in una particolare circostanza. Il feedback sui risultati precedenti aiuta il modello ad apprendere.
Pensa allo scenario in cui a un robot viene chiesto di selezionare un percorso tra i punti A e B. Il robot sceglie prima uno dei percorsi perché non ha esperienza precedente.
Il robot riceve input sul percorso che prende e ne acquisisce conoscenza. Il robot può utilizzare l'input per risolvere il problema la prossima volta che incontra una circostanza simile.
Ad esempio, se il robot sceglie l'opzione B e riceve una ricompensa, come un feedback positivo, questa volta comprende che deve selezionare la modalità B per aumentare la sua ricompensa.
Ora finalmente quello che tutti voi state aspettando sono gli algoritmi.
Principali algoritmi di apprendimento automatico
1. Regressione lineare
L'approccio di apprendimento automatico più semplice che si discosta dall'apprendimento supervisionato è la regressione lineare. Con la conoscenza delle variabili indipendenti, viene utilizzato principalmente per risolvere problemi di regressione e creare previsioni su variabili dipendenti continue.
Trovare la linea di miglior adattamento, che può aiutare a prevedere il risultato per variabili dipendenti continue, è l'obiettivo della regressione lineare. I prezzi delle case, l'età e i salari sono alcuni esempi di valori continui.
Un modello noto come regressione lineare semplice utilizza una linea retta per calcolare l'associazione tra una variabile indipendente e una variabile dipendente. Ci sono più di due variabili indipendenti nella regressione lineare multipla.
Un modello di regressione lineare ha quattro ipotesi sottostanti:
- Linearità: esiste una connessione lineare tra X e la media di Y.
- Omoscedasticità: per ogni valore di X, la varianza residua è la stessa.
- Indipendenza: le osservazioni sono indipendenti l'una dall'altra in termini di indipendenza.
- Normalità: quando X è fisso, Y è normalmente distribuito.
La regressione lineare funziona in modo ammirevole per i dati che possono essere separati lungo linee. Può controllare l'overfitting utilizzando tecniche di regolarizzazione, convalida incrociata e riduzione della dimensionalità. Tuttavia, ci sono casi in cui è richiesta un'ampia progettazione delle funzionalità, che può occasionalmente causare sovradimensionamento e rumore.
2. Regressione logistica
La regressione logistica è un'altra tecnica di apprendimento automatico che si discosta dall'apprendimento supervisionato. Il suo uso principale è la classificazione, mentre può essere utilizzato anche per problemi di regressione.
La regressione logistica viene utilizzata per prevedere la variabile dipendente categoriale utilizzando le informazioni dei fattori indipendenti. L'obiettivo è classificare gli output, che possono rientrare solo tra 0 e 1.
Il totale pesato degli input viene elaborato dalla funzione sigmoide, una funzione di attivazione che converte valori compresi tra 0 e 1.
La base della regressione logistica è la stima di massima verosimiglianza, un metodo per calcolare i parametri di una presunta distribuzione di probabilità dati specifici dati osservati.
3. Albero decisionale
Un altro metodo di apprendimento automatico che si separa dall'apprendimento supervisionato è l'albero decisionale. Sia per problemi di classificazione che di regressione, è possibile utilizzare l'approccio dell'albero decisionale.
Questo strumento decisionale, che ricorda un albero, utilizza rappresentazioni visive per mostrare i risultati, i costi e le ripercussioni delle azioni. Dividendo i dati in porzioni separate, l'idea è analoga alla mente umana.
I dati sono stati divisi in parti distinte per quanto potessimo granulari. L'obiettivo principale di un albero decisionale è costruire un modello di formazione che può essere utilizzato per prevedere la classe della variabile target. I valori mancanti possono essere gestiti automaticamente utilizzando l'albero decisionale.
Non è richiesta la codifica one-shot, variabili fittizie o altre fasi di pretrattamento dei dati. È rigido nel senso che è difficile aggiungervi nuovi dati. Se hai dati etichettati aggiuntivi, dovresti riqualificare l'albero sull'intero set di dati.
Di conseguenza, gli alberi decisionali sono una scelta sbagliata per qualsiasi applicazione che richieda una modifica dinamica del modello.
In base al tipo di variabile target, gli alberi decisionali sono classificati in due tipi:
- Variabile categoriale: un albero decisionale in cui la variabile obiettivo è categoriale.
- Variabile continua: un albero decisionale in cui la variabile obiettivo è continua.
4. Foresta casuale
Il metodo Random Forest è la prossima tecnica di apprendimento automatico ed è un algoritmo di apprendimento automatico supervisionato ampiamente utilizzato nei problemi di classificazione e regressione. È anche un metodo basato su albero, simile a un albero decisionale.
Una foresta di alberi, o molti alberi decisionali, viene utilizzata dal metodo della foresta casuale per esprimere giudizi. Durante la gestione delle attività di classificazione, il metodo della foresta casuale ha utilizzato variabili categoriali durante la gestione delle attività di regressione con set di dati che contengono variabili continue.
Un insieme, o una combinazione di molti modelli, è ciò che fa il metodo della foresta casuale, il che significa che le previsioni vengono effettuate utilizzando un gruppo di modelli anziché uno solo.
La possibilità di essere utilizzato sia per problemi di classificazione che di regressione, che costituiscono la maggior parte dei moderni sistemi di apprendimento automatico, è un vantaggio chiave della foresta casuale.
Due diverse strategie sono utilizzate da Ensemble:
- Insacco: in questo modo vengono prodotti più dati per il set di dati di addestramento. Per ridurre la variazione delle previsioni, questo viene fatto.
- Il boosting è il processo di combinazione di studenti deboli con studenti forti costruendo modelli successivi, ottenendo il modello finale con la massima precisione.
5. Ingenuo Bayes
Un problema di classificazione binaria (a due classi) e multiclasse può essere risolto utilizzando la tecnica di Naive Bayes. Quando il metodo viene spiegato utilizzando valori di input binari o di categoria, è più semplice da capire. Un presupposto fatto da un classificatore Naive Bayes è che l'esistenza di una caratteristica in una classe non ha attinenza con la presenza di altre caratteristiche.
La formula sopra indica:
- P(H): La probabilità che l'ipotesi H sia corretta. La probabilità a priori è indicata come questa.
- P(E): La probabilità delle prove
- P(E|H): La probabilità che l'ipotesi sia supportata dall'evidenza.
- P(H|E): La probabilità che l'ipotesi sia vera, data l'evidenza.
Un classificatore Naive Bayes prenderebbe in considerazione ciascuna di queste caratteristiche individualmente nel determinare la probabilità di un determinato risultato, anche se questi attributi sono collegati tra loro. Un modello bayesiano ingenuo è semplice da costruire ed efficace per set di dati di grandi dimensioni.
È noto per funzionare meglio anche delle tecniche di categorizzazione più complesse pur essendo di base. È una raccolta di algoritmi tutti basati sul teorema di Bayes, piuttosto che su un singolo metodo.
6. K-vicini più vicini
La tecnica K-nearest neighbors (kNN) è un sottoinsieme dell'apprendimento automatico supervisionato che può essere utilizzato per affrontare problemi di classificazione e regressione. L'algoritmo KNN presume che oggetti comparabili possano essere trovati nelle vicinanze.
Lo ricordo come un raduno di persone che la pensano allo stesso modo. kNN sfrutta l'idea di somiglianza tra altri punti dati utilizzando prossimità, vicinanza o distanza. Per etichettare i dati invisibili in base ai punti dati osservabili etichettati più vicini, viene utilizzato un metodo matematico per determinare la separazione tra i punti su un grafico.
È necessario determinare la distanza tra i punti dati per identificare i punti comparabili più vicini. Per questo possono essere utilizzate misurazioni della distanza come la distanza euclidea, la distanza di Hamming, la distanza di Manhattan e la distanza di Minkowski. La K è conosciuta come il numero vicino più vicino e spesso è un numero dispari.
KNN può essere applicato a problemi di classificazione e regressione. La previsione effettuata quando KNN viene utilizzato per regressione dei problemi si basa sulla media o mediana delle occorrenze K più simili.
Il risultato di un algoritmo di classificazione basato su KNN può essere determinato come la classe con la frequenza più alta tra le K occorrenze più simili. Ogni istanza essenzialmente esprime un voto per la propria classe e la previsione appartiene alla classe che riceve il maggior numero di voti.
7. K-mezzi
È una tecnica per l'apprendimento non supervisionato che affronta i problemi di clustering. I set di dati sono divisi in un certo numero di cluster, chiamiamolo K, in modo tale che i punti dati di ciascun cluster siano omogenei e distinti da quelli degli altri cluster.
Metodologia di clustering K-medie:
- Per ogni cluster, l'algoritmo K-mean seleziona k centroidi, o punti.
- Con i centroidi o cluster K più vicini, ogni punto dati forma un cluster.
- Ora vengono prodotti nuovi centroidi a seconda dei membri del cluster già presenti.
- La distanza più vicina per ciascun punto dati viene calcolata utilizzando questi centroidi aggiornati. Fino a quando i centroidi non cambiano, questo processo viene ripetuto.
È più veloce, più affidabile e più semplice da comprendere. Se ci sono problemi, l'adattabilità di k-medie rende semplici le regolazioni. Quando i set di dati sono distinti o ben isolati l'uno dall'altro, i risultati sono migliori. Non può gestire dati irregolari o valori anomali.
8. Supporta le macchine vettoriali
Quando si utilizza la tecnica SVM per classificare i dati, i dati grezzi vengono visualizzati come punti in uno spazio n-dimensionale (dove n è il numero di funzioni che si hanno). I dati possono quindi essere facilmente classificati perché il valore di ciascuna caratteristica è quindi collegato a una coordinata specifica.
Per separare i dati e metterli su un grafico, utilizzare linee note come classificatori. Questo approccio traccia ogni punto dati come un punto in uno spazio n-dimensionale, dove n è il numero di caratteristiche che hai e il valore di ciascuna caratteristica è un valore di coordinate specifico.
Individueremo ora una linea che divide i dati in due insiemi di dati che sono stati classificati in modo diverso. Le distanze dai punti più vicini in ciascuno dei due gruppi saranno le più distanti lungo questa linea.
Poiché i due punti più vicini sono quelli più distanti dalla linea nell'esempio sopra, la linea che divide i dati nei due gruppi che sono stati classificati in modo diverso è la linea di mezzo. Il nostro classificatore è questa linea.
9. Riduzione della dimensionalità
Utilizzando l'approccio della riduzione della dimensionalità, i dati di addestramento potrebbero avere un minor numero di variabili di input. In termini semplici, si riferisce al processo di riduzione delle dimensioni del set di funzionalità. Immaginiamo che il tuo set di dati abbia 100 colonne; la riduzione della dimensionalità ridurrà tale importo a 20 colonne.
Il modello diventa automaticamente più sofisticato e ha un rischio maggiore di overfitting all'aumentare del numero di funzioni. Il problema più grande con l'utilizzo di dati di dimensioni maggiori è la cosiddetta "maledizione della dimensionalità", che si verifica quando i dati contengono un numero eccessivo di caratteristiche.
I seguenti elementi possono essere utilizzati per ottenere la riduzione della dimensionalità:
- Per trovare e scegliere le caratteristiche pertinenti, viene utilizzata la selezione delle caratteristiche.
- Utilizzando funzionalità già esistenti, l'ingegneria delle funzionalità crea manualmente nuove funzionalità.
Conclusione
L'apprendimento automatico non supervisionato o supervisionato è possibile. Scegli l'apprendimento supervisionato se i tuoi dati sono meno abbondanti e ben contrassegnati per la formazione.
I grandi set di dati spesso funzionano e producono risultati migliori utilizzando l'apprendimento non supervisionato. Apprendimento approfondito i metodi sono i migliori se si dispone di una raccolta di dati considerevole che è prontamente disponibile.
Insegnamento rafforzativo e l'apprendimento profondo per rinforzo sono alcuni degli argomenti che hai studiato. Le caratteristiche, gli usi e i vincoli delle reti neurali ora ti sono chiari. Ultimo ma non meno importante, hai considerato le opzioni per diversi linguaggi di programmazione, IDE e piattaforme quando si è trattato di crearne uno tuo modelli di apprendimento automatico.
La prossima cosa che devi fare è iniziare a studiarli e usarli machine learning approccio. Anche se l'argomento è ampio, qualsiasi argomento può essere compreso in poche ore se ti concentri sulla sua profondità. Ogni soggetto si distingue dagli altri.
Devi pensare a un problema alla volta, studiarlo, metterlo in pratica e utilizzare un linguaggio a tua scelta per implementare gli algoritmi al suo interno.
Lascia un Commento