Apprendimento automatico

L’apprendimento automatico (ML) è un campo di intelligenza artificiale che utilizza tecniche statistiche per fornire ai sistemi informatici la capacità di “apprendere” (ad esempio, migliorare progressivamente le prestazioni su un compito specifico) dai dati, senza essere programmato esplicitamente.

Il nome machine learning fu coniato nel 1959 da Arthur Samuel. L’apprendimento automatico esplora lo studio e la costruzione di algoritmi in grado di apprendere e fare previsioni sui dati – tali algoritmi superano seguendo rigorosamente le istruzioni del programma statico facendo previsioni o decisioni basate sui dati, attraverso la costruzione di un modello da input di esempio. L’apprendimento automatico è impiegato in una serie di compiti di calcolo in cui la progettazione e la programmazione di algoritmi espliciti con buone prestazioni sono difficili o non fattibili; Le applicazioni di esempio includono il filtro e-mail, il rilevamento di intrusi di rete e la visione artificiale.

L’apprendimento automatico è strettamente correlato (e spesso si sovrappone a) alle statistiche computazionali, che si concentra anche sul processo di previsione attraverso l’uso dei computer. Ha forti legami con l’ottimizzazione matematica, che fornisce metodi, teoria e domini applicativi sul campo. Talvolta l’apprendimento automatico è unito al data mining, dove quest’ultimo si focalizza maggiormente sull’analisi esplorativa dei dati ed è noto come apprendimento non supervisionato.

Nell’ambito dell’analisi dei dati, l’apprendimento automatico è un metodo utilizzato per elaborare modelli e algoritmi complessi che si prestano alla previsione; in uso commerciale, questo è noto come analisi predittiva. Questi modelli analitici consentono a ricercatori, scienziati, ingegneri e analisti di “produrre decisioni e risultati affidabili e ripetibili” e di scoprire “intuizioni nascoste” attraverso l’apprendimento delle relazioni storiche e delle tendenze dei dati.

Panoramica
Tom M. Mitchell ha fornito una definizione ampiamente formata e più formale degli algoritmi studiati nel campo dell’apprendimento automatico: “Si dice che un programma per computer apprende dall’esperienza E in relazione ad alcune classi di compiti T e alla misura della performance P se le sue prestazioni nei compiti in T, come misurato da P, migliora con l’esperienza E. ” Questa definizione dei compiti in cui è interessato l’apprendimento automatico offre una definizione fondamentalmente operativa piuttosto che definire il campo in termini cognitivi. Questo segue la proposta di Alan Turing nel suo documento “Computing Machinery and Intelligence”, in cui la domanda “Le macchine possono pensare?” viene sostituito con la domanda “Le macchine possono fare ciò che noi (come entità pensanti) possiamo fare?”. Nella proposta di Turing sono esposte le varie caratteristiche che potrebbero essere possedute da una macchina pensante e le varie implicazioni nella costruzione di una macchina.

Compiti di apprendimento automatico

Le attività di apprendimento automatico sono generalmente classificate in diverse ampie categorie:

Apprendimento supervisionato: al computer vengono presentati esempi di input e output desiderati, forniti da un “insegnante”, e l’obiettivo è di apprendere una regola generale che mappa gli input in output. Come casi speciali, il segnale di ingresso può essere solo parzialmente disponibile o limitato a un feedback speciale.
Apprendimento semi-supervisionato: al computer viene dato solo un segnale di allenamento incompleto: un set di allenamento con alcuni (spesso molti) degli output target mancanti.
Apprendimento attivo: il computer può ottenere solo etichette di formazione per un numero limitato di istanze (in base a un budget) e deve anche ottimizzare la scelta degli oggetti per l’acquisizione delle etichette. Se utilizzati in modo interattivo, questi possono essere presentati all’utente per l’etichettatura.
Apprendimento non supervisionato: non vengono fornite etichette all’algoritmo di apprendimento, lasciandolo da solo a trovare la struttura nel suo input. L’apprendimento senza supervisione può essere un obiettivo di per sé (scoprire schemi nascosti nei dati) o un mezzo verso un fine (apprendimento delle caratteristiche).
Apprendimento rinforzato: i dati (sotto forma di ricompense e punizioni) vengono forniti solo come feedback alle azioni del programma in un ambiente dinamico, come guidare un veicolo o giocare contro un avversario.

