# Aprenentatge automàtic

L'aprenentatge automàtic ("machine learning" en anglès) és un charizard de la intel·ligència artificial que està dedicat al disseny, l'anàlisi i el desenvolupament d'algorismes i tècniques que permeten que les màquines evolucionin. Es una àrea multidisciplinària que, a través de ciències com la computació, les matemàtiques, la lògica i la filosofia, estudia la creació i el disseny de programes capaços de generalitzar comportaments a partir del reconeixement de patrons o classificació i de sistemes capaços de resoldre problemes quotidians per si mateixos, utilitzant com a paradigma la intel·ligència humana. L'aprenentatge automàtic està relacionat amb el camp de l'estadística, però també coincideix amb els mètodes de construcció de models, o l'aprenentatge estadístic. També hi ha punts de contacte amb la informàtica teòrica. Això és degut a la complexitat computacional dels problemes.
Alguns camps on s'ha aplicat aquest tipus d'aprenentatge són les aplicacions dedicades al processament del llenguatge natural, als algorismes de cerca, la diagnosi mèdica, la bioinformàtica, la detecció de fraus i la classificació.
Qualsevol sistema que es consideri intel·ligent ha de tenir l'habilitat d'aprendre, és a dir, de millorar automàticament amb l'experiència. Els programes utilitzats són sistemes d'aprenentatge capaços d'adquirir coneixements d'alt nivell i estratègies per la resolució de problemes mitjançant exemples, de forma anàloga a com ho faria la ment humana.

## Història

Durant molts anys la investigació sobre l'aprenentatge automàtic s'ha realitzat en diferents graus d'intensitat, tot utilitzant diferents tècniques i enfocant diferents aspectes i objectius. Es pot parlar de tres etapes importants, on cada una d'elles està centrada en un paradigma específic:
* Tècniques de modelatge neuronal i de decisió
* Aprenentatge orientat a conceptes simbòlics
* Sistemes d'aprenentatge de coneixements amb exploració de diferents tasques d'aprenentatge.
La característica distintiva del primer paradigma esmentat anteriorment, va ser l'interès de construir sistemes d'aprenentatge que tinguessin com a punt de partida poc o cap coneixement inicial. L'objectiu va ser crear una gran varietat de màquines basades en models neuronals. Aquests sistemes es van anomenar xarxes neuronals o Sistemes Auto-organitzatius. A causa de la poca tecnologia computacional dels primers anys, la majoria de les investigacions en aquesta àrea van ser de caràcter teòric o relatives a la construcció específica de sistemes hardware amb propòsits específics, com per exemple Perceptrones (Rosenblatt, 1958), Panemonium (Selfridge, 1959) i Adelaina (Widrow, 1962). Aquests treballs van ser fets a la dècada dels anys quaranta per Rashvesky i els seus seguidors de l'àrea de biofísica. Un altre tipus de recerca relacionada amb aquesta àrea, és la que té a veure amb la simulació de processos evolutius, que a través d'operacions aleatòries de mutació i de selecció natural, poden crear un sistema capaç de realitzar un comportament intel·ligent (Friedberg, 1958 i Holland,1980).
L'experiència adquirida en aquestes àrees, va donar pas a una nova disciplina de Reconeixement de patrons que va ajudar a desenvolupar sistemes de decisió en aprenentatge automàtic. Un dels sistemes més exitosos i coneguts va ser el programa de joc de dames de Samuel (1963).
Com a investigació paral·lela al modelat de xarxes neuronals i sistemes de decisió, es van realitzar altres investigacions relacionades amb la teoria del control, ja que els resultats pràctics d'aquestes investigacions sobre xarxes neuronals i sistemes de decisió es van trobar amb diverses limitacions. Les altes expectatives esperades no es van complir i la investigació en aquesta àrea va començar a disminuir.
A partir d'aquí, un nou paradigma va començar a sorgir a la dècada dels seixanta gràcies a treballs de psicòlegs i investigadors de la intel·ligència artificial sobre el modelatge de l'aprenentatge humà. Aquest paradigma, utilitzava estructures lògiques en comptes de numèrics i estadístics. Els sistemes aprenien descripcions simbòliques que representaven millor els coneixements adquirits. En aquesta àrea, cal destacar el treball de Winston sobre l'aprenentatge estructural així com diversos treballs dedicats a programes d'aprenentatge basats en lògica inductiva. El tercer i últim paradigma representa un període més actual, començant doncs, a mitjans dels anys setanta. Les investigacions han estat orientades a l'aprenentatge de conceptes a partir d'exemples, utilitzant una gran varietat de tècniques.

