Les fases de l'aprenentatge automàtic representen un enfocament estructurat per desenvolupar, desplegar i mantenir models d'aprenentatge automàtic. Aquestes fases garanteixen que el procés d'aprenentatge automàtic sigui sistemàtic, reproduïble i escalable. Les seccions següents ofereixen una visió general completa de cada fase, detallant les activitats clau i les consideracions implicades.
1. Definició del problema i recollida de dades
Definició del problema
La fase inicial consisteix a definir clarament el problema que pretén resoldre el model d'aprenentatge automàtic. Això inclou comprendre els objectius empresarials i traduir-los en un problema d'aprenentatge automàtic. Per exemple, un objectiu comercial podria ser reduir la pèrdua de clients. El problema d'aprenentatge automàtic corresponent podria ser predir quins clients és probable que abandonin a partir de dades històriques.
Recopilació de dades
Un cop definit el problema, el següent pas és reunir les dades necessàries per entrenar el model. La recollida de dades pot implicar diverses fonts, com ara bases de dades, API, web scraping i conjunts de dades de tercers. La qualitat i la quantitat de dades recollides són factors crítics que influeixen en el rendiment del model d'aprenentatge automàtic.
2. Preparació de dades
Neteja de dades
Les dades en brut són sovint sorolloses i contenen valors que falten o són inconsistents. La neteja de dades implica la gestió dels valors que falten, l'eliminació de duplicats i la correcció d'incoherències. En aquesta fase s'utilitzen habitualment tècniques com la imputación, la interpolació i la detecció de valors atípics.
Transformació de dades
La transformació de dades inclou operacions com ara la normalització, l'escala i la codificació de variables categòriques. Aquestes transformacions garanteixen que les dades estiguin en un format adequat per als algorismes d'aprenentatge automàtic. Per exemple, normalitzar les característiques numèriques pot ajudar a millorar la taxa de convergència dels algorismes basats en gradients.
Divisió de dades
El conjunt de dades normalment es divideix en conjunts de formació, validació i proves. El conjunt d'entrenament s'utilitza per entrenar el model, el conjunt de validació s'utilitza per a l'ajustament dels hiperparàmetres i el conjunt de proves s'utilitza per avaluar el rendiment del model. Una ràtio de divisió comuna és del 70% per a la formació, el 15% per a la validació i el 15% per a les proves.
3. Enginyeria de Característiques
Selecció de funcions
La selecció de característiques implica identificar les característiques més rellevants que contribueixen al poder predictiu del model. Per seleccionar les característiques s'utilitzen tècniques com l'anàlisi de correlacions, la informació mútua i les puntuacions d'importància de les característiques dels models basats en arbres.
Extracció de funcions
L'extracció de característiques implica la creació de noves característiques a partir de les existents. Això pot incloure l'agregació de dades, la generació de característiques polinomials o l'ús de coneixements específics del domini per crear característiques significatives. Per exemple, en un conjunt de dades de sèries temporals, es poden extreure funcions com les mitjanes mòbils o els valors retardats.
4. Selecció de models i formació
Selecció del model
Escollir l'algoritme adequat és important per a l'èxit del projecte d'aprenentatge automàtic. L'elecció de l'algorisme depèn de la naturalesa del problema, la mida i el tipus del conjunt de dades i els recursos computacionals disponibles. Els algorismes comuns inclouen regressió lineal, arbres de decisió, màquines vectorials de suport i xarxes neuronals.
Formació de models
L'entrenament del model implica introduir les dades d'entrenament a l'algorisme escollit per aprendre els patrons subjacents. Durant aquesta fase, els paràmetres del model s'ajusten per minimitzar la funció de pèrdua, que mesura la diferència entre els valors predits i reals. Tècniques com el descens de gradients s'utilitzen habitualment per a l'optimització.
5. Afinació d'hiperparàmetres
Cerca de quadrícula
La cerca en quadrícula implica una cerca exhaustiva a través d'un conjunt predefinit d'hiperparàmetres per trobar la combinació que ofereix el millor rendiment en el conjunt de validació. Aquest mètode pot ser car computacionalment, però és eficaç per a conjunts de dades de mida petita i mitjana.
Cerca aleatòria
La cerca aleatòria implica el mostreig aleatori d'hiperparàmetres d'una distribució predefinida. Aquest mètode sovint és més eficient que la cerca en quadrícula, ja que explora una gamma més àmplia d'hiperparàmetres en un període de temps més curt.
Optimització Bayesiana
L'optimització bayesiana utilitza models probabilístics per seleccionar hiperparàmetres. Construeix un model substitut per aproximar la funció objectiu i utilitza aquest model per prendre decisions sobre quins hiperparàmetres avaluar a continuació. Aquest mètode és més eficient que la cerca en quadrícula i aleatòria, especialment per a models complexos.
6. Model d'avaluació
Mètriques de rendiment
L'avaluació del rendiment del model implica utilitzar diverses mètriques per mesurar-ne la precisió, la precisió, el record, la puntuació F1 i altres mètriques rellevants. L'elecció de les mètriques depèn del problema específic. Per exemple, en un problema de classificació, la precisió i la puntuació F1 s'utilitzen habitualment, mentre que en un problema de regressió, l'error quadrat mitjà (MSE) i l'R quadrat són més adequats.
Validació creuada
La validació creuada implica dividir el conjunt de dades en múltiples plecs i entrenar el model en diferents subconjunts de dades. Aquesta tècnica proporciona una estimació més sòlida del rendiment del model reduint la variància associada a una divisió única de prova de tren. Els mètodes comuns inclouen la validació creuada k-fold i la validació creuada estratificada.
7. Model de desplegament
Serialització de models
La serialització del model implica desar el model entrenat en un fitxer perquè es pugui carregar i utilitzar per a prediccions més endavant. Els formats de serialització habituals inclouen pickle per als models Python i ONNX per als models que s'han de desplegar a diferents plataformes.
Al servei del model
Servir el model implica desplegar-lo en un entorn de producció on pot rebre dades d'entrada i retornar prediccions. Això es pot fer mitjançant API REST, microserveis o plataformes basades en núvol com ara Google Cloud AI Platform, AWS SageMaker i Azure Machine Learning.
8. Seguiment i Manteniment
Supervisió del rendiment
Un cop desplegat el model, és fonamental controlar-ne el rendiment en temps real. Això implica el seguiment de mètriques com ara la latència, el rendiment i les taxes d'error. Per a aquest propòsit es poden utilitzar eines de monitorització com Prometheus, Grafana i solucions natives del núvol.
Reformació de models
Amb el temps, el rendiment del model pot degradar-se a causa dels canvis en la distribució de dades subjacent, un fenomen conegut com a deriva conceptual. El reciclatge regular del model amb dades noves ajuda a mantenir-ne la precisió i la rellevància. Es poden configurar canonades automatitzades per agilitzar aquest procés.
Proves A/B
Les proves A/B consisteixen en desplegar diverses versions del model i comparar-ne el rendiment per determinar-ne la millor. Aquesta tècnica ajuda a prendre decisions basades en dades sobre actualitzacions i millores dels models.
9. Documentació i Informes
Model de documentació
La documentació completa del model, inclosa la seva arquitectura, hiperparàmetres, procés d'entrenament i mètriques de rendiment, és important per a la reproductibilitat i la col·laboració. Es poden utilitzar eines com Jupyter Notebooks, Sphinx i MkDocs per crear documentació detallada.
Informes
Els informes periòdics sobre el rendiment del model, les actualitzacions i qualsevol problema que es trobi s'han de comunicar als grups d'interès. Això garanteix la transparència i facilita la presa de decisions informada.
Exemple: predicció de l'abandonament del client
Per il·lustrar les fases de l'aprenentatge automàtic, considereu l'exemple de predicció de la pèrdua de clients per a una empresa de telecomunicacions.
1. Definició del problema: L'objectiu del negoci és reduir la rotació de clients. El problema de l'aprenentatge automàtic consisteix a predir quins clients són propensos a abandonar en funció dels seus patrons d'ús, demografia i historial de serveis.
2. Recopilació de dades: Les dades es recullen de diverses fonts, com ara bases de dades de clients, registres d'ús i registres d'atenció al client.
3. Preparació de dades: Les dades es netegen per gestionar els valors que falten i les incoherències. Funcions com ara l'ús mensual, la durada del client i les queixes de servei es normalitzen i codifiquen.
4. Enginyeria de funcions: les característiques rellevants es seleccionen en funció de la seva correlació amb l'abandonament. S'extreuen noves característiques, com ara la durada mitjana de les trucades i la freqüència de les queixes del servei.
5. Selecció de models i formació: s'escull un classificador d'arbre de decisió per la seva interpretabilitat. El model s'entrena al conjunt de dades d'entrenament per aprendre els patrons associats a l'abandonament.
6. Afinació d'hiperparàmetres: La cerca de quadrícula s'utilitza per trobar els hiperparàmetres òptims per a l'arbre de decisió, com ara la profunditat màxima i les mostres mínimes per fulla.
7. Avaluació del model: el rendiment del model s'avalua mitjançant la precisió, la precisió, la memòria i la puntuació F1. Es realitza una validació creuada per garantir la robustesa.
8. Model de desplegament: El model entrenat es serialitza i es desplega a una plataforma basada en núvol on pot rebre dades d'entrada i retornar prediccions.
9. Seguiment i Manteniment: el rendiment del model es controla en temps real. Es programa un reciclatge periòdic per incorporar noves dades i mantenir la precisió. Es realitzen proves A/B per comparar diferents versions de models.
10. Documentació i Informes: es crea una documentació detallada del model, inclosa la seva arquitectura, procés d'entrenament i mètriques de rendiment. Es generen informes periòdics i es comparteixen amb les parts interessades.
L'enfocament estructurat descrit en aquestes fases garanteix que el model d'aprenentatge automàtic es desenvolupi de manera sistemàtica, es desplega de manera eficient i es manté amb eficàcia, donant lloc, finalment, a millors resultats empresarials.
Altres preguntes i respostes recents sobre EITC/AI/GCML Google Cloud Machine Learning:
- Quin és el llenguatge de programació per a l'aprenentatge automàtic és Just Python
- Com s'aplica l'aprenentatge automàtic al món de la ciència?
- Com decidiu quin algorisme d'aprenentatge automàtic utilitzareu i com el trobeu?
- Quines diferències hi ha entre l'aprenentatge federat, la informàtica perifèrica i l'aprenentatge automàtic al dispositiu?
- Com preparar i netejar les dades abans de l'entrenament?
- Quines són les tasques i activitats inicials específiques en un projecte d'aprenentatge automàtic?
- Quines són les regles generals per adoptar una estratègia i un model d'aprenentatge automàtic específics?
- Quins paràmetres indiquen que é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?
Consulta més preguntes i respostes a EITC/AI/GCML Google Cloud Machine Learning