Applicazioni di apprendimento automatico
Un’altra classificazione dei compiti di apprendimento automatico sorge quando si considera l’output desiderato di un sistema appreso in macchina:
Nella classificazione, gli input sono divisi in due o più classi e lo studente deve produrre un modello che assegni input non visti a uno o più (classificazione multi-etichetta) di queste classi. Questo è generalmente affrontato in modo controllato. Il filtro antispam è un esempio di classificazione, in cui gli input sono messaggi di posta elettronica (o di altro tipo) e le classi sono “spam” e “non spam”.
Nella regressione, anche un problema supervisionato, le uscite sono continue piuttosto che discrete.
Nel clustering, una serie di input deve essere divisa in gruppi. A differenza della classificazione, i gruppi non sono noti in anticipo, rendendo questo in genere un compito non supervisionato.
La stima della densità trova la distribuzione degli input in qualche spazio.
La riduzione della dimensionale semplifica gli input mappandoli in uno spazio di dimensioni inferiori. La modellazione di argomenti è un problema correlato, in cui un programma riceve un elenco di documenti in lingua umana e ha il compito di scoprire quali documenti trattano argomenti simili.

Tra le altre categorie di problemi di apprendimento automatico, imparare a imparare impara il proprio pregiudizio induttivo basato sull’esperienza precedente. L’apprendimento evolutivo, elaborato per l’apprendimento robotico, genera le proprie sequenze (chiamate anche curriculum) delle situazioni di apprendimento per acquisire cumulativamente nuovi repertori di nuove capacità attraverso l’auto-esplorazione autonoma e l’interazione sociale con insegnanti umani e utilizzando meccanismi di guida come apprendimento attivo, maturazione, autismo sinergie e imitazioni.

Storia e relazioni con altri campi
Arthur Samuel, un pioniere americano nel campo dei giochi per computer e dell’intelligenza artificiale, ha coniato il termine “Machine Learning” nel 1959 mentre era in IBM. Come sforzo scientifico, l’apprendimento automatico è nato dalla ricerca dell’intelligenza artificiale. Già agli albori dell’IA come disciplina accademica, alcuni ricercatori erano interessati a far sì che le macchine imparassero dai dati. Hanno tentato di affrontare il problema con vari metodi simbolici, così come quelli che sono stati poi definiti “reti neurali”; questi erano per lo più percettori e altri modelli che in seguito furono scoperti come reinvenzione dei modelli lineari generalizzati di statistica. È stato anche utilizzato un ragionamento probabilistico, in particolare nella diagnosi medica automatizzata.

Tuttavia, un’enfasi crescente sull’approccio logico basato sulla conoscenza ha causato una frattura tra l’intelligenza artificiale e l’apprendimento automatico. I sistemi probabilistici erano afflitti da problemi teorici e pratici di acquisizione e rappresentazione dei dati. Nel 1980, i sistemi esperti erano arrivati ​​a dominare l’intelligenza artificiale e le statistiche non erano gradite. Il lavoro sull’apprendimento simbolico / basato sulla conoscenza è continuato all’interno dell’IA, portando a una programmazione logica induttiva, ma la linea di ricerca più statistica era ora al di fuori del campo della IA, nel riconoscimento di pattern e nel recupero di informazioni. La ricerca sulle reti neurali era stata abbandonata dall’IA e dall’informatica nello stesso periodo. Questa linea, inoltre, è stata continuata al di fuori del campo AI / CS, come “connessionismo”, da ricercatori di altre discipline come Hopfield, Rumelhart e Hinton. Il loro principale successo arrivò a metà degli anni ’80 con la reinvenzione del backpropagation.