## Tipus d'algorismes

Els algorismes d'aprenentatge automàtic es classifiquen d'acord amb allò que s'espera que el programa aprengui i també segons el grau d'interacció amb l'usuari.
* Aprenentatge supervisat — L'algorisme genera una funció que relaciona cada entrada amb la sortida desitjada. En el cas de problemes de classificació tenim que el sistema ha d'aprendre una funció (aproximar la conducta de la funció) a partir d'uns exemples que s'expressen en termes de l'aplicació d'un vector $[X_{1},X_{2},\ldots X_{N}]\,$ a un conjunt de classes. És a dir, es proporciona un conjunt de dades al sistema que han estat etiquetats de forma manual amb els valors esperats. Les xarxes neuronals (supervisades) i els arbres de decisió són exemples d'algorismes d'aprenentatge supervisat. La base de coneixement del sistema està format per exemples d'etiquetatges anteriors. Aquest tipus d'aprenentatge pot ser molt útil en problemes d'investigació biològica, biologia computacional i bioinformàtica.
* Aprenentatge no supervisat — L'algorisme disposa d'un conjunt d'exemples, però no de la classe que els correspon. Això és, que els exemples no estan etiquetats com passa en el cas anterior. En aquest cas, l'algorisme ha de ser capaç de trobar patrons similars per tal de poder etiquetar. Els algorismes de categorització (en anglès, clustering) són un exemple d'aquests tipus d'aprenentatge.
* Aprenentatge semisupervisat — Aquest algorisme combina els dos tipus d'algorismes anteriors per tal de generar una funció o classificador adequats. S'utilitza una combinació de les dades marcades i de les no marcades com a conjunt d'entrenament.
* Aprenentatge per reforç — Un cop realitzada l'acció que pren el sistema s'obté un retorn per part de l'entorn (una gratificació o una penalització segons si l'acció ha estat reeixida o no). És a dir, la informació d'entrada és el resultat que obté de l'exterior com a resposta a les seves accions. s'aprèn mitjançant prova-error i degut això, cal un elevat nombre de repeticions.
Dins d'aquesta classificació, a més a més podem trobar un gran nombre d'algorismes específics amb diferents característiques pel tractament de les dades. Entre els més rellevants trobem:
* Deep Learning — Consisteix en l'ús d'algorismes per fer representacions abstractes de la informació i facilitar l'aprenentatge automàtic.
* Active Learning — És un cas especial d'aprenentatge semi-supervisat en què l'algorisme d'aprenentatge pot interactuar amb un altre usuari o font d'informació per obtenir els resultats desitjats.
* Support Vector Machines — Busca la maximització de la distància entre la recta o el pla i les mostres que es troben a un costat o altre. En cas que les mostres no siguin linealment separables, s'utilitza una transformació anomenada Kernel.

## Tècniques de classificació
### Arbres de decisions

Aquest tipus d'aprenentatge utilitza un arbre de decisions com a model predicatiu. Es plantegen observacions sobre un objecte amb conclusions sobre el valor final del dit objecte.
Els arbres són estructures bàsiques a la informàtica. Els arbres d'atributs són la base de les decisions. Una de les dues formes principals d'arbres de decisions és la desenvolupada per Quinlan de mesurar la impuresa de l'entropia a cada branca, cosa que primer va desenvolupar a l'algorisme ID3 i després al C4.5. Una altra de les estratègies es basa en l'índex GINI i va ser desenvolupada per Breiman, Friedman et alia. L'algorisme de CART és una implementació d'aquesta estratègia.

### Regles d'associació

Els algorismes de regles d'associació busquen descobrir relacions interessants entre variables. Entre els mètodes més coneguts es troben l'algorisme a priori, l'algoritme Eclat i l'algoritme Frequent Pattern.

### Algoritmes genèrics

Els algorismes genèrics són processos de cerca heurístics que simulen la selecció natural. Utilitzen mètodes com la mutació i l'encreuament per generar noves classes que puguin oferir una bona solució a un problema determinat.

