I 10 migliori algoritmi di apprendimento automatico: perché sono così importanti nel 2021?
Pubblicato: 2019-06-10Sommario
Nella tana del coniglio del machine learning
Applicazioni nella vita reale
Cosa si intende per algoritmi di machine learning?
Tipi di apprendimento automatico
I 10 migliori algoritmi di apprendimento automatico
Incartare
Nel 2021, i computer non solo possono vedere , ma possono leggere e scrivere di propria iniziativa.
Bene, diamo un'occhiata alla moderna storia dell'orrore in cui viviamo.
Ad esempio, come reagiresti se qualcuno ti dicesse che presto il 30% dei posti di lavoro sarà sostituito dall'automazione? È scandaloso, vero?
E questo cosa ha a che fare con gli algoritmi di apprendimento automatico ?
Per fortuna, c'è una luce alla fine del tunnel. Lascia che ti guidi attraverso di essa.
Nel 2021, i computer possono:
- Riconosci voci, volti e grafia. (stile CSI...)
- Didascalia immagini automaticamente.
- Scopri come riconoscere il contenuto di un'immagine e classificarla in base a una caratteristica specifica.
- Svolgi compiti per te. (E crea gli algoritmi necessari per realizzarli.)
L'elenco potrebbe continuare, ovviamente.
Ogni giorno facciamo ricerche sul web, visitiamo siti web e social media. E non ci poniamo mai la domanda fondamentale:
Fino a che punto è arrivata la tecnologia AI?
Eccoci qui!
I risultati della tecnologia sollevano interrogativi sul futuro dell'umanità.
Forse questi fatti ci daranno un'idea:
(Fonte: Futurismo , Dezyre )
- In Corea del Sud, su 100 lavoratori, 4,78 in media sono robot .
- L'88% dei dipendenti in Etiopia rischia di perdere il lavoro a causa dei robot.
- A New York City, i dipendenti a rischio sono il 40,7% .
- Sono necessarie 9 righe di codice per scrivere un programma di apprendimento automatico.
- Il 97% dei lavori di cottura dei fast food sarà sostituito dalle macchine.
- Il 98% degli agricoltori perderà il lavoro a causa delle macchine.
- L'apprendimento automatico può generare fino a $ 1 miliardo all'anno nell'industria farmaceutica.
- Si stima che nei prossimi 10 anni il machine learning sostituirà il 25% dei posti di lavoro.
Nel 2021 potremo effettivamente possedere un robot in casa.
Puoi avere una conversazione fluente con Jibo o Tapia . C'è un motivo se vengono chiamati robot sociali .
Ricordano i nomi, i volti e le voci dei tuoi amici e familiari (che non è affatto inquietante!), possono fare da babysitter a tuo figlio (oh sì!) e se hai un incidente a casa chiameranno il 911 per tu. Quest'ultimo può essere particolarmente utile quando non c'è nessun altro in giro. Ma ci arriveremo più tardi.
Al giorno d'oggi gli algoritmi possono "insegnare da soli" le lingue e persino tradurre l'inglese parlato in cinese scritto contemporaneamente con la fluidità del madrelingua cinese medio. Prima o poi, lo studio delle lingue straniere diventerà inevitabilmente obsoleto.
E che ne dici di questo:
I nostri smartphone ci stanno letteralmente spiando… sono sicuro che tu sappia esattamente di cosa sto parlando! Immagina: al pranzo in ufficio dici (verbalmente!) di voler iniziare a guardare Lucifer . Tornato alla tua scrivania, apri Pinterest o Facebook sul tuo telefono, ed eccolo lì – il Diavolo in persona… (Sì, Tom Ellis è un sognatore, ma non è questo il punto!)
I sistemi di raccomandazione sono tutti intorno a noi. Se inserisci una ricerca per "Lego", le immagini correlate che escono e sono classificate come Lego, sono state riconosciute come tali da un'intelligenza artificiale. In altre parole, non sono stati annotati manualmente come blocchi di Lego da un umano...
L'algoritmo ha imparato da solo di cosa si tratta guardando milioni di immagini.
Pelle d'oca!
Tutte queste capacità e MOLTO altro vengono già utilizzate dalle aziende.
Le implicazioni qui sono:
Innanzitutto, i computer possiedono Insegnate da soli , ragazzi! Pensa a tutti i robot in futuro. Impareranno ed eseguiranno i compiti MOLTO più velocemente dei lavoratori umani.
E secondo – so cosa stai pensando – OMG, l'umanità è così condannata!
Molte persone reagiscono in questo modo.
Molti autori nel secolo scorso hanno scritto di un futuro in cui i robot dominano gli umani. L'intelligenza artificiale è fiorente, i robot domineranno il mondo e si nutriranno di esseri umani. La singolarità è vicina.
OK, questo è un buon posto dove fermarsi.
Ora che l'abbiamo tolto dal nostro sistema, diamo un'occhiata a ciò che è effettivamente vero.
Nella tana del coniglio del machine learning
Abbiamo bisogno di un po' di contesto prima.
15.000 anni fa fu inventato uno dei giochi più amati al mondo. Da qualche parte tra il XII e il XIV secolo, quel gioco divenne noto come scacchi .
Ha 10 alla potenza di 40 possibili esiti (ovvero 1 con 40 zeri alla fine).
Nel 2017, l' algoritmo AlphaZero di Google ha utilizzato l'apprendimento automatico per imparare a giocare E vincere la partita.
L'intero processo, dall'introduzione del gioco all'algoritmo, fino alla vittoria della sua prima partita contro Stockfish, uno dei motori di scacchi più potenti al mondo, ha richiesto:
(preparati!)
4 ore.
Ahia!
Sì, siamo sull'orlo di una rivoluzione del machine learning .
Guardando indietro, questa non è la prima interruzione di questo tipo. La rivoluzione industriale alla fine del 19° e all'inizio del 20° secolo ha causato anche il disordine sociale, ma alla fine l'umanità e le macchine hanno raggiunto un equilibrio.
Sì, le cose stanno cambiando, e questa è davvero una buona cosa!
Il software di machine learning possiede il potere di guardare un problema con occhi nuovi e navigare in ambienti sconosciuti.
Quindi, come stiamo per vedere, dopotutto non è una storia dell'orrore.
Più come un miracolo tecnologico.
Ora:
Perché la classificazione è così importante?
Per cominciare, cos'è l'apprendimento automatico per definizione ?
Fondamentalmente, una macchina è programmata per insegnare a se stessa come produrre un programma e creare soluzioni. L'apprendimento automatico produce sempre i numeri più accurati (e, se necessario, previsioni) possibili.
Pensa a una tecnologia in grado di risolvere una vasta gamma di problemi completamente diversi.
Ed è proprio questo il bello!
Lo scopo principale del sistema è classificare . Questo è anche chiamato visione artificiale . Imparerà da solo a fare distinzioni. E il numero di diversi problemi nel mondo che possono essere ridotti al compito apparentemente semplice di classificazione è assolutamente sbalorditivo.
Immagina solo la capacità di classificare tra:
- Posizioni buone e cattive negli scacchi (gioco)
- Frasi grammaticalmente corrette e errate (traduzione)
- Una strada vuota e una con auto o pedoni (auto a guida autonoma)
- Una cellula sana e una cellula cancerosa (diagnosi medica)
Questo è esattamente il motivo per cui gli esperti in molte aree diventeranno obsoleti. Non è necessario essere un esperto per creare un codice che eseguirà tali attività. I ragazzi che hanno scritto il programma di traduzione simultanea dall'inglese al cinese non parlavano una parola di cinese.
L'algoritmo insegnerà a se stesso come essere un esperto.
E sì, è importante conoscerli e conoscerli... nel modo in cui abbiamo conosciuto i computer all'inizio.
Siamo bravi con i computer ora. Così buono che tendiamo ad antropomorfizzarli (o forse sono solo io?).
Sembra che questo sia il momento di chiederci:
Cosa accadrà a tutte quelle persone che alla fine perderanno il lavoro a causa dell'intelligenza artificiale e dei programmi di apprendimento automatico?
Hai mai sentito parlare di una piccola cosa chiamata reddito di base universale?
Eccolo:
In futuro, i cittadini avranno un reddito che non li coinvolgerà nel fare alcun lavoro. I soldi verranno dalla folle efficienza che l'automazione fornirà e dai risparmi che ne derivano.
O questo o – uno scenario leggermente più realistico – emergeranno molti nuovi tipi di posti di lavoro. Alla fine del XIX secolo circa il 50% della popolazione degli Stati Uniti era dedita all'agricoltura. Ora, grazie a macchine potenti, meno del 2% sono agricoltori e tuttavia le persone sono impiegate.
Ora, per cosa può essere utilizzato l'apprendimento automatico ?
Applicazioni nella vita reale
L'apprendimento automatico può essere utilizzato per dedurre nuovi fatti da un database.
Vediamo alcune delle aree in cui l'apprendimento della macchina farà una grande differenza:
- Guida assistita : le auto possono premere automaticamente il freno per te, quando ti avvicini al veicolo che ti precede. E così, ad un certo punto nel futuro, l'umanità quasi dimenticherà cosa significhi incidente d'auto . Le auto senza conducente stanno arrivando.
- Sanità : migliora l'efficienza dei professionisti medici. Il riconoscimento e la diagnosi delle malattie diventeranno molto più semplici e precisi con l'aiuto dell'apprendimento automatico. Ad esempio, i programmi non solo possono scansionare e identificare le immagini del tessuto canceroso meglio degli umani, ma possono anche calcolare i tassi di sopravvivenza dei pazienti sulla base di enormi database di cartelle cliniche. (Guarda il lavoro di Jeremy Howard e il suo progetto chiamato Enlitic . È fantastico!)
- Invenzione di farmaci : con l'aiuto dell'apprendimento automatico, ogni paziente può ricevere un trattamento progettato specificamente per lui.
- Agricoltura : l'agricoltura sarà automatizzata con visione artificiale e controllo robotico: qualità e previsione delle colture, rilevamento delle malattie, benessere del bestiame e produzione.
- Funzionalità linguistiche basate sull'intelligenza artificiale : nel prossimo futuro saremo in grado di comunicare verbalmente con la traduzione in tempo reale utilizzando l'intelligenza artificiale .
L'apprendimento automatico è solo uno strumento e lo rimarrà per il prossimo futuro.
Allora non c'è bisogno di preoccuparsi. Siediti e rilassati.
Ora che abbiamo visto cos'è l'apprendimento automatico, poniamoci la prossima domanda:
Cosa si intende per algoritmi di machine learning?
Quindi, dopo aver stabilito quanto sia importante e vantaggioso per il nostro futuro apprendimento automatico, diamo un'occhiata più da vicino agli algoritmi che rendono possibile la magia.
Un ottimo modo per spiegare gli algoritmi di apprendimento automatico è confrontarli con la programmazione tradizionale.
Nella programmazione tradizionale , il programmatore lavora in team con un esperto del settore, per il quale si sta sviluppando il software. Più complesso è il compito, più lungo è il codice e più difficile sarà la sua scrittura.
Gli algoritmi di apprendimento automatico funzionano in modo abbastanza diverso. L'algoritmo riceve un set di dati per l'input e uno opzionale per l'output. Quindi lo analizza (o li) ed elabora il processo che deve avvenire affinché si verifichi un risultato utile. Oggi questo è un lavoro riservato a un programmatore umano. In futuro cambierà anche questo.
Tipi di apprendimento automatico
Esistono 4 diversi tipi di algoritmi di apprendimento automatico.
Eccoli:
1. Apprendimento supervisionato
I dati di input negli algoritmi di apprendimento supervisionato sono etichettati e l'output è noto e accurato. Per utilizzare questa classe di algoritmi, avresti bisogno di una grande quantità di dati etichettati. E questo potrebbe non essere sempre un compito facile.
Gli algoritmi supervisionati si dividono in due categorie: regressione e classificazione . Ciascuno esamina diversi set di dati.
Gli algoritmi di regressione sono quelli che fanno previsioni e previsioni. Tra gli altri, questi includono previsioni meteorologiche, crescita della popolazione e stime dell'aspettativa di vita, previsioni di mercato.
Gli algoritmi di classificazione vengono utilizzati per la diagnostica, il rilevamento delle frodi di identità, la fidelizzazione dei clienti e, come suggerisce il nome, la classificazione delle immagini.
2. Apprendimento senza supervisione
Si verifica quando i dati di input non sono etichettati. Organizzano i dati in strutture di cluster. Pertanto, tutti i dati di input sono immediatamente pronti per l'analisi.
Poiché i dati non sono etichettati, non c'è modo di valutare l'accuratezza del risultato. Detto questo, non è l'accuratezza che gli algoritmi non supervisionati sono progettati per perseguire. I cluster creati dall'algoritmo non sono in alcun modo familiari al programma. Quindi l'idea è di inserire i dati, analizzarli e raggrupparli in cluster.
Proprio come gli algoritmi supervisionati, i loro cugini non supervisionati sono divisi in 2 categorie: riduzione della dimensionalità e clustering .
Gli stessi algoritmi di clustering fanno ovviamente parte di tutto questo. È utile raggruppare i dati in categorie, in modo da non dover gestire ogni pezzo da solo. Questi algoritmi vengono utilizzati soprattutto per la segmentazione della clientela e il marketing mirato.
Gli algoritmi di riduzione della dimensionalità vengono utilizzati per la scoperta della struttura, la visualizzazione dei big data, l'elicitazione delle funzionalità e la compressione significativa. Se il clustering è un lato della medaglia, la riduzione della dimensionalità sarebbe l'altro. Raggruppando i dati in cluster, gli algoritmi riducono inevitabilmente il numero di variabili significative (dimensioni) che descrivono l'insieme di dati.
Ora, c'è una classe di algoritmi di apprendimento automatico che combina le precedenti 2 classi:
3. Apprendimento semi-sorvegliato
Si trova tra la supervisione con i dati etichettati, e gli algoritmi non supervisionati con dati non etichettati.
Gli algoritmi semi-supervisionati utilizzano una piccola quantità di dati etichettati e una grande quantità di dati non etichettati. Questo può portare a un miglioramento della precisione di apprendimento.
È anche un enorme sollievo in termini di raccolta dei dati poiché occorrono molte risorse per generare dati etichettati.
4. Apprendimento per rinforzo
A differenza dei 3 tipi precedenti, gli algoritmi di rinforzo scelgono un'azione in base a un set di dati. Quindi valutano il risultato e cambiano la strategia se necessario.
Negli algoritmi di rinforzo, crei una rete e un ciclo di azioni, e il gioco è fatto. Senza creare un database, hai un vincitore. Come mai?
Beh, sono stati gli algoritmi di rinforzo a capire le partite di dama, scacchi e Go.
L'apprendimento per rinforzo funziona sul principio di tentativi ed errori. Il sistema riceverà una ricompensa di qualche tipo che lo aiuterà a misurare il suo tasso di successo. Nel caso dei giochi, la ricompensa sarà il tabellone. Ogni volta che il sistema vince un punto, lo valuta come una mossa riuscita e lo stato di questa mossa diventa più alto. Continuerà a ripetere il ciclo finché tutte le sue mosse non avranno successo.
Ed è così che abbiamo un algoritmo in grado di padroneggiare il gioco degli scacchi in 4 ore.
Ora lo sappiamo!
Tutto a posto. Diamo un'occhiata agli algoritmi stessi:
I 10 migliori algoritmi di apprendimento automatico
Ora, prima di iniziare, diamo un'occhiata a uno dei concetti chiave dell'apprendimento automatico. Regressione , quando si tratta di algoritmi di regressione di apprendimento automatico , significa che l'algoritmo cercherà di stabilire una relazione tra due variabili.
Esistono molti tipi di regressione: regressione lineare, logistica, polinomiale, dei minimi quadrati ordinari e così via. Oggi ci occuperemo solo dei primi 2 tipi perché altrimenti questo sarà pubblicato meglio come un libro, piuttosto che come un articolo.
Come vedremo tra poco, la maggior parte dei primi 10 algoritmi sono algoritmi di apprendimento supervisionato e vengono utilizzati al meglio con Python.
Ecco la lista dei primi 10 algoritmi di apprendimento automatico :
1. Regressione lineare
È tra gli algoritmi di apprendimento automatico più popolari. Funziona per stabilire una relazione tra due variabili adattando un'equazione lineare attraverso i dati osservati.
In altre parole, questo tipo di algoritmi osserva varie caratteristiche per giungere a una conclusione. Se il numero di variabili è maggiore di due, l'algoritmo verrà chiamato regressione lineare multipla.
La regressione lineare è anche uno degli algoritmi di apprendimento automatico supervisionati che funzionano bene in Python . È un potente strumento statistico e può essere applicato per prevedere il comportamento dei consumatori, stimare previsioni e valutare le tendenze. Un'azienda può trarre vantaggio dalla conduzione di analisi lineari e dalla previsione delle vendite per un periodo di tempo futuro.
Quindi, se abbiamo due variabili, una è esplicativa e l'altra è dipendente . La variabile dipendente rappresenta il valore su cui si desidera ricercare o fare una previsione. La variabile esplicativa è indipendente. La variabile dipendente conta sempre sulla spiegazione.
Il punto del machine learning lineare è vedere se c'è una relazione significativa tra le due variabili e, se c'è, vedere esattamente cosa rappresenta.
La regressione lineare è considerata un semplice algoritmo di apprendimento automatico ed è quindi popolare tra gli scienziati.
Ora, c'è una regressione lineare e c'è una regressione logistica. Diamo un'occhiata alla differenza:
2. Regressione logistica
Questo è uno degli algoritmi di apprendimento automatico di base . È un classificatore binomiale che ha solo 2 stati, o 2 valori – a cui è possibile assegnare i significati di I dati di input vengono compressi e quindi analizzati.
A differenza della regressione lineare, gli algoritmi logistici effettuano previsioni utilizzando una funzione non lineare. Gli algoritmi di regressione logistica vengono utilizzati per la classificazione e non per le attività di regressione. La "regressione" nel nome suggerisce che gli algoritmi utilizzano un modello lineare e lo incorporano nello spazio futuro.
La regressione logistica è un algoritmo di apprendimento automatico supervisionato che, come la regressione lineare, funziona bene in Python. Da un punto di vista matematico, se si prevede che i dati di output della ricerca siano in termini di malattia/salute o cancro/non cancro, allora una regressione logistica è l'algoritmo perfetto da utilizzare.
A differenza della regressione lineare in cui i dati di output possono avere valori diversi, la regressione logistica può avere come output solo 1 e 0.
Esistono 3 tipi di regressione logistica, basati sulla risposta categorica. Questi sono:
- Regressione logistica binaria : questo è il tipo utilizzato più frequentemente se l'output è una varietà di "sì"/"no".
- Regressione logistica multinominale – quando esiste la possibilità di 3 o più risposte senza ordinamento.
- Regressione logistica ordinale – ancora 3 o più risposte, ma con ordinamento. Ad esempio, quando i risultati attesi sono su una scala da 1 a 10.
Vediamo un altro ottimo algoritmo di classificazione:
3. Analisi discriminante lineare
Questo metodo trova combinazioni lineari di caratteristiche, che separa diversi dati di input. Lo scopo di un algoritmo LDA è esaminare una variabile affidabile come unione lineare di caratteristiche. È una grande tecnica di classificazione .
Questo algoritmo esamina le qualità statistiche dei dati di input ed effettua calcoli per ciascuna classe. Misura il valore della classe e quindi la varianza tra tutte le classi.
Durante il processo di modellazione delle differenze tra le classi, l'algoritmo esamina i dati di input secondo variabili indipendenti.
I dati di output contengono informazioni sulla classe con il valore più alto. Gli algoritmi di analisi discriminante lineare funzionano meglio per la separazione tra categorie note . Quando diversi fattori devono essere suddivisi matematicamente in categorie, utilizziamo un algoritmo LDA.
4. K-vicini più vicini
L'algoritmo kNN è uno dei migliori algoritmi di apprendimento automatico per principianti . Fanno previsioni basate su vecchi dati disponibili, al fine di classificare i dati in categorie basate su caratteristiche diverse.
È nell'elenco degli algoritmi di apprendimento automatico supervisionato, che viene utilizzato principalmente per la classificazione. Memorizza i dati disponibili e li utilizza per misurare le somiglianze in nuovi casi.
Il K in kNN è un parametro che denota il numero di vicini più prossimi che saranno inclusi nel "processo di voto a maggioranza". In questo modo, i vicini di ogni elemento “votano” per determinare la sua classe.
Uno dei modi migliori per utilizzare l'algoritmo kNN è quando si dispone di un set di dati piccolo e privo di rumore e tutti i dati sono etichettati. L'algoritmo non è rapido e non insegna a se stesso a riconoscere i dati sporchi. Quando il set di dati è più grande, non è una buona idea usare kNN.
L'algoritmo kNN funziona così: prima viene specificato il parametro K, dopodiché l'algoritmo crea un elenco di voci, che è vicino al nuovo campione di dati. Quindi trova la classificazione più comune delle voci e, infine, fornisce una classificazione ai nuovi dati inseriti.
In termini di applicazioni reali, gli algoritmi kNN vengono utilizzati dai motori di ricerca per stabilire se i risultati della ricerca sono pertinenti alla query. Sono l'eroe non celebrato che fa risparmiare tempo agli utenti quando eseguono una ricerca.
Poi arriva il Tree-Trio: Regression Trees , Random Forest e AdaBoost .
Eccoci qui:
5. Alberi di regressione (noti anche come alberi decisionali)
Sì, si chiamano alberi , ma visto che stiamo parlando di algoritmi di machine learning immaginateli con le radici in alto e rami e foglie in basso.
Gli alberi di regressione sono un tipo di algoritmo di apprendimento supervisionato che, sorpresa, funziona bene in Python. (A proposito, la maggior parte degli algoritmi ML lo fa.)
Questi "alberi" sono anche chiamati alberi decisionali e vengono utilizzati per la modellazione predittiva . Richiedono uno sforzo relativamente piccolo da parte dell'utente in termini di quantità di dati di input.
La loro rappresentazione è un albero binario e risolvono problemi di classificazione. Come suggerisce il nome, questo tipo di algoritmo utilizza un modello di decisioni ad albero. Eseguono lo screening variabile o la selezione delle caratteristiche. I dati di input possono essere sia numerici che categoriali.
Traduzione perfavore!
Sicuro. Ogni volta che prendi una decisione, passi a una nuova situazione, con nuove decisioni da prendere. Ciascuno dei possibili percorsi che puoi intraprendere è un "ramo", mentre le decisioni stesse sono i "nodi". Il tuo punto di partenza iniziale è il nodo primario.
Ecco come un algoritmo dell'albero decisionale crea una serie di nodi e foglie. La cosa importante qui è che provengono tutti da un nodo. (Al contrario, gli algoritmi di foresta casuale producono un numero di alberi, ciascuno con il suo nodo primario.)
In termini di applicazione nella vita reale, gli alberi di regressione possono essere utilizzati per prevedere i tassi di sopravvivenza, i premi assicurativi e il prezzo degli immobili, in base a vari fattori.
Gli alberi di regressione "crescono" rami di decisioni fino a raggiungere un criterio di arresto. Funziona meglio con piccole quantità di dati di input perché altrimenti potresti ottenere un set di dati di output distorto.
L'algoritmo decide dove dividere e formare un nuovo ramo da una decisione, sulla base di più algoritmi. I dati sono suddivisi in regioni di sottonote, che si raccolgono attorno a tutte le variabili disponibili.
6. Foresta casuale
L' algoritmo della foresta casuale è un'altra forma di apprendimento automatico supervisionato . Produce più alberi decisionali, invece di uno solo come gli alberi di regressione. I nodi sono distribuiti in modo casuale e il loro ordine non ha alcun significato per i dati di output. Maggiore è la quantità degli alberi, più accurato è il risultato.
Questo tipo di algoritmo può essere utilizzato sia per la classificazione che per la regressione. Una delle straordinarie caratteristiche dell'algoritmo della foresta casuale è che può funzionare quando manca una grande proporzione dei dati . Ha anche il potere di lavorare con un grande set di dati.
Nel caso della regressione, questi algoritmi non sono la scelta migliore, perché non ha molto controllo su ciò che fa il modello.
Gli algoritmi Random Forest possono essere molto utili nell'e-commerce. Se hai bisogno di stabilire se ai tuoi clienti piacerà un particolare paio di scarpe, devi solo raccogliere informazioni sui loro acquisti precedenti.
Includi il tipo di scarpe, se avevano o meno un tacco, il sesso dell'acquirente e la fascia di prezzo delle precedenti paia che hanno ordinato. Questi saranno i tuoi dati di input.
L'algoritmo genererà alberi sufficienti per fornire una stima accurata.
Prego!
Ed ecco che arriva l'ultimo algoritmo del sistema ad albero:
7. AdaBoost
AdaBoost è l'abbreviazione di Adaptive Boosting. L'algoritmo ha vinto il Premio Godel nel 2003 per i suoi creatori.
Come i due precedenti, anche questo utilizza il sistema degli alberi. Solo invece di più nodi e foglie, gli alberi in AdaBoost producono solo 1 nodo e 2 foglie, ovvero un ceppo .
Gli algoritmi di AdaBoost differiscono sostanzialmente dagli alberi decisionali e dalle foreste casuali .
Vediamo:
Un algoritmo di albero decisionale utilizzerà molte variabili prima di produrre un output. Un moncone può utilizzare solo 1 variabile per prendere una decisione.
Nel caso di algoritmi forestali casuali , tutti gli alberi sono ugualmente importanti per la decisione finale. Gli algoritmi di AdaBoost danno la priorità ad alcuni ceppi rispetto ad altri.
E, ultimo ma non meno importante, gli alberi forestali casuali sono più caotici , per così dire. Ciò significa che la sequenza degli alberi è irrilevante. Il risultato non dipende dall'ordine in cui gli alberi sono stati prodotti. Al contrario, per gli algoritmi AdaBoost, l'ordine è essenziale.
Il risultato di ogni albero è la base per il successivo. Quindi, se c'è un errore lungo la strada, ogni albero successivo ne risente.
Bene, quindi cosa può fare questo algoritmo nella vita reale?
Gli algoritmi AdaBoost brillano già nel settore sanitario, dove i ricercatori li usano per misurare i rischi di malattia. Hai i dati, ma fattori diversi hanno gravità diversa. (Immagina di essere caduto sul tuo braccio e i tuoi medici usano un algoritmo per determinare se è rotto o meno. Se i dati di input contengono sia la radiografia del tuo braccio che una foto della tua unghia rotta... beh, è abbastanza ovvio quale moncone verrà data più importanza a.)
Ora, siamo fuori dalla foresta, per così dire, quindi diamo un'occhiata ad altri 3 tipi di algoritmi di apprendimento automatico:
8. Ingenuo Bayes
Questo è utile quando hai un problema di classificazione del testo . È l'algoritmo di apprendimento automatico utilizzato quando si ha a che fare con set di dati ad alta dimensione, come la filtrazione dello spam o la classificazione di articoli di notizie.
L'algoritmo porta questo nome di firma perché considera ogni variabile come indipendente. In altre parole, considera le diverse caratteristiche dei dati di input come completamente non correlate. Questo lo rende un classificatore probabilistico semplice ed efficace.
La parte "Bayes" del nome si riferisce all'uomo che ha inventato il teorema utilizzato per l'algoritmo, vale a dire - Thomas Bayes. Il suo teorema, come potresti sospettare, esamina la probabilità condizionata degli eventi.
Le probabilità sono calcolate su due livelli. Innanzitutto, la probabilità di ciascuna classe. E in secondo luogo, la probabilità condizionata in base a un dato fattore.
9. Imparare la quantizzazione dei vettori
L'algoritmo di apprendimento della quantizzazione del vettore, o LVQ, è uno degli algoritmi di apprendimento automatico più avanzati .
A differenza del kNN, l'algoritmo LVQ rappresenta un algoritmo di rete neurale artificiale . In altre parole, mira a ricreare la neurologia del cervello umano.
L'algoritmo LVQ utilizza una raccolta di vettori di codebook come rappresentazione. Questi sono fondamentalmente elenchi di numeri, che hanno le stesse qualità di input e output dei dati di allenamento.
10. Supporta le macchine vettoriali
Questi sono uno degli algoritmi di apprendimento automatico più popolari .
L'algoritmo Support Vector Machines è adatto a casi estremi di classificazioni . Significato: quando il confine decisionale dei dati di input non è chiaro. L'SVM funge da frontiera che meglio segrega le classi di input.
Le SVM possono essere utilizzate in set di dati multidimensionali. L'algoritmo trasforma lo spazio non lineare in uno spazio lineare. In 2 dimensioni puoi visualizzare le variabili come una linea e quindi avere un tempo più facile identificare le correlazioni.
Gli SVM sono già stati utilizzati in una varietà di campi nella vita reale:
- Nelle attività di imaging medico e classificazione medica
- Studiare la qualità dell'aria nelle aree maggiormente popolate
- Per aiutare con l'analisi finanziaria
- Algoritmi di ranking delle pagine per i motori di ricerca
- Per il riconoscimento di testi e oggetti.
Sembra il coltellino svizzero degli algoritmi ML, vero?
Incartare
Gli esseri umani e i computer possono lavorare insieme con successo.
I ricercatori ci assicurano che questa partnership può, e daranno risultati sorprendenti. Gli algoritmi di apprendimento automatico stanno già aiutando l'umanità in diversi modi.
Una delle funzioni più importanti dell'apprendimento automatico e degli algoritmi di intelligenza artificiale è classificare.
Vediamo ancora una volta i primi 10 algoritmi di machine learning in poche parole:
- Regressione lineare – utilizzata per stabilire la relazione tra 2 variabili – una variabile Regressione logistica : un classificatore binomiale, ci sono solo 2 possibili risultati di ogni query.
- Analisi discriminante lineare : funziona meglio per classificare i dati tra categorie note.
- K-Nearest Neighbor : classifica i dati in categorie.
- Alberi di regressione : utilizzati per la modellazione predittiva.
- Foresta casuale : utilizzata con set di dati di grandi dimensioni e quando manca una grande proporzione dei dati di input.
- AdaBoost – classificazioni binarie.
- Naive Bayes – modellazione predittiva.
- Quantizzazione vettoriale di apprendimento : un algoritmo di rete neurale artificiale.
- Support Vector Machines – casi estremi di classificazione in un dataset multidimensionale.
Tutti questi algoritmi (più quelli nuovi che devono ancora venire) getteranno le basi per una nuova era di prosperità per l'umanità. Renderà possibile (e anche necessario) un reddito di base universale per garantire la sopravvivenza delle persone meno capaci. (Chi altrimenti si ribellerà e rovinerà la nostra società. Oh, bene.)
Bene, chi avrebbe mai pensato che un articolo sugli algoritmi di apprendimento automatico sarebbe stato così stupido. Bene, per oggi era tutto.
A presto, ragazzi!
FAQ
L'apprendimento automatico è fantastico e fa luce sul futuro della tecnologia. Questo ha dei costi. Ad esempio, i computer che ospitano programmi di apprendimento automatico consumano quantità folli di elettricità e risorse. Un'altra lacuna dell'apprendimento automatico finora è stata l'occasionale disambiguazione delle entità. A volte le macchine non riescono a distinguere tra, diciamo, il nome di Anne Hathaway e il valore delle azioni di Berkshire Hathaway. Ogni volta che l'attrice riceve l'attenzione dei media, l'azienda guadagna soldi...
L'apprendimento automatico è un metodo di calcolo. Mentre gli algoritmi "tradizionali" hanno bisogno di un programmatore per scriverli, quelli di machine learning fondamentalmente si allenano da soli. Sì, non scherzo!
Dipende dal compito che devi svolgere. La scelta dell'algoritmo migliore per l'attività da svolgere dipende dalle dimensioni, dalla qualità e dalla diversità dell'input, nonché dal tipo di dati di output richiesti dall'utente.
Come ogni altra cosa, il processo inizia con la conoscenza delle basi dell'algoritmo che hai scelto per il tuo problema. Dovrai consultare diverse fonti di apprendimento e scegliere quella che funziona meglio per te. Quindi inizia suddividendo l'algoritmo in piccole unità. Inizia con un semplice esempio e quando acquisisci il controllo sulle cose, convalidi con un'implementazione affidabile. E poi completi l'intero processo. Probabilmente suona più difficile di quello che è. Ma vale assolutamente la pena provare!