L’apprendimento automatico, riorganizzato come campo separato, ha iniziato a prosperare negli anni ’90. Il campo cambiò il suo obiettivo dal raggiungimento dell’intelligenza artificiale per affrontare problemi risolvibili di natura pratica. Ha spostato l’attenzione lontano dagli approcci simbolici che aveva ereditato dall’IA e verso metodi e modelli presi in prestito dalla statistica e dalla teoria della probabilità. Ha inoltre beneficiato della crescente disponibilità di informazioni digitalizzate e della possibilità di distribuirlo via Internet.

L’apprendimento automatico e il data mining spesso utilizzano gli stessi metodi e si sovrappongono in modo significativo, ma mentre l’apprendimento automatico si concentra sulla previsione, sulla base delle proprietà conosciute apprese dai dati di addestramento, il data mining si concentra sulla scoperta di proprietà (precedentemente) sconosciute nei dati (questo è la fase di analisi della scoperta della conoscenza nei database). Il data mining utilizza molti metodi di machine learning, ma con obiettivi diversi; d’altra parte, l’apprendimento automatico impiega anche metodi di data mining come “apprendimento senza supervisione” o come fase di pre-elaborazione per migliorare la precisione dello studente. Gran parte della confusione tra queste due comunità di ricerca (che spesso hanno conferenze separate e riviste separate, ECML PKDD è una delle principali eccezioni) viene dalle assunzioni di base con cui lavorano: nell’apprendimento automatico, le prestazioni vengono solitamente valutate in relazione alla capacità di riprodurre conoscenze conosciute, mentre in knowledge discovery e data mining (KDD) il compito chiave è la scoperta di conoscenze precedentemente sconosciute. Valutato rispetto alle conoscenze conosciute, un metodo non informato (senza supervisione) sarà facilmente sovraperformato da altri metodi supervisionati, mentre in un tipico compito di KDD, i metodi supervisionati non possono essere utilizzati a causa della indisponibilità dei dati di addestramento.

L’apprendimento automatico ha anche legami intimi con l’ottimizzazione: molti problemi di apprendimento sono formulati come la minimizzazione di alcune funzioni di perdita su un insieme di esempi di formazione. Le funzioni di perdita esprimono la discrepanza tra le previsioni del modello in formazione e le istanze del problema reale (ad esempio, in classifica, si desidera assegnare un’etichetta alle istanze e i modelli sono addestrati per prevedere correttamente le etichette preassegnate di un set di esempi). La differenza tra i due campi deriva dall’obiettivo della generalizzazione: mentre gli algoritmi di ottimizzazione possono ridurre al minimo la perdita su un set di allenamento, l’apprendimento automatico si preoccupa di ridurre al minimo la perdita su campioni non visibili.

Relazione con le statistiche
L’apprendimento automatico e le statistiche sono campi strettamente correlati. Secondo Michael I. Jordan, le idee di machine learning, dai principi metodologici agli strumenti teorici, hanno avuto una lunga preistoria nelle statistiche. Ha anche suggerito il termine scienza dei dati come un segnaposto per chiamare il campo generale.

Leo Breiman ha distinto due paradigmi di modellazione statistica: modello di dati e modello algoritmico, in cui “modello algoritmico” significa più o meno gli algoritmi di apprendimento automatico come la foresta casuale.

Alcuni statistici hanno adottato metodi dall’apprendimento automatico, portando a un campo combinato che chiamano apprendimento statistico.

Teoria
Un obiettivo principale di un discente è quello di generalizzare dalla sua esperienza. La generalizzazione in questo contesto è la capacità di una macchina di apprendimento di eseguire con precisione su nuovi esempi / compiti non visti dopo aver sperimentato un set di dati di apprendimento. Gli esempi di addestramento provengono da una distribuzione di probabilità generalmente sconosciuta (considerata rappresentativa dello spazio delle occorrenze) e lo studente deve costruire un modello generale su questo spazio che gli consenta di produrre previsioni sufficientemente accurate in nuovi casi.

