parte_33.txt
Document Details

Uploaded by AutonomousHeliotrope
Full Transcript
Francisco Manuel Rangel Pardo 22 TEMARIO OPOSICIONES COIICV | TEMA 36 diferenciadas: el pre-procesamiento y la representa ción. Se presentan en orden inverso para mejorar su comprensión. Para poder aplicar las diferentes técnicas de miner ía de datos que veremos en el siguiente punto, se debe repres...
Francisco Manuel Rangel Pardo 22 TEMARIO OPOSICIONES COIICV | TEMA 36 diferenciadas: el pre-procesamiento y la representa ción. Se presentan en orden inverso para mejorar su comprensión. Para poder aplicar las diferentes técnicas de miner ía de datos que veremos en el siguiente punto, se debe representar los objetos sobre los que se qu iera efectuar la minería mediante lo que se conoce como modelo de espacio vectorial . Por ejemplo, si el problema que queremos resolver es el de predecir si un nuevo cliente tiene riesgo de ser moroso, el objeto sobre el que realizaremos la minería será el objeto cliente. Este objeto vendrá definido por una serie de características como su sexo, edad, nivel salarial, nivel educacional, luga r de residencia, puesto en la organización, tamaño de la organización en la que trabaja, etcétera. Tabla III: Ejemplo objeto CLIENTE. Fuente: Elaborac ión propia ATRIBUTO / CARACTERÍSTICA POSIBLES VALORES SEXO HOMBRE / MUJER EDAD >18 NIVEL SALARIAL <15k; 15-20K; 20-30K; 30-50K; >50K NIVEL EDUCACIONAL SIN ESTUDIOS; GRADO; MASTER; DOCT OR LUGAR DE RESIDENCIA PAÍS y CIUDAD La representación vectorial de un cliente vendrá da da por los valores que tomará cada uno de los atributos que lo definen. Por ejemplo, Francisco = {hombre, 39, ?, doctor, valencia} La representación anterior se denomina vectorial po rque convierte cada objeto en un vector de características definidas por su valor concreto par a ese ejemplo concreto. Es por ello que a este proceso se le denomina de extracción de características . Se puede apreciar en el ejemplo anterior que existen diferentes tipos de caracterís ticas, concretamente: • Características numéricas, que pueden ser enteras o reales, limitadas o no a un intervalo, como es el caso de la edad. • Características nominales, con o sin orden, como pu eden ser el resto de características del modelo: sexo, nivel salarial, nivel educacional, lu gar de residencia. Generalmente los datos de los que disponemos para c onstruir el espacio vectorial de los objetos a minar no suele estar adecuado a los requerimientos del algoritmo que vamos a utilizar, pese a que en la fase ETL se haya realizado limpieza y normali zación de los mismos. Por ejemplo, algunos algoritmos no trabajan bien, o incluso lo imposibil itan, con valores faltantes y/o nulos (como el salario en el caso del ejemplo). Otros algoritmos s ólo permiten trabajar con atributos numéricos, mientras que otros no permiten utilizar más que atr ibutos nominales. A continuación enumeramos algunas de las técnicas que se suelen aplicar para pre-procesar los datos y adecuarlos a los requerimientos de modelado. Se autoriza el uso exclusivo de este documento a María Amparo Pavía García, DNI 20013968N, a 26 de julio de 2019Gestión de los datos corporativos TEMARIO OPOSICIONES COIICV | TEMA 36 23 • Discretización : Permite convertir atributos numéricos a nominales , mediante lo que se conoce como técnicas de binning . Para ello los atributos numéricos se agrupan en r angos predefinidos y se asigna la etiqueta correspondient e. Ejemplo de discretización lo hemos visto en el caso del nivel salarial o el tamaño de la organización, donde en lugar de un valor numérico absoluto tenemos la pertenencia a un o de esos rangos. • Numerización : Permite convertir atributos nominales a numéricos , generalmente asignando valores numéricos consecutivos a los dife rentes valores nominales de la característica. Esto es necesario en casos como el análisis multivariante o la regresión lineal, que sólo trabajan con atributos numéricos. • Valores faltantes : En ocasiones los algoritmos no trabajan bien con valores faltantes por lo que se deben convertir a valores aptos para el m odelo. Por ejemplo, si de un cliente no tenemos su nivel salarial, se podría crear una etiq ueta más que indique que no se conoce (NSC) para que el modelo pudiera tratar con dichos valores. • Reducción de la dimensionalidad : Cuando el modelo vectorial es muy grande, porque se dispone de muchos atributos, es posible que necesit emos reducir la dimensionalidad porque los algoritmos de minería no trabajen bien c on tantas características (aumenten considerablemente el coste computacional). Esto sue le suceder en problemas de alta dimensionalidad como son el tratamiento de imágenes , donde una representación vectorial puede consistir en los valores RGB-alfa para cada uno de los millones píxeles de una imagen, o en procesamiento del lenguaje natural don de una representación vectorial puede consistir en la frecuencia de aparición de cada pal abra del texto. Existen múltiples técnicas de reducción de la dimensionalidad, de entre las qu e destacan las técnicas basadas en entropía (se seleccionan aquellas características que más n ovedad aportan al modelo), las basadas en ganancia de información (similar a las anteriores, son aquellas características que aportan más información), o el análisis de componentes principales (que efectúa una proyección a un espacio multimensi onal de menor dimensionalidad que el original pero manteniendo la relevancia de los atri butos). 4.4. Técnicas de modelado Una vez identificado el tipo de problema al que nos enfrentamos en un proyecto de minería de datos, debemos decidir con qué algoritmo aproximar su solución. Se puede considerar que hay dos tipos de aproximación algorítmica al aprendizaje au tomático: retardada (o perezosa, de lazy learning ) y anticipativa (o ansiosa, de eager learning). 4.4.1. Métodos perezosos de aprendizaje automático En el caso perezoso, el algoritmo de aprendizaje au tomático espera hasta disponer del ejemplo sobre el que aplicar el conocimiento (clasificación , regresión…). Una de sus principales ventajas es que resuelve los problemas de manera local, según s e van produciendo los ejemplos, lo que permite adaptarse de manera rápida y sencilla a los ejemplos sobre los que tiene que trabajar. Esto es así porque no requiere de un entrenamiento previo, que puede resultar costoso, y que Se autoriza el uso exclusivo de este documento a María Amparo Pavía García, DNI 20013968N, a 26 de julio de 2019Francisco Manuel Rangel Pardo 24 TEMARIO OPOSICIONES COIICV | TEMA 36 puede sobreajustar el algoritmo a los datos de entr enamiento, perdiendo capacidad de generalización a nuevos ejemplos. Una desventaja es que a cada nuevo ejemplo el algoritmo debe reaprender, frente a un método anticipativo que úni camente debe aplicar los cálculos aprendidos, con lo que se puede ver reducido su rendimiento, al go crítico especialmente en entornos big data . Uno de los algoritmos perezosos más conocidos es el de los k-vecinos más próximos. Otros algoritmos son la regresión logística local o el ra zonamiento basado en casos. 4.4.2. Métodos anticipativos de aprendizaje automát ico En el caso anticipativo, el algoritmo de aprendizaj e construye un modelo a partir de un conjunto de datos de entrenamiento, y ante un nuevo ejemplo, ap lica el modelo construido para resolver el problema (clasificación, regresión…). Una de sus pr incipales ventajas es el alto rendimiento a la hora de aplicarlo en producción, ya que el modelo y a está aprendido y aplicarlo sobre ejemplos nuevos es muy rápido. Sin embargo, su principal inc onveniente es la posibilidad de sobreajuste a las muestras de entrenamiento, con lo que si las mu estras sobre las que aplicar el modelo varían significativamente, puede que su precisión se vea m ermada. Para minimizar este problema, se suele reentrenar el modelo cada cierto tiempo para adaptarlo a la variabilidad en los datos. A continuación, se describen brevemente las aproxim aciones al aprendizaje automático anticipativo más conocidas. Sin embargo, existen multitud de téc nicas diferentes. El campo de la minería de datos y el aprendizaje automático es muy amplio y a ctivo en la investigación, por lo que se recomienda consultar la bibliografía para ampliar e n el tema. • Métodos bayesianos: Se basan en el teorema de Bayes , por el cual se puede calcular la probabilidad a posteriori de la clase en base a las probabilidades a priori aprendidas de los datos para cada una de las características que los representan. Los métodos bayesianos son fáciles de programar, son muy expresivos y perm iten trabajar con incertidumbre (de hecho, la probabilidad nace para ello). • Árboles de decisión: Los árboles de decisión permit en aprender en base a ejemplos, mediante la construcción de reglas de decisión simp les que se disparan según umbrales de una determinada característica. En el proceso de en trenamiento se va dividiendo los ejemplos hasta construir un árbol donde cada divisi ón se efectúa en base a un umbral de decisión para una característica determinada (e.g. edad < 40 vs. edad > 40). A la hora de clasificar un nuevo ejemplo se comenzará en el nodo raíz del árbol y se seguirán las condiciones de sus nodos hasta llegar a un nodo hoj a, que se corresponderá con una de las posibles clases. Para evitar el sobreajuste al entrenamiento, construyendo árboles que aprendan exactamente los ejemplos de entrada, pero no tengan gran capacidad discriminatoria, se efectúa lo que se llama una pod a a un determinado nivel. • Redes neuronales artificiales (RNA): El origen de l as RNA fue para intentar emular lo que sucedía en el cerebro humano. Así pues, se definen las neuronas como funciones simples de proceso de una señal de entrada hacia una señal de salida. La neurona se activa cuando la señal de entrada supera un determinado um bral, propagando su valor a la salida, o no lo hace. El entrenamiento se produce p or la técnica de backpropagation que ajusta los pesos o umbrales de cada neurona a parti r de los ejemplos dados. Son métodos Se autoriza el uso exclusivo de este documento a María Amparo Pavía García, DNI 20013968N, a 26 de julio de 2019Gestión de los datos corporativos TEMARIO OPOSICIONES COIICV | TEMA 36 25 opacos, poco explicativos, pero que en la actualida d están produciendo buenos resultados en gran variedad de tareas en el campo del deep learning . • Máquinas de vectores soporte (SVM por sus siglas en inglés Support Vector Machines ): Tratan de determinar el hiperplano que separa las m uestras entre las diferentes clases, de forma que el margen entre la distancia entre las mu estras más próximas de cualquier clase y dicho hiperplano se maximice. Las SVM hacen uso d e métodos basados en kernels para operar en espacios de alta dimensionalidad, sin nec esidad de calcular todos los puntos de manera explícita. • Algoritmos evolutivos (dentro de los cuales se encu entran los genéticos): Tratan el problema de la optimización sobre la base de la teo ría de la evolución. Se parte de un conjunto de soluciones al problema, soluciones que se cruzan entre sí de manera no determinística, simulando lo que sería una mutación . De entre las nuevas soluciones se seleccionan aquellas que mejores resultados ofrecen (optimización), y se repite el proceso, simulando la reproducción de los individuos más fue rtes (soluciones óptimas). 4.4.3. Meta-clasificadores Siguiendo la filosofía de Epicuro, “si más de una hipótesis es consistente con los dat os, debemos mantenerlas todas” , los meta-clasificadores permiten combinar los res ultados obtenidos por diferentes algoritmos de aprendizaje automático, de modo que la salida del meta-clasificador es una ponderación entre las salidas de los diferentes clasificadores y cuyo objetivo es conseguir sinergia entre los mismos, es decir, obtener un res ultado superior a la utilización individual de cualquiera de ellos. La combinación de clasificadores se puede realizar de múltiples maneras, de forma simplificada, respondiendo al concepto de voto. Un votador mayori tario consistiría en, dado el resultado proporcionado por los diferentes clasificadores, se leccionar aquel resultado que más veces aparece en la salida de los clasificadores individu ales. Esto sin embargo obliga a tener un número superior de clasificadores que de clases (problema de multiclasificación), puesto que cada clasificador podría dar un resultado y no haber con senso. Existen diversas técnicas para mejorar el proceso: • Asignación de pesos a cada clasificador, de modo que el votador estarí a ponderado dando mayor importancia a los clasificadores que se consideren más precisos, como si de un conjunto de asesores se tratara sobre los cuales tenemos depositado un nivel diferente de confianza. • Aprendiendo una función de voto , en lugar de optar por el resultado mayoritario. E n este caso, el votador se podría sustituir por otro clasi ficador que, en función de las predicciones realizadas por los clasificadores individuales y la clase real, aprendiera un modelo de votación. La principal ventaja es que dependiendo d e los datos el modelo aprenderá un votador ponderado mucho más ajustado que el que le podamos fijar mediante pesos. Sin embargo, su principal desventaja es que estamos acu mulando errores de clasificación. Se puede mejorar aprendiendo no sólo a partir de los r esultados de los clasificadores Se autoriza el uso exclusivo de este documento a María Amparo Pavía García, DNI 20013968N, a 26 de julio de 2019Francisco Manuel Rangel Pardo 26 TEMARIO OPOSICIONES COIICV | TEMA 36 individuales, sino además de todas las característi cas que describen a los datos. Por ejemplo, aprendiendo como un clasificador más, y ad emás a partir de las salidas de los anteriores. • Reordenando la salida de clasificadores suaves , es decir, si los clasificadores individuales en lugar de proporcionar una salida ún ica, proporcionaran las n mejores predicciones con su porcentaje de certeza, el meta- clasificador podría combinar la salida de todos los clasificadores y reordenarlas en funci ón de posibles pesos. En este caso, sólo tendríamos que aprender la mejor distribución de pe sos posibles para el meta-clasificador. 4.5. Evaluación Tras la creación de los modelos se deben evaluar pa ra obtener sus estadísticas de rendimiento. Se puede entender el rendimiento desde dos perspectiva s: la del coste computacional de su aplicación y desde la capacidad de generalización y producción de conocimiento útil y aprovechable. Las técnicas de evaluación van a depender de la tip ología de problema que se esté resolviendo, por lo que existirán técnicas de evaluación de mode los de clasificación, clustering, regresión, reglas de asociación, etcétera. A continuación, se detalla para cada tipología cuales son las técnicas más utilizadas. 4.5.1. Evaluación de clasificadores (categorizadore s) La evaluación de modelos de clasificación parte del siguiente esquema, donde el modelo se construye con unos datos de entrenamiento, a partir de los cuales se aprende, y se evalúa con unos datos de pruebas, diferentes a los datos de en trenamiento para evitar sobre ajuste, y que nos ayudarán a determinar la calidad de modelo. Existen diferentes modelos de partición para conseg uir los conjuntos de entrenamiento y pruebas. No obstante, es imprescindible que cualquiera de es tos modelos garantice una total separación de los datos entre entrenamiento y pruebas para que no se produzca lo que se conoce como sobreajuste: si existen datos en el conjunto de pru ebas que fueron utilizados para entrenar los modelos, cuando se evalúe con ellos, el modelo podr á dar mejores resultados de los reales por haber aprendido sobreajustándose a los datos. Desta can tres modos de conseguir estas particiones: split , cross-validation y bootstrap . Se autoriza el uso exclusivo de este documento a María Amparo Pavía García, DNI 20013968N, a 26 de julio de 2019Gestión de los datos corporativos TEMARIO OPOSICIONES COIICV | TEMA 36 27 Figura 4: Aprendizaje y evaluación de clasificadore s. Fuente: Elaboración propia • Evaluación por split : Se divide el conjunto de datos en dos subconjunto s –entrenamiento y pruebas– con una ratio prefijada que generalmente resulta ser 30/70, es decir, el 30% de los datos para entrenamiento y el 70% restante para pruebas. • Cross-validation o validación cruzada, llamada también n-fold cross -validation o validación cruzada en n capas: Consiste en realizar n particiones de los datos en entrenamiento y pruebas, donde cada vez se toma 1/n elementos para entrenamiento y 9/n elementos para pruebas (estas proporciones pueden v ariar, e incluso admitir repetición de elementos entre iteración). Un valor común de n es 10, aunque en los casos más costosos se suele reducir a 5. El objetivo de la validación cruzada es evitar el posible sesgo que pudiera tener una partición cualquiera como en el c aso del split , realizándolo múltiples veces y obteniendo la media. Sin embargo, uno de lo s errores más comunes es el del sobreajuste al entrenamiento, donde la aplicación d e la validación cruzada –las particiones en los datos– se realiza tras haber entrenado los modelos con todo el conjunto de datos, en lugar de reentrenar los modelos con los datos de cada partición. • Bootstrap : Cuando se dispone de pocos ejemplos para entrenar y evaluar el modelo, se puede utilizar esta técnica para aumentar la cantid ad de ejemplos de manera artificial. Para ello se efectúa un muestreo con reposición y poster iormente se aplica, por ejemplo, la técnica de validación cruzada. Entre las diferentes formas en que podemos evaluar un modelo de clasificación, son de especial interés dos: evaluación por precisión y evaluación por costes. 4.5.1.1. Evaluación por precisión En la evaluación por precisión se prima que el mode lo aumente la cantidad de ejemplos bien clasificados . Destaca la medida accuracy . • Accuracy (precisión): Se define como el número de ejemplos correctamente clasificados dividido por el número total de ejemplos. Se autoriza el uso exclusivo de este documento a María Amparo Pavía García, DNI 20013968N, a 26 de julio de 2019