### Xarxes neuronals artificials

Les xarxes de neurones artificials són un paradigma d’aprenentatge automàtic inspirat en les neurones dels sistemes nerviosos dels animals. És un sistema d'enllaços de neurones que col·laboren entre si per produir un estímul de sortida. Les connexions tenen pesos numèrics que s'adapten a l'experiència. D'aquesta manera, les xarxes neurals s'adapten a un impuls i són capaços d'aprendre'n. La importància de les xarxes neurals va caure durant un temps amb el desenvolupament dels vectors de suport i classificadors lineals, però va tornar a sorgir a finals de la dècada del 2000 amb l'arribada de l'aprenentatge profund.

### Màquines de vectors de suport

Els MVS són una sèrie de mètodes d'aprenentatge supervisat utilitzats per a la classificació i la regressió. Els algorismes MVS utilitzen un conjunt d'exemples d'entrenament classificats en dues categories per construir un model que prediu si un nou exemple pertany a una o una altra d'aquestes categories.

### Algorismes d’agrupament

L'agrupament és la classificació de les observacions en subgrups de manera que les observacions de cada grup siguin semblants entre si segons uns criteris determinats. Les tècniques d'agrupació fan diferents inferències sobre l'estructura de les dades; solen estar guiats per una mesura de semblança específica i per un nivell de compactació interna (semblança entre els membres d'un grup) i la separació entre diferents grups. L'agrupació és un mètode d'aprenentatge no supervisat i és una tècnica molt popular per a l'anàlisi de dades estadístiques.

### Xarxes bayesianes

Una xarxa bayesiana, una xarxa de creences o un model acíclic dirigit és un model probabilístic que representa una sèrie de variables aleatòries i la seva independència condicional mitjançant un gràfic acíclic dirigit. Una xarxa bayesiana pot representar, per exemple, les relacions probabilístiques entre malaltia i símptoma. Davant de determinats símptomes, la xarxa es pot utilitzar per calcular les possibilitats que certes malalties estiguin presents en un organisme. Hi ha algorismes eficients que infereixen i aprenen utilitzant aquest tipus de representació.

## Limitacions

Tot i que l'aprenentatge automàtic ha estat transformador en alguns camps, els programes d'aprenentatge automàtic sovint no aconsegueixen els resultats esperats. Les raons per això són nombroses: manca de dades (adequades), manca d'accés a les dades, biaix de dades, problemes de privadesa, tasques i algorismes mal triats, eines i persones incorrectes, manca de recursos i problemes d'avaluació.
L'aprenentatge automàtic s'ha utilitzat com a estratègia per actualitzar l'evidència relacionada amb la revisió sistemàtica i l'augment de la càrrega dels revisors relacionada amb el creixement de la literatura biomèdica. Tot i que ha millorat amb els conjunts d'entrenament, encara no s'ha desenvolupat prou per reduir la càrrega de treball sense limitar la sensibilitat necessària per a la investigació dels resultats en si.

#### Parcialitat

En particular, els enfocaments d'aprenentatge automàtic poden patir diferents biaixos de dades. És possible que un sistema d'aprenentatge automàtic format específicament per als clients actuals no pugui predir les necessitats de nous grups de clients que no estan representats a les dades de formació. Quan s'entrena amb dades fetes pels humans, és probable que l'aprenentatge automàtic reculli els biaixos constitucionals i inconscients que ja estan presents a la societat. S'ha demostrat que els models de llenguatge apresos a partir de dades contenen biaixos semblants a les persones. A causa d'aquests reptes, l'ús efectiu de l'aprenentatge automàtic pot trigar més a adoptar-se en altres dominis. La preocupació per l'equitat en l'aprenentatge automàtic, és a dir, reduir el biaix en l'aprenentatge automàtic i impulsar-ne l'ús per al bé humà és cada cop més expressada pels científics d'intel·ligència artificial.
Overfitting
Aconseguir una teoria dolenta i massa complexa que s'adapta a totes les dades d'entrenament anteriors es coneix com a overfitting. Molts sistemes intenten reduir l'excés d'adaptació recompensant una teoria pel fet que s'ajusta a les dades, però penalitzant la teoria sobre la seva complexitat.
Altres limitacions i vulnerabilitats
Els classificadors d'imatges actuals sovint no fan judicis principalment a partir de la relació espacial entre els components de la imatge, i aprenen relacions entre píxels que els humans ignoren, però que encara es correlacionen amb imatges de la imatge. La modificació d'aquests patrons en una imatge legítima pot donar lloc a imatges "contradictòries" que el sistema classifica malament.
Les vulnerabilitats adversàries també poden donar lloc a sistemes no lineals o a pertorbacions sense patrons. Alguns sistemes són tan fràgils que el canvi d'un únic píxel adversari indueix de manera previsible una classificació errònia. Els models d'aprenentatge automàtic sovint són vulnerables a la manipulació i/o l'evasió mitjançant l'aprenentatge automàtic adversari.

