Blog de Bismart: Últimes Notícies en Dades, IA i Business Intelligence

Com afrontar un projecte de machine learning

Written by Maria Gorini | 09/09/2019 22:00:00

El machine learning és una manera analítica de resoldre problemes mitjançant la identificació o la predicció. Els algoritmes aprenen de les dades introduïdes i després fan servir aquest coneixement per treure conclusions de noves dades. És una branca dins de la intel·ligència artificial que fa servir algoritmes matemàtics que permeten a les màquines aprendre.

Avui dia hi ha moltes empreses que volen aprofitar les oportunitats que ofereix el machine learning i, en concret, la predicció. Per això es duen a terme projecte predictius que els permeten tenir una base sòlida sobre la qual prendre millors decisions empresarials.

L'enfocament necessari per a un projecte predictiu de machine learning consta de tres fases principals.

  • Recollida de dades. Les dades poden recollir-se de qualsevol lloc: web, base de dades, elements de veu que passen a text...
  • Interpretació gràcies als algoritmes. Hi ha una part humana que es dedica a la recol·lecció de les dades, les analitza i les passa per l'algoritme, que n'extreu informació.
  • Presa de decisions. L'algoritme ofereix un resultat que es farà servir com a base per prendre decisions de negoci segons el criteri de l'empresa.

Quan ens proposem iniciar un projecte predictiu hem de fer-nos un seguit de preguntes:

És un problema que requereixi intel·ligència artificial?

Perquè sigui així, ha d'haver-hi una quantitat molt gran de dades que siguin rellevants. No s'ha de basar un projecte de machine learning en dades que no aportin informació o que no siguin de qualitat perquè perdrem el temps.

Cal tenir en compte que els algoritmes de machine learning abstreuen patrons de les dades, però no raonen. Per tant, cal fer-los servir com a una base sòlida sobre la qual prendre decisions.

Encara que el machine learning siguin algoritmes que puguin aprendre per si mateixos, sempre ha d'haver-hi una guia humana. La màquina llegeix gràfics, números, etc., però sempre requereix un humà que atorgui valor i lògica als resultats que ofereix des d'un punt de vista de negoci.

Quan s'hauria de fer servir machine learning per resoldre el problema?
  • Quan un software lògic és difícil d'escriure. No és viable que una persona escrigui línies i línies de codi amb cadascuna de les possibilitats perquè la complexitat del procés i el nombre de casuístiques són elevadíssims. Això fa que, a més, el procés sigui costós. Si el software lògic és molt complex i s'ha d'escriure manualment, es malgasten molts recursos econòmics, temporals i humans.
  • Quan hi ha grans quantitats de dades.
  • Sempre que compleixi l'estructura de machine learning. Un problema de machine learning té un seguit de pautes molt clares. Això vol dir que el problema ha de tenir una variable objectiu, que pot ser, per exemple, classificar clients o esbrinar el nombre de sinistres. Es pot identificar responent a "què vull predir?". Un cop aconseguit, cal saber si les dades que tenim són suficients i adequades per predir el que volem.
Quan no podem resoldre un problema amb machine learning?

Cal anar en compte amb les expectatives dipositades en el machine learning. La majoria de vegades els resultats que ens ofereixen els algoritmes són una base per a una posterior presa de decisions o accions, no es tradueixen automàticament en beneficis. Hi ha algunes excepcions, com la de Netflix: els seus resultats es mostren directament a la plataforma en forma de recomanació, no hi ha un treballador prenent decisions basades en els resultats de l'algoritme. En casos així és important avaluar les repercussions d'un error en els resultats. No és el mateix fallar en la recomanació d'una sèrie de televisió que en les possibilitats de patir un accident a la carretera.

El machine learning no és bo per trobar casualitats, perquè es basa sempre en descobrir patrons. Així doncs, davant d'una casualitat, l'algoritme no sabrà què fer, perquè no té una referència a la qual relacionar-la. Llavors, si el problema que volem resoldre té moltes casualitats, potser hauríem de plantejar-nos una altra manera de solucionar-lo.

Fins i tot si la solució és bona i l'algoritme funciona perfectament, no sempre es poden interpretar els resultats. Amb alguns algoritmes, sobretot els arbres de decisió, és una mica més fàcil veure quines variables tenen més pes, però d'altres simplement ofereixen un resultat que no es pot interpretar, encara que sigui correcte i vàlid per a l'objectiu. Això es deu a l'altíssima complexitat dels raonaments de l'algoritme. En alguns casos, un humà trigaria anys entendre per què l'algoritme ha arribat a aquesta conclusió.

El machine learning no és la millor solució per al nostre problema si no tenim prou dades o no estan etiquetades. Necessitem dades etiquetades perquè l'algoritme tingui referències sobre les quals aprendre i poder trobar patrons i, més tard, oferir prediccions.

Cal tenir en compte que un projecte de machine learning pot ser lent, per la qual cosa pot no ser la tecnologia adequada si necessitem posar-lo en producció ràpidament. A més, un projecte d'aquestes característiques requereix una alta tolerància a errors. La màquina es pot equivocar, encara que l'objectiu sempre és reduir el marge al màxim.

Quan és el machine learning la millor solució?
  • Quan l'escalabilitat és difícil. El machine learning funciona molt bé quan ha de treballar amb milions i milions de dades, la qual cosa no passa amb moltes altres tecnologies.
  • Quan necessitem resultats personalitzats. Amb el machine learning treballem amb les nostres dades, per la qual cosa els resultats obtinguts ens serviran específicament a nosaltres per prendre decisions al nostre negoci.

El machine learning ha rebut molta atenció els últims anys i probablement en continuï rebent en el futur. Els algoritmes ens ofereixen moltes oportunitats per a la presa de decisions empresarials, però és important definir els nostres projectes de machine learning de manera adequada per poder dur-los a l'èxit.

 

Text de: Maria Gorini amb la col·laboració de Raquel García | Data Scientist