L’analisi computazionale degli algoritmi di apprendimento automatico e le loro prestazioni è una branca dell’informatica teorica nota come teoria dell’apprendimento computazionale. Poiché gli insiemi di formazione sono limitati e il futuro è incerto, la teoria dell’apprendimento di solito non offre garanzie sulle prestazioni degli algoritmi. Invece, i limiti probabilistici sulla performance sono abbastanza comuni. La scomposizione della varianza-bias è un modo per quantificare l’errore di generalizzazione.

Per le migliori prestazioni nel contesto della generalizzazione, la complessità dell’ipotesi dovrebbe corrispondere alla complessità della funzione sottostante ai dati. Se l’ipotesi è meno complessa della funzione, allora il modello ha sottomesso i dati. Se la complessità del modello aumenta in risposta, allora l’errore di allenamento diminuisce. Ma se l’ipotesi è troppo complessa, allora il modello è soggetto al sovradattamento e la generalizzazione sarà più scarsa.

Oltre ai limiti prestazionali, i teorici dell’apprendimento computazionale studiano la complessità temporale e la fattibilità dell’apprendimento. Nella teoria dell’apprendimento computazionale, un calcolo è considerato fattibile se può essere fatto in tempo polinomiale. Esistono due tipi di risultati di complessità temporale. Risultati positivi mostrano che una certa classe di funzioni può essere appresa in tempo polinomiale. Risultati negativi mostrano che alcune classi non possono essere apprese in tempo polinomiale.

approcci

Apprendimento dell’albero decisionale
L’albero decisionale utilizza un albero decisionale come modello predittivo, che mappa le osservazioni su un oggetto a conclusioni sul valore obiettivo dell’oggetto.

Apprendimento delle regole di associazione
L’apprendimento delle regole di associazione è un metodo per scoprire relazioni interessanti tra variabili in database di grandi dimensioni.

Reti neurali artificiali
Un algoritmo di apprendimento della rete neurale artificiale (ANN), solitamente chiamato “rete neurale” (NN), è un algoritmo di apprendimento vagamente ispirato alle reti neurali biologiche. I calcoli sono strutturati in termini di un gruppo interconnesso di neuroni artificiali, elaborando le informazioni usando un approccio connessionista al calcolo. Le moderne reti neurali sono strumenti di modellazione statistica dei dati non lineari. Solitamente vengono utilizzati per modellare relazioni complesse tra input e output, per trovare pattern nei dati o per acquisire la struttura statistica in una distribuzione di probabilità comune sconosciuta tra le variabili osservate.

Apprendimento approfondito
Il calo dei prezzi dell’hardware e lo sviluppo delle GPU per uso personale negli ultimi anni hanno contribuito allo sviluppo del concetto di apprendimento profondo che consiste in più livelli nascosti in una rete neurale artificiale. Questo approccio tenta di modellare il modo in cui il cervello umano elabora la luce e il suono in visione e udito. Alcune applicazioni di successo dell’apprendimento profondo sono la visione artificiale e il riconoscimento vocale.

Programmazione logica induttiva
La programmazione logica induttiva (ILP) è un approccio all’apprendimento delle regole che utilizza la programmazione logica come una rappresentazione uniforme per esempi di input, conoscenze di base e ipotesi. Data una codifica della conoscenza di base conosciuta e un insieme di esempi rappresentati come un database logico di fatti, un sistema ILP ricaverà un ipotetico programma logico che comporta tutti gli esempi positivi e non negativi. La programmazione induttiva è un campo correlato che considera qualsiasi tipo di linguaggi di programmazione per rappresentare le ipotesi (e non solo la programmazione logica), come i programmi funzionali.

Supporta macchine vettoriali
Le macchine di supporto vettoriale (SVM) sono un insieme di metodi di apprendimento supervisionati correlati utilizzati per la classificazione e la regressione. Dato un insieme di esempi di addestramento, ciascuno contrassegnato come appartenente a una delle due categorie, un algoritmo di addestramento SVM crea un modello che prevede se un nuovo esempio rientra in una categoria o nell’altra.

Clustering
L’analisi del cluster è l’assegnazione di un insieme di osservazioni in sottoinsiemi (chiamati cluster) in modo che le osservazioni all’interno dello stesso cluster siano simili secondo alcuni criteri o criteri predesignati, mentre le osservazioni tratte da diversi cluster sono dissimili. Diverse tecniche di clustering fanno ipotesi diverse sulla struttura dei dati, spesso definite da alcune metriche di similarità e valutate ad esempio dalla compattezza interna (similarità tra i membri dello stesso cluster) e dalla separazione tra cluster diversi. Altri metodi si basano sulla densità stimata e sulla connettività del grafico. Il clustering è un metodo di apprendimento non supervisionato e una tecnica comune per l’analisi dei dati statistici.

Reti bayesiane
Una rete bayesiana, una rete di credenze o un modello grafico aciclico diretto è un modello grafico probabilistico che rappresenta un insieme di variabili casuali e le loro indipendenti indipendenti tramite un grafico aciclico diretto (DAG). Ad esempio, una rete bayesiana potrebbe rappresentare le relazioni probabilistiche tra malattie e sintomi. Dati i sintomi, la rete può essere utilizzata per calcolare le probabilità della presenza di varie malattie. Esistono algoritmi efficienti che eseguono l’inferenza e l’apprendimento.

Rappresentazione di apprendimento
Diversi algoritmi di apprendimento, per lo più algoritmi di apprendimento non supervisionati, mirano a scoprire rappresentazioni migliori degli input forniti durante l’allenamento. Gli esempi classici includono l’analisi delle componenti principali e l’analisi dei cluster. Gli algoritmi di apprendimento di rappresentazione spesso tentano di conservare le informazioni nei loro input, ma di trasformarle in un modo che lo renda utile, spesso come fase di pre-elaborazione prima di eseguire la classificazione o le previsioni, consentendo la ricostruzione degli input provenienti dalla distribuzione di dati sconosciuti, mentre non essere necessariamente fedele per configurazioni non plausibili sotto quella distribuzione.

Gli algoritmi di apprendimento collettore tentano di farlo sotto il vincolo che la rappresentazione appresa è a bassa dimensione. Gli algoritmi di codifica sparsi tentano di farlo sotto il vincolo che la rappresentazione appresa è sparsa (ha molti zeri). Gli algoritmi di apprendimento subspaziale multilineare mirano ad apprendere rappresentazioni a bassa dimensione direttamente dalle rappresentazioni tensoriali per dati multidimensionali, senza ridisegnarli in vettori (ad alta dimensione). Gli algoritmi di deep learning scoprono più livelli di rappresentazione o una gerarchia di funzioni, con funzioni di livello più elevato e più astratte definite in termini di (o generazione) di funzioni di livello inferiore. È stato sostenuto che una macchina intelligente è quella che apprende una rappresentazione che districa i fattori di variazione sottostanti che spiegano i dati osservati.

Somiglianza e apprendimento metrico
In questo problema, alla macchina di apprendimento vengono date coppie di esempi che sono considerati simili e coppie di oggetti meno simili. Quindi ha bisogno di imparare una funzione di similarità (o una funzione metrica di distanza) che può prevedere se i nuovi oggetti sono simili. A volte è usato nei sistemi di raccomandazione.

Apprendimento scarso del dizionario
In questo metodo, un dato è rappresentato come una combinazione lineare di funzioni di base e si assume che i coefficienti siano sparsi. Sia x un dato d-dimensionale, D sia una matrice d per n, in cui ogni colonna di D rappresenta una funzione di base. r è il coefficiente per rappresentare x usando D. Matematicamente, l’apprendimento sparse del dizionario significa risolvere dove r è sparse. In generale, si assume che n sia più grande di d per consentire la libertà di una rappresentazione sparsa.

L’apprendimento di un dizionario insieme a rappresentazioni sparse è fortemente NP-difficile e anche difficile da risolvere approssimativamente. Un metodo euristico popolare per l’apprendimento di dizionari sparsi è K-SVD.

L’apprendimento del dizionario scarso è stato applicato in diversi contesti. In classifica, il problema è determinare a quali classi appartiene un dato mai visto prima. Supponiamo che un dizionario per ogni classe sia già stato costruito. Quindi un nuovo dato è associato alla classe in modo tale che sia meglio rappresentato scarsamente dal dizionario corrispondente. L’apprendimento discreto del dizionario è stato applicato anche al de-noising delle immagini. L’idea chiave è che una patch di immagine pulita può essere scarsamente rappresentata da un dizionario di immagini, ma il rumore non può.

Algoritmi genetici
Un algoritmo genetico (GA) è un’euristica della ricerca che imita il processo di selezione naturale e utilizza metodi come la mutazione e il crossover per generare un nuovo genotipo nella speranza di trovare buone soluzioni per un determinato problema. Nell’apprendimento automatico, gli algoritmi genetici hanno trovato alcuni usi negli anni ’80 e ’90. Al contrario, le tecniche di machine learning sono state utilizzate per migliorare le prestazioni degli algoritmi genetici ed evolutivi.

Machine learning basato su regole
L’apprendimento automatico basato su regole è un termine generale per qualsiasi metodo di apprendimento automatico che identifica, apprende o evolve “regole” per archiviare, manipolare o applicare la conoscenza. La caratteristica che definisce uno studente di macchina basato su regole è l’identificazione e l’utilizzo di un insieme di regole relazionali che rappresentano collettivamente la conoscenza acquisita dal sistema. Ciò è in contrasto con altri utenti di macchine che identificano comunemente un modello singolare che può essere applicato universalmente a qualsiasi istanza per fare una previsione. Gli approcci di apprendimento automatico basati su regole includono sistemi di classificazione dell’apprendimento, apprendimento delle regole di associazione e sistemi immunitari artificiali.

Sistemi di classificazione di apprendimento
I sistemi di classificazione dell’apprendimento (LCS) sono una famiglia di algoritmi di apprendimento automatico basati su regole che combinano un componente di scoperta (ad esempio un algoritmo genetico) con un componente di apprendimento (esecuzione dell’apprendimento supervisionato, apprendimento di rinforzo o apprendimento non supervisionato). Cercano di identificare un insieme di regole dipendenti dal contesto che collettivamente memorizzano e applicano le conoscenze in modo a tratti al fine di fare previsioni.

applicazioni
Le applicazioni per l’apprendimento automatico includono:

agricoltura
Dimostrazione automatica del teorema
Siti Web adattivi
Calcolo affettivo
Bioinformatica
Interfacce cervello-macchina
Cheminformatics
Classificazione delle sequenze di DNA
Anatomia computazionale
Reti di computer
Telecomunicazione
Computer vision, incluso il riconoscimento degli oggetti
Rilevazione di frodi con carta di credito
Gioco generale
Recupero delle informazioni
Rilevamento di frodi su Internet
Linguistica computazionale
Marketing
Controllo dell’apprendimento automatico
Percezione della macchina
Diagnosi medica automatizzata
Economia computazionale
Assicurazione
Elaborazione del linguaggio naturale
Comprensione del linguaggio naturale
Ottimizzazione e meta-realistica
Pubblicità online
Sistemi di raccomandazione
Locomozione robot
Motori di ricerca
Analisi del sentiment (o opinion mining)
Estrazione di sequenza
Ingegneria software
Riconoscimento vocale e calligrafico
Analisi del mercato finanziario
Monitoraggio strutturale della salute
Riconoscimento del pattern sintattico
Previsione delle serie temporali
Analisi del comportamento degli utenti
Traduzione automatica