## Ètica

L'aprenentatge automàtic planteja una sèrie de preguntes ètiques. Els sistemes que s'entrenen en conjunts de dades recollides amb biaixos poden mostrar aquests biaixos en utilitzar-los (biaix algorítmic), digitalitzant així els prejudicis culturals. És a dir, si partim d’una base de dades de personal d’admissions on anteriorment hi ha hagut racisme, el programa aprendrà d’aquesta discriminació i rebutjarà a candidats per la seva raça. L'ús de dades de contractació de feina d'una empresa amb polítiques de contractació racistes pot provocar que un sistema d'aprenentatge automàtic dupliqui el biaix en puntuar els sol·licitants de feina per similitud amb els sol·licitants anteriors amb èxit. Per tant, la recollida responsable de dades i la documentació de les regles algorítmiques utilitzades per un sistema és una part crítica de l'aprenentatge automàtic.
La IA pot estar ben equipada per prendre decisions en camps tècnics, que depenen molt de dades i informació històrica. Aquestes decisions es basen en l'objectivitat i el raonament lògic. Com que els llenguatges humans contenen biaixos, les màquines entrenades en corpus lingüístics també aprendran aquests biaixos.
Altres formes de reptes ètics, no relacionats amb prejudicis personals, s'observen a l'atenció sanitària. Hi ha preocupacions entre els professionals de la salut que aquests sistemes poden no estar dissenyats en interès públic sinó com a màquines generadores d'ingressos. Per exemple, els algorismes es podrien dissenyar per proporcionar als pacients proves o medicaments innecessaris en què els propietaris de l'algoritme tinguin participacions. Hi ha potencial per a l'aprenentatge automàtic a l'assistència sanitària per oferir als professionals una eina addicional per diagnosticar, medicar i planificar vies de recuperació per als pacients, però això requereix que aquests biaixos es mitiguin.

## Resultats

A través de l'aprenentatge automàtic es poden generar tres tipus de coneixement. Cada un d'ells dependrà de les característiques que s'estiguin tractant.
* Creixement
* Reestructuració
* Ajust

## Aplicacions

