La regularització en el context de l'aprenentatge automàtic és una tècnica important que s'utilitza per millorar el rendiment de generalització dels models, especialment quan es tracta de dades d'alta dimensió o models complexos que són propensos a sobreajustar-se. El sobreajust es produeix quan un model aprèn no només els patrons subjacents a les dades d'entrenament, sinó també el soroll, donant lloc a un rendiment deficient en dades no vistes. La regularització introdueix informació o restriccions addicionals a un model per evitar el sobreajustament penalitzant models massa complexos.
La idea fonamental darrere de la regularització és incorporar un terme de penalització a la funció de pèrdua que el model intenta minimitzar. Aquest terme de penalització desanima el model d'ajustar el soroll a les dades d'entrenament imposant un cost a la complexitat, normalment mesurat per la magnitud dels paràmetres del model. D'aquesta manera, la regularització ajuda a aconseguir un equilibri entre ajustar bé les dades d'entrenament i mantenir la capacitat del model de generalitzar-se a dades noves.
Hi ha diversos tipus de tècniques de regularització que s'utilitzen habitualment en l'aprenentatge automàtic, i les més freqüents són la regularització L1, la regularització L2 i l'abandonament. Cadascuna d'aquestes tècniques té les seves pròpies característiques i aplicacions.
1. Regularització L1 (regressió del lazo): La regularització L1 afegeix una penalització igual al valor absolut de la magnitud dels coeficients a la funció de pèrdua. Matemàticament, es pot representar com:
where és la funció de pèrdua original, és el paràmetre de regularització, i són els paràmetres del model. L'efecte de la regularització L1 és que tendeix a produir models escassos, el que significa que condueix alguns dels coeficients a zero, realitzant eficaçment la selecció de característiques. Això pot ser especialment útil quan es tracta de dades d'alta dimensió on moltes característiques poden ser irrellevants.
2. Regularització L2 (regressió de Ridge): La regularització L2 afegeix una penalització igual al quadrat de la magnitud dels coeficients a la funció de pèrdua. S'expressa matemàticament com:
La regularització de la L2 descoratja els coeficients grans en penalitzar els seus valors quadrats, donant lloc a un conjunt de pesos més uniformement distribuït. A diferència de L1, la regularització de L2 no produeix models escassos, ja que no obliga els coeficients a ser exactament zero, sinó que els manté petits. Això és especialment útil per evitar el sobreajustament quan totes les funcions tenen certa rellevància.
3. Regularització de la xarxa elàstica: Elastic Net combina la regularització L1 i L2. És especialment útil en situacions en què hi ha múltiples característiques correlacionades. La penalització Elastic Net és una combinació lineal de les penalitzacions L1 i L2:
Ajustant els paràmetres i , Elastic Net pot equilibrar els beneficis de la regularització tant de L1 com de L2.
4. Dropout: Dropout és una tècnica de regularització dissenyada específicament per a xarxes neuronals. Durant l'entrenament, l'abandonament posa a l'atzar una fracció dels nodes (neurones) d'una capa a zero a cada iteració. Això evita que la xarxa depengui massa en qualsevol node únic i anima la xarxa a aprendre funcions més robustes. L'abandonament és especialment eficaç en models d'aprenentatge profund on el sobreajust és un problema comú a causa del gran nombre de paràmetres.
5. Parada anticipada: Encara que no és una tècnica de regularització en el sentit tradicional, l'aturada precoç és una estratègia per evitar el sobreajust aturant el procés d'entrenament una vegada que el rendiment d'un conjunt de validació comença a degradar-se. Això és especialment útil en mètodes iteratius com el descens de gradients on el model s'actualitza contínuament.
La regularització és essencial en l'aprenentatge automàtic perquè permet que els models funcionin bé amb dades no vistes controlant-ne la complexitat. L'elecció de la tècnica de regularització i l'afinació dels seus paràmetres ( per a L1 i L2, la taxa d'abandonament per a l'abandonament) són importants i sovint requereixen experimentació i validació creuada per aconseguir resultats òptims.
Per exemple, considereu un model de regressió lineal entrenat en un conjunt de dades amb moltes característiques. Sense regularització, el model podria assignar grans pesos a algunes característiques, ajustant-se molt bé a les dades d'entrenament, però amb un mal rendiment a les dades de prova a causa del sobreajust. Mitjançant l'aplicació de la regularització L2, s'anima el model a distribuir els pesos de manera més uniforme, cosa que podria conduir a una millor generalització de dades noves.
En un altre escenari, una xarxa neuronal entrenada en dades d'imatge podria sobreajustar-se memoritzant patrons específics a les imatges d'entrenament. En aplicar l'abandonament, la xarxa es veu obligada a aprendre funcions més generals que són útils en diferents imatges, millorant el seu rendiment en dades no vistes.
La regularització és un concepte fonamental en l'aprenentatge automàtic que ajuda a prevenir el sobreajustament afegint una penalització per complexitat a la funció de pèrdua del model. Mitjançant el control de la complexitat del model, les tècniques de regularització com L1, L2, Elastic Net, abandonament i aturada anticipada permeten una millor generalització de les noves dades, convertint-les en eines indispensables en el conjunt d'eines del professional de l'aprenentatge automàtic.
Altres preguntes i respostes recents sobre EITC/AI/GCML Google Cloud Machine Learning:
- Com decidiu quin algorisme d'aprenentatge automàtic utilitzareu i com el trobeu?
- Quina diferència hi ha entre l'aprenentatge federat i la informàtica perifèrica i l'aprenentatge automàtic al dispositiu?
- Com preparar i netejar les dades abans de l'entrenament?
- Em referia a activitats com classificació, identificació, etc. M'agradaria una llista de totes les activitats possibles i una explicació del que s'entén per cadascuna.
- Quines són les activitats que es poden fer amb ML i com es poden utilitzar?
- Quines són les regles generals per adoptar una estratègia específica? Podries indicar quins paràmetres concrets em fan adonar si val la pena utilitzar un model més complex?
- Amb quin paràmetre entenc si és hora de canviar d'un model lineal a un aprenentatge profund?
- Quina versió de Python seria millor per instal·lar TensorFlow per evitar problemes amb les distribucions TF disponibles?
- Què és una xarxa neuronal profunda?
- Quant de temps es triga normalment a aprendre els conceptes bàsics de l'aprenentatge automàtic?
Consulta més preguntes i respostes a EITC/AI/GCML Google Cloud Machine Learning