Nel 2006, la società di film online Netflix ha organizzato il primo concorso “Netflix Prize” per trovare un programma per prevedere meglio le preferenze degli utenti e migliorare l’accuratezza dell’algoritmo Cinematch esistente di almeno il 10%. Un team congiunto composto da ricercatori di AT & T Labs-Research in collaborazione con i team Big Chaos e Pragmatic Theory ha costruito un modello d’insieme per vincere il Gran Premio nel 2009 per $ 1 milione. Poco dopo la premiazione, Netflix si è resa conto che le valutazioni degli spettatori non erano i migliori indicatori dei loro schemi di visualizzazione (“tutto è una raccomandazione”) e hanno modificato il loro motore di raccomandazione di conseguenza.

Nel 2010 The Wall Street Journal ha scritto sulla ditta Rebellion Research e sul loro uso di Machine Learning per prevedere la crisi finanziaria.

Nel 2012, il co-fondatore di Sun Microsystems Vinod Khosla ha previsto che l’80% dei lavori medici sarebbe andato perso nei due decenni successivi al software di diagnostica automatica per l’apprendimento automatico delle macchine.

Nel 2014 è stato riferito che un algoritmo di apprendimento automatico è stato applicato nella storia dell’arte per studiare i dipinti di fine art, e che potrebbe aver rivelato influenze precedentemente non riconosciute tra gli artisti.

limitazioni
Sebbene l’apprendimento automatico sia stato trasformativo in alcuni campi, l’apprendimento automatico efficace è difficile perché la ricerca di schemi è difficile e spesso non sono disponibili dati di formazione sufficienti; di conseguenza, molti programmi di apprendimento automatico spesso non riescono a fornire il valore previsto. I motivi di ciò sono numerosi: mancanza di dati (adeguati), mancanza di accesso ai dati, distorsione dei dati, problemi di privacy, attività e algoritmi scelti male, strumenti e persone sbagliati, mancanza di risorse e problemi di valutazione.

Nel 2018, un’automobile a guida autonoma di Uber non riuscì a individuare un pedone, che fu ucciso nell’incidente. I tentativi di utilizzare l’apprendimento automatico nell’assistenza sanitaria con il sistema IBM Watson non sono riusciti a fornire risultati anche dopo anni e miliardi di investimenti.

pregiudizio
Gli approcci di apprendimento automatico in particolare possono soffrire di distorsioni di dati diversi. Un sistema di apprendimento automatico addestrato solo sui tuoi attuali clienti potrebbe non essere in grado di prevedere le esigenze di nuovi gruppi di clienti che non sono rappresentati nei dati di addestramento. Quando viene addestrato su dati creati dall’uomo, è probabile che l’apprendimento automatico assuma gli stessi pregiudizi costituzionali e inconsci già presenti nella società. I modelli linguistici appresi dai dati hanno dimostrato di contenere pregiudizi simili a quelli umani. I sistemi di apprendimento automatico utilizzati per la valutazione del rischio criminale sono stati giudicati di parte dai neri. Nel 2015, le foto di Google spesso etichettavano i neri come gorilla e nel 2018 questo non era ancora ben risolto, ma Google stava ancora usando la soluzione alternativa per rimuovere tutto il gorilla dai dati di addestramento, e quindi non era in grado di riconoscere i veri gorilla a tutti. Problemi simili con il riconoscimento dei non-bianchi sono stati trovati in molti altri sistemi. Nel 2016, Microsoft ha testato un chatbot che ha imparato da Twitter e ha rapidamente acquisito un linguaggio razzista e sessista. A causa di tali sfide, l’uso efficace dell’apprendimento automatico potrebbe richiedere più tempo per essere adottato in altri domini.

Valutazioni del modello
I modelli di machine learning di classificazione possono essere convalidati mediante tecniche di stima della precisione come il metodo Holdout, che suddivide i dati in un set di training e test (convenzionalmente 2/3 training set e 1/3 test set designation) e valuta le prestazioni del modello di training su il set di prova. In confronto, il metodo N-fold-cross-validation divide casualmente i dati in k sottoinsiemi in cui le istanze k-1 dei dati vengono utilizzate per addestrare il modello mentre l’istanza kth viene utilizzata per testare la capacità predittiva del modello di allenamento. Oltre ai metodi di holdout e di convalida incrociata, è possibile utilizzare il bootstrap, che campiona n istanze con la sostituzione dal set di dati, per valutare l’accuratezza del modello.

