Validació encreuada
Eines
General
Imprimeix/exporta
En altres projectes
La validació encreuada[1] —cross-validation en anglès— és una tècnica utilitzada per avaluar els resultats d'una anàlisi estadística i garantir que són independents de la partició entre dades d'entrenament i prova. Consisteix a repetir i calcular la mitjana aritmètica obtinguda de les mesures d'avaluació sobre diferents particions. S'utilitza en entorns on l'objectiu principal és la predicció i es vol estimar com és de precís un model que es durà a terme a la pràctica.[2] És una tècnica molt utilitzada en projectes d'intel·ligència artificial per a validar models generats.
La validació creuada prové de la millora del mètode de retenció o holdout method. Aquest consisteix a dividir en dos conjunts complementaris les dades de mostra, realitzar l'anàlisi d'un subconjunt (anomenat dades d'entrenament o training set), i validar l'anàlisi en l'altre subconjunt (anomenat dades de prova o test set), de manera que la funció d'aproximació només s'ajusta amb el conjunt de dades d'entrenament i a partir d'aquí calcula els valors de sortida per al conjunt de dades de prova (valors que no ha analitzat abans). L'avantatge d'aquest mètode és que és molt ràpid a l'hora de computar. No obstant això, aquest mètode no és massa precís degut a la variació del resultats obtinguts per a diferents dades d'entrenament. L'avaluació pot dependre en gran manera de quina és la divisió entre dades d'entrenament i de prova, i per tant pot ser significativament diferent en funció de com es realitzi aquesta divisió.Degut a aquestes mancances apareix el concepte de validació encreuada.[4]
Suposem que tenim un model amb un o més paràmetres d'ajust desconeguts i unes dades d'entrenament que volem analitzar. El procés d'ajust optimitza els paràmetres del model perquè aquest s'ajusti a les dades d'entrenament tan bé com pugui. Si agafem una mostra independent com a dada de prova (validació), del mateix grup que les dades d'entrenament, normalment el model no s'ajustarà a les dades de prova tan bé com a les dades d'entrenament. Això s'anomena sobre-ajust i acostuma a passar quan la mida de les dades d'entrenament és petita o quan el nombre de paràmetres del model és gran. La validació encreuada és una manera de predir l'ajust d'un model a un hipotètic conjunt de dades de prova quan no disposem del conjunt explícit de dades de prova.[5]
En la validació encreuada de K iteracions o K-fold cross-validation les dades de mostra es divideixen en K subconjunts. Un dels subconjunts s'utilitza com a dades de prova i la resta (K-1) com a dades d'entrenament. El procés de validació encreuada és repetit durant k iteracions, amb cada un dels possibles subconjunts de dades de prova. Finalment es realitza la mitjana aritmètica dels resultats de cada iteració per a obtenir un únic resultat. Aquests mètode és molt precís, ja que avaluem a partir de K combinacions de dades d'entrenament i de prova, però tot i així té un desavantatge, i és que, a diferència del mètode de retenció, és lent des del punt de vista computacional.[5] A la pràctica, l'elecció del nombre d'iteracions depèn de la mida del conjunt de dades. El més comú és utilitzar la validació encreuada de 10 iteracions (10-fold cross-validation).[6]
Aquest mètode consisteix a dividir aleatòriament el conjunt de dades d'entrenament i el conjunt de dades de prova. Per a cada divisió la funció d'aproximació s'ajusta a partir de les dades d'entrenament i calcula els valors de sortida per al conjunt de dades de prova. El resultat final es correspon a la mitjana aritmètica dels valors obtinguts per a les diferents divisions. L'avantatge d'aquest mètode és que la divisió de dades entrenament-prova no depèn del nombre d'iteracions. Però en canvi amb aquest mètode hi ha algunes mostres que queden sense avaluar i d'altres que s'avaluen més d'una vegada, és a dir, els subconjunts de prova i entrenament es poden solapar.[7]
La validació encreuada deixant-ne un fora o Leave-one-out cross-validation (LOOCV) implica separar les dades de manera que per a cada iteració tinguem una sola mostra per a les dades de prova i tota la resta conformant les dades d'entrenament. L'avaluació ve donada per l'error, i en aquest tipus de validació encreuada l'error és molt baix, però en canvi, a nivell computacional és molt costós, ja que s'han de realitzar un elevat nombre d'iteracions, tantes com N mostres tinguem i per a cada una analitzar les dades tant d'entrenament com de prova.[8]
L'avaluació de les diferents validacions creuades normalment ve donada per l'error obtingut en cada iteració, ara bé, per cada un dels mètodes pot variar el nombre d'iteracions, segons l'elecció del dissenyador en funció del nombre de dades total.[9]
En cadascuna de les k iteracions d'aquest tipus de validació es realitza un càlcul d'error. El resultat final l'obtenim a partir de realitzar la mitjana aritmètica dels K valors d'errors obtinguts, segons la fórmula:
És a dir, es realitza el sumatori dels K valors d'error i es divideix entre el valor de K.
En la validació encreuada aleatòria a diferència del mètode anterior, agafem mostres a l'atzar durant k iteracions, tot i que d'igual manera, es realitza un càlcul d'error per a cada iteració. El resultat final també l'obtenim a partir de realitzar la mitjana aritmètica dels K valors d'errors obtinguts, segons la mateixa fórmula:
En la validació encreuada deixant un fora es realitzen tantes iteracions com mostres (N) tingui el conjunt de dades. De manera que per a cada una de les N iteracions es realitza un càlcul d'error. El resultat final l'obtenim realitzant la mitjana aritmètica dels N valors d'errors obtinguts, segons la fórmula:
On es realitza el sumatori dels N valors d'error i es divideix entre el valor de N.
L'objectiu de la validació encreuada consisteix a estimar el nivell d'ajust d'un model a un cert conjunt de dades de prova independents de les utilitzades per entrenar el model. Aquestes mesures obtingudes poden ser utilitzades per estimar qualsevol mesura quantitativa d'ajust apropiada per a les dades i el model. Per exemple, en un model basat en classificació binària, cada mostra es preveu com a correcta o incorrecta (si pertany a la temàtica o no), de manera que en aquest cas, la taxa d'error de classificació pot ser utilitzada per resumir l'ajust del model.