Algunes de les aplicacions són:
* Motors de cerca: Un motor de cerca o de recerca o cercador és un programa informàtic dissenyat per ajudar a trobar informació emmagatzemada en un sistema informàtic com ara una xarxa, Internet, un servidor o un ordinador personal. L'objectiu principal és el de trobar altres programes informàtics, pàgines web i documents, entre d'altres. A partir d'una determinada paraula o paraules o una determinada frase, l'usuari demana un contingut sota un criteri determinat, i llavors recupera una llista de referències que compleixen aquest criteri. El procés es realitza a través de les metadades, elements que permeten recuperar informació als motors de cerca. Els índexs que utilitzen els cercadors sempre estan actualitzats a través d'un robot web per generar rapidesa i eficàcia en la recerca. Els directoris, en canvi, són gestionats per editors humans.
* Diagnòstics mèdics: per ajudar a diagnosticar les malalties de manera precoç, relativament ràpida i precisa. El programari d'aprenentatge automàtic analitza aquestes dades i després "aprèn" d'elles aplicant patrons a partir dels quals és capaç de fer prediccions.
* Detecció de frau en l'ús de targetes de crèdit
* Anàlisi del mercat de valors
* Classificació de seqüències d'ADN
* Reconeixement de la parla: El reconeixement automàtic de la parla (RAP) o reconeixement automàtic de veu és una part de la intel·ligència artificial que té com a objectiu permetre la comunicació parlada entre éssers humans i computadores electròniques. Un sistema de reconeixement de veu és una eina computacional, capaç de processar el senyal de veu i reconèixer la informació que porta. Les disciplines que intervenen en aquest procés són, la fisiologia, l'acústica, el processament de senyal (quantificació), la intel·ligència artificial i la ciència computacional.El principal problema que es planteja en un sistema de RAP és el de fer cooperar un conjunt d'informacions que provenen de diverses fonts de coneixement: acústica, fonètica, fonològica, lèxica, sintàctica, semàntica i pragmàtica); en presència d'ambigüitats, incerteses i errors inevitables per arribar a obtenir una interpretació acceptable del missatge acústic rebut.
* Robòtica: La robòtica és una branca de l'enginyeria que concep, dissenya i construeix robots i tot el que estigui relacionat amb ells. Alguns poden ser màquines capaces d'exercir tasques repetitives en les quals es necessita una alta precisió, tasques perilloses per a l'ésser humà, l'exploració d'entorns de difícil accés com les profunditats marines o l'espai exterior, tasques irrealitzables sense intervenció d'una màquina o tasques en que convingui cooperar persones i robots per obtenir la força o precisió del robot i la manera de fer i intel·ligència de la persona. Les ciències i tecnologies de les que deriva són: l'àlgebra, els autòmats programables, les màquines d'estats, la mecànica, l'electrònica i la informàtica.
* Mineria de dades: La mineria de dades o exploració de dades (és l'etapa d'anàlisi de knowledge discovery in databases o KDD) és un camp de l'estadística i les ciències de la computació referit al procés que intenta descobrir patrons en grans volums de conjunts de dades. L'objectiu general del procés de mineria de dades consisteix a extreure informació d'un conjunt de dades i transformar-la en una estructura comprensible per al seu ús posterior.
* Big Data: és un terme que fa referència a conjunts de dades tan grans i complexes que necessiten aplicacions informàtiques no tradicionals, de processament de dades per tractar-les adequadament.
* Previsions de series temporals

## Bibliografia

* Bishop, C. M. (1995). Neural Networks for Pattern Recognition, Oxford University Press. ISBN 0-19-853864-2
* Richard O. Duda, Peter E. Hart, David G. Stork (2001) Pattern classification (2nd edition), Wiley, New York, ISBN 0-471-05669-3
* Antoine Cornuéjols, Laurent Miclet, Yves Kodratoff (2002) Apprentissage Artificiel: Concepts et algorithmes, Eyrolles, ISBN 2-212-11020-0
* Huang T.-M., Kecman V., Kopriva I. (2006), Kernel Based Algorithms for Mining Huge Data Sets, Supervised, Semi-supervised, and Unsupervised Learning, Springer-Verlag, Berlin, Heidelberg, 260 pp. 96 illus., Hardcover, ISBN 3-540-31681-7«Enllaç».
* KECMAN Vojislav (2001), LEARNING AND SOFT COMPUTING, Support Vector Machines, Neural Networks and Fuzzy Logic Models, The MIT Press, Cambridge, MA, 608 pp., 268 illus., ISBN 0-262-11255-8«Enllaç».
* MacKay, D. J. C. (2003). Information Theory, Inference, and Learning Algorithms, Cambridge University Press. ISBN 0-521-64298-1
* Mitchell, T. (1997). Machine Learning, McGraw Hill. ISBN 0-07-042807-7
* Sholom Weiss and Casimir Kulikowski (1991). Computer Systems That Learn, Morgan Kaufmann. ISBN 1-55860-065-5

## Vegeu també

* Aprenentatge supervisat
* Xarxes neuronals
* Reconeixement de patrons
* Intel·ligència artificial
* TPU: Unitat de processament de tensors
* Optimització bayesiana

## Enllaços externs

* Curs d'aprenentatge automàtic de la Universitat Politècnica de Catalunya a Youtube: Aprenentatge Automàtic Bàsic - Xavier Giró - UPC ESEIAAT Terrassa 2020
* Machine Learning Development with Perl
* Weka Arxivat 2011-12-06 a Wayback Machine. Entorn de programari open-source sobre aprenentatge automàtic
* https://repositorio.unnoba.edu.ar/xmlui/bitstream/handle/23601/107/1_resource.pdf?sequence=1&isAllowed=y