Oltre all’accuratezza complessiva, gli investigatori riferiscono frequentemente sensibilità e specificità che indicano rispettivamente il tasso positivo reale (TPR) e il tasso negativo reale (TNR). Allo stesso modo, gli investigatori a volte riportano il False Positive Rate (FPR) e il False Negative Rate (FNR). Tuttavia, queste percentuali sono percentuali che non riescono a rivelare i loro numeratori e denominatori. Il Total Operating Characteristic (TOC) è un metodo efficace per esprimere la capacità diagnostica di un modello. TOC mostra i numeratori e i denominatori delle percentuali menzionate in precedenza, pertanto il TOC fornisce più informazioni rispetto al comunemente utilizzato Receiver Operating Characteristic (ROC) e Area associata Under Curve (AUC) della ROC.

Etica
L’apprendimento automatico pone una serie di domande etiche. I sistemi che sono addestrati su set di dati raccolti con bias possono mostrare questi pregiudizi al momento dell’uso (bias algoritmico), digitalizzando così i pregiudizi culturali. Ad esempio, l’utilizzo di dati di assunzione di lavoro da un’azienda con politiche di assunzione razzista può portare a un sistema di apprendimento automatico che duplica il pregiudizio, valutando i candidati di lavoro rispetto alla somiglianza con i precedenti candidati di successo. La raccolta responsabile dei dati e la documentazione delle regole algoritmiche utilizzate da un sistema costituiscono quindi una parte fondamentale dell’apprendimento automatico.

Poiché la lingua contiene pregiudizi, le macchine addestrate sui corpora linguistici apprenderanno necessariamente anche pregiudizi.

Altre forme di sfide etiche, non correlate ai pregiudizi personali, sono più visibili nell’assistenza sanitaria. Ci sono preoccupazioni tra gli operatori sanitari che questi sistemi potrebbero non essere progettati nell’interesse pubblico, ma come macchine che generano reddito. Questo è particolarmente vero negli Stati Uniti dove c’è un dilemma etico perpetuo nel migliorare l’assistenza sanitaria, ma anche aumentare i profitti. Ad esempio, gli algoritmi potrebbero essere progettati per fornire ai pazienti test o farmaci non necessari in cui i possessori di algoritmo detengono partecipazioni. C’è un enorme potenziale di apprendimento automatico nell’assistenza sanitaria per fornire ai professionisti un ottimo strumento per diagnosticare, medicare e persino pianificare percorsi di recupero per i pazienti, ma questo non accadrà fino a quando i pregiudizi personali menzionati in precedenza, e questi pregiudizi di “avidità” sono indirizzati.

Software
Le suite software che contengono una varietà di algoritmi di apprendimento automatico includono quanto segue:

Software gratuito e open-source
CNTK
Deeplearning4j
Elki
H2O
mahout
Maglio
mlpack
MXNet
OpenNN
arancia
scikit-learn
Shogun
Spark MLlib
tensorflow
Torcia / PyTorch
Weka / MOA
Yooreeka

Software proprietario con edizioni gratuite e open-source
KNIME
RapidMiner

Software proprietario
Amazon Machine Learning
Conoscenza di AngossSTUDIO
Ayasdi
IBM Data Science Experience
Google Prediction API
IBM SPSS Modeler
KXEN Modeler
LIONsolver
matematica
MATLAB
Pitone
Microsoft Azure Machine Learning
Designer neurale
NeuroSolutions
Oracle Data Mining
Servizio cloud della piattaforma AI di Oracle
rcase
SAS Enterprise Miner
SequenceL
Splunk
STATISTICA Data Miner