Post on 07-Aug-2020
Carlos J. Alonso GonzálezDepartamento de InformáticaUniversidad de Valladolid
Otros aspectos
Procesado de la entrada Procesado de la salida
Otros Aspectos 2
Contenido
1. Procesado de la entrada1. Motivación y tareas2. Limpieza de datos3. Transformación de datos4. Reducción de datos5. Discretización de atributos6. Selección de atributos
2. Procesado de la salida1. Combinación de modelos2. Descomposición bias-varianza3. Bagging4. Boosting5. Stacking
Otros Aspectos 3
1.1 Motivación y tareas
Se dispone de numerosos algoritmos de aprendizaje que se pueden aplicar de forma efectiva a la solución de problemas prácticos
Los problemas de aprendizaje o minería de datos no se resuelven solamente aplicando distintos algoritmos y estimando su tasa de error
Es preciso conocer en detalle el problema de aplicación y la naturaleza de los datos
Hay que garantizar una cierta calidad en los datos Hay que adaptar los datos al algoritmo seleccionado
Otros Aspectos 4
Preprocesado de la entrada
Limpieza de datos Transformación de datos Reducción de datos Discretización de atributos Selección de atributos
Otros Aspectos 5
1.2 Limpieza de datos
Es una de las primeras fases del preprocesadode los datos de entrada.
Pretende eliminar las redundancias, inconsistencias, ruido, identificar outliers... El proceso involucra varias fases: Valores ausentes
Datos con ruido
Outliers
Otros Aspectos 6
Valores ausentes
Ignorar instancias Poco efectivo salvo si hay pocos atributos con valores perdidos
Rellenar manualmente Muy costoso (tiempo)
Uso de constante global Constante unknown Poco recomendable
Uso de la media, mediana, moda del atributo Mejor por clase
Uso del valor más probable Regresión, Inferencia, Árboles de decisión Por ejemplo construir un árbol de decisión utilizando los restantes
atributos, incluso la clase, para predecir el valor Tener en cuenta que los tres últimos modifican el conjunto de
datos
Otros Aspectos 7
Datos con ruido
Reducir el ruido: controvertido En general
Ruido en los atributos: puede ser mejor dejarlo Nunca entrenar con datos sin ruido si se va a
utilizar en un entorno con ruido
Ruido en la clase Sistemático: mejor dejarlo Asistemático: intentar eliminarlo
Otros Aspectos 8
Reducción de ruido
Filtros dinámicos: puede modificar la dinámica, particularmente los transitorios
Suavizado local Ventana fija/deslizante Suavizado por medias
Mejor con ventana deslizante Suavizado por fronteras: máximo/mínimo
Ejemplo: 4, 8, 15, 21, 21, 24, 25, 28, 34 Ventana fija, suavizado por máximo, mínimo
Ventanas <4, 8, 15>, <21, 21, 24>, <25, 28, 34> Resultado: 4, 4, 15, 21, 21, 24, 25, 25, 34
Otros Aspectos 9
Detección de outliers (y anomalías)
Inspección visual (también para el ruido asistemático e inconsistencias)
Clustering Regresión robusta
Remover outliers Por ejemplo, 10% puntos más alejados del plano de
regresión Minimizar error absoluto en vez de cuadrático Minimizar mediana en vez de media (outliers en
dirección x e y)
Otros Aspectos 10
Ejemplo: mínima mediana de los cuadrados
Nº de llamadas internacionales desde Bélgica, 1950, 1973
Otros Aspectos 11
1.3 Transformación de datos
Normalización Importante en muchos métodos numéricos, para dar
igual importancia a cada atributo Escalar al intervalo [0, 1] Estandarizar a media 0 y desviación 1
Construcción de atributos Añadir nuevos atributos para introducir conceptos
relevantes Alto, ancho área
Facilita clasificación, pero aumenta la dimensionalidad
Otros Aspectos 12
1.4 Reducción de datos
Técnicas de compresión También clustering
Técnicas de muestreo (numerosity) Aleatorio con/sin reemplazamiento Estratificado Series temporales
Múltiplos del periodo base (si periódica) Mejor sin filtrar Puede ser interesante suavizado por fronteras
Reducción de la dimensionalidad Análisis de componentes principales Proyección aleatoria
Análisis de componentes principales (PAC)
Método clásico para detectar las direcciones principales de los datos
Uso: reducir dimensionalidad, visualización Se basa en que la varianza total es invariante
ante la rotación de ejes ortogonales Componentes principales: ejes de máxima
varianza Puede rotar los datos en el sistema de
coordenada (reducido) de los componentes principales
Otros Aspectos 13
Rotación componentes principales
Otros Aspectos 14
Otros Aspectos 15
Obtención componentes principales
Método intuitivo:1. Normalizar2. Encontrar dirección de máxima varianza3. Repetir
4. Buscar eje ortogonal al anterior de máxima varianza4. Hasta % varianza deseado
Método computacional Buscar autovectores matriz de covarianza Ordenar por autovalores
Otros Aspectos 16
Ejemplo: datos dimensión 10
Otros Aspectos 17
Proyección aleatoria
PAC tiene un coste elevado, O(a3) Alternativa: proyectar sobre ejes
aleatorios, de dimensión deseada En media, conserva bien las relaciones
de distancias En principio, peor que PAC Introduce variabilidad en las hipótesis
Otros Aspectos 18
1.5 Discretización de atributos
Necesario para algunos algoritmos Útil para otros
Por ejemplo, la extensión de Naïve Bayes a atributos continuos requiere distribución normal
Algunos métodos son más rápidos con atributos nominales que con numéricos
Útil para la aplicación Por ejemplo, temperatura fiebre
Dos familias No supervisado Supervisado
Otros Aspectos 19
Discretización no supervisada
División por intervalos Dividir el rango en número predeterminado de intervalos
de igual longitud Puede distribuir las instancias de forma poco uniforme
División por frecuencias Dividir el rango en número predeterminado de intervalos
de distinta amplitud, con igual nº de instancias Buenos resultados con Naïve Bayes, eligiendo nº de intervalos
|D|1/2
Clustering K-medias
Otros Aspectos 20
Discretización supervisada
En general, el proceso de discretización mejora si se usa información de la clase
Manual: basada en conocimiento Automática: preferir métodos basados en la
entropía (ganancia de información) frente al error Discretización local: árbol de decisión Discretización global
Extender el método de la ganancia de información a los valores de los atributos de todas las instancias
Criterio de parada
Otros Aspectos 21
Discretización basada en 1R
Error de clasificación
Ordenar los valores del atributo Límites de los intervalos: cambio de clase Restricción: tiene que haber un número
mínimo de instancias (6) de la clase mayoritaria
Método global
Otros Aspectos 22
Ejemplo discretización 1R
Otros Aspectos 23
Discretización local
Discretizar mediante árbol de decisión Habitualmente nodos binarios El mismo atributo puede discretizarse de modo
diferente en distintos nodos Según se desciende en el árbol, las decisiones
están basadas cada vez en menos ejemplos: Menos fiable
Otros Aspectos 24
Discretización global basada en entropía
Aplicar criterio de la ganancia de información al atributo a discretizar de todas las instancias Crear árbol de decisión utilizando sólo el atributo a
discretizar
Considerar como candidatos los valores en que cambia la clase
Repetir para cada subintervalo Criterio de parada: Principio de Mínima
Longitud de Descripción (MDL)
Otros Aspectos 25
Ejemplo: atributo temperatura
!Sin criterio de parada!
Otros Aspectos 26
Criterio de parada: MDL
Usar MDL para decidir si se introduce una partición N instancias
Conjunto original: k-clases, entropía E 1er intervalo, k1, E1 2º intervalo, k2, E2 Dividir si
Con este criterio, !No se introduce ninguna partición en el atributo temperatura! Eliminar el atributo
ganancia
Otros Aspectos 27
1.6 Selección de atributos
Los atributos irrelevantes dificultan el proceso de aprendizaje Crítico en basado en instancias y clustering Incluso algoritmos como C4.5 empeoran
En general, todos los métodos que subdividen el conjunto de datos: con pocos datos pueden recurrir a atributos irrelevantes
Naïve Bayes los ignora, pero le afectan los atributos redundantes
Además con más atributos, Se precisan más instancias Aumenta riesgo de sobreajuste Dificulta la comprensión del concepto
Otros Aspectos 28
Métodos de selección de atributos
Manual En base a la comprensión del problema En muchos casos, el mejor
Automática (semi-) Métodos filtro
Selección independiente del algoritmo de aprendizaje
Métodos envoltorio El propio algoritmo de aprendizaje interviene en
la selección de atributos
Otros Aspectos 29
Métodos de filtro
Independientes del algoritmo de aprendizaje Se basan en características generales de los datos
Algunos métodos Utilizar otro algoritmo de aprendizaje para la selección, por
ejemplo, C4.5, SVM Mejor SVM: eliminar recursivamente los atributos con menores
coeficientes: SVM- RFE (Recursive Feature Elimination) Correlacción
Ente atributos: redundancia Atributos clase: eliminar los de menor correlación Incertidumbre simétrica (SU)
Conjunto de Atributos de Entrada
Selección de un Subconjunto de
AtributosAlgoritmo de Aprendizaje
Selección basada en la correlación (I)
Correlación entre dos atributos nominales: Incertidumbre simétrica (SU)
H es la entropía, H(A,B) es la entropía conjunta de A y B
Todas las combinaciones de valores de A y B
0 <= SU(A, B) <= 1 SU(A, B)=1 indica que A y B están totalmente correlacionados
Otros Aspectos 30
Selección basada en la correlación (II)
Adecuación de un conjunto de atributos:
C es la clase, i, j iteran sobre los atributos
Si todos los atributos se correlacionan perfectamente con la clase y ente ellos, el valor es 1 (el mínimo es 0)
No es ideal, pues no elimina los redundantes Cualquier subconjunto de estos atributos también tiene
valor 1 Resolver empates a favor del subconjunto más pequeño
Otros Aspectos 31
Selección individual de mejores atributos
Utilizar alguna medida para evaluar el atributo: Ganancia información, SU(Ai,C), ReliefF, Entropía…
Ranking: seleccionar los mejores Fijando umbral Fijando nº atributos
Otros Aspectos 32
Otros Aspectos 33
Búsqueda en el retículo de atributos
Cielo Temperatura Humedad Viento
CieloTemperatura
CieloHumedad
TemperaturaHumedad
CieloViento
TemperaturaViento
HumedadViento
CieloTemperatura
Humedad
CieloTemperatura
Viento
CieloHumedad
Viento
TemperaturaHumedad
Viento
CieloTemperatura
HumedadViento
Otros Aspectos 34
Aproximaciones básicas
Selección hacia delante (forward selection) Se comienza por ∅ Búsqueda voraz añadiendo una atributo en cada
paso Eliminación hacia atrás (backward elimination)
Se comienza con todos los atributos Búsqueda voraz eliminando un atributo en cada paso
Comportamiento similar Eliminación hacia atrás genera subconjuntos más
grandes y clasificadores más precisos Selección hacia delante tiende a generara menos
atributos y facilita la comprensión del concepto
Otros Aspectos 35
Otros métodos de búsqueda
Búsqueda primero el mejor Mantiene lista de subconjuntos evaluados, ordenada
por rendimiento Criterio de parada para no recorrer todo el espacio
Búsqueda en haz Similar, limitando el número de subconjuntos
evaluados Algoritmos genéticos
Otros Aspectos 36
Métodos de envoltorio (I)
Los métodos de envoltorio realizan una búsqueda en el espacio de atributos para seleccionar el mejor subconjunto de atributos
Debido al tamaño del espacio de atributos, se suele utilizar un método de búsqueda voraz
El comportamiento de cada subconjunto de atributos considerado se evalúa estimando el comportamiento del clasificador inducido con dichos atributos Típicamente error y validación cruzada
Otros Aspectos 37
Métodos de envoltorio (II)
Computacionalmente costoso: Con forward selection o backward elimination se
multiplica el tiempo de procesamiento por k2, con k el número de atributos.
En general, no compensa utilizar métodos de búsqueda más complejos
Propenso al sobreajuste al utilizar el método de aprendizaje como evaluador
Es difícil predecir en que condiciones se justifica su uso Prueba y error
Otros Aspectos 38
Ejemplo selección atributos
Datos originales: 20 atributos
Otros Aspectos 39
Todos los atributos
Método: Alternating Decision Trees.
Tasa de acierto: 76%
Otros Aspectos 40
FiltroSelección hacia delante, bpm Atributos seleccionados: 10 atributos. Tasa acierto: 80,6
Otros Aspectos 41
EnvoltorioSelección hacia adelante Atributos seleccionados: 5 atributos. Tasa acierto: 87,7
Otros Aspectos 42
Discusión
En general, mejores resultados lo métodos que evalúan subconjuntos de atributos (filtro o envoltorio) pero Coste computacional
Con k atributos, puede ser necesario considerar hasta ≅k2 subconjuntos Si envoltorio y validación cruzara repetida...
Suponiendo validación cruzada con 10 particiones, sin repetir Si 100 atributos: 105 clasificadores!
Buenos resultados en algunos conjuntos de datos En muchos empeora ligeramente la tasa de error, pero mayor
eficacia computacional
Curiosidad: Naïve Bayes Selectivo Naïve Bayes utilizando como medida el error de resubstitución;
mejora su comportamiento en los conjuntos de datos donde se comporta peor, sin empeora los resultados donde NB se comporta bien.
Otros Aspectos 43
2 Procesado de la salida2.1 Combinación de modelos
En general, la toma de decisiones mejora cuando se contrastan opiniones diversas
Símil en aprendizaje Generar diversos modelos Combinar su salida
Ventajas Generalmente, aumento importante precisión
Inconveniente Modelos difíciles de comprender
Otros Aspectos 44
2.2 Descomposición bias-varianza
Análisis teórico origen del error de una hipótesis
Suponer infinitos clasificadores, generados con infinitos conjuntos
de entrenamiento independientes, de un tamaño dado infinitos conjuntos de prueba, independientes, de un
tamaño dado
Se identifican dos fuentes de error Bias: valor medio del error esperado. Está asociado al
método de aprendizaje Varianza: valor medio del error debido al conjunto de
entrenamiento usado en un escenario real
Otros Aspectos 45
Descomposición bias-varianza
Descomposición bias-varianza: el error esperado total de un clasificador es la suma de bias y varianza
La combinación de clasificadores puede disminuir la componente varianza
Dificultad práctica: generalmente no se dispone más que de un conjunto de entrenamiento
Alternativa: manipular el conjunto de entrenamiento para generar distintas hipótesis
Otros Aspectos 46
2.3 Bagging
Combina distintas hipótesis por mayoría (media si regresión) Método más simple Todas las hipótesis igual peso
Método ideal Obtener varios conjuntos de datos de
tamaño n, independientes, aleatoriamente Construir un clasificador con cada conjunto Combinar las predicciones de los
clasificadores
Otros Aspectos 47
Bagging
Bagging funciona porque reduce la componente varianza mediante voto
Dificultad: en muchos casos sólo se dispone de un conjunto de entrenamiento
Solución: generar distintos conjuntos de tamaño n muestreando con reemplazo
Otros Aspectos 48
Esquema Bagging
Conjunto
Entrenamiento
Inicial
Conjunto
Entrenamiento 1
Conjunto
Entrenamiento 2
Conjunto
Entrenamiento k
. . .
Algoritmo
Aprendizaje
Hipótesis 1
Hipótesis 2
Hipótesis k
Predicción 1
Predicción
Final
. . .
Predicción 2
Vot o
Predicción k
Otros Aspectos 49
Algoritmo Bagging
Generación de modelos
N número de instancias del conjunto de entrenamiento.Para cada cjto auxiliar a crear
Obtener aleatoriamente N instancias con reemplazo del cjto de entrenamientoAplicar el algoritmo de aprendizaje a dichas instanciasAlmacenar el modelo del resultado.
Clasificación
Para cada modelo generado:Predecir la clase de instancia usando el modelo
Devolver la clase que aparece con más frecuencia
Otros Aspectos 50
Discusión Bagging
Particularmente efectivo con métodos inestables Pequeñas modificaciones del conjunto de datos provocan
cambios importantes en la hipótesis (ej: árboles de decisión)
Puede mejorar haciendo más inestable el método (ej: eliminando la poda)
Ligera mejora si las hipótesis tienen asociada alguna medida de certeza: voto ponderado
Generalmente, la tasa de error decrece con el nº de clasificadores, que puede llegar a ser muy grande (miles) En algunos casos patológicos, el error pueda aumentar
No suele aumentar sobreajuste Puede ayudar con el ruido
Otros Aspectos 51
Modelos estables
Intuitivamente: la combinación de hipótesis funciona mejor
si estas son diferentes Bagging: métodos inestables
Alternativa: forzar la búsqueda de modelos que se complementen
Boosting: buscar nuevos modelos para las instancias mal clasificadas por los anteriores
Otros Aspectos 52
2.4 Boosting
Combina múltiples hipótesis generadas con el mismo algoritmo de aprendizaje
Asigna un peso a las hipótesis según su calidad
Utiliza voto ponderado Método iterativo Los nuevos modelos se ven influenciados por
el comportamiento de los anteriores Fuerza al algoritmo a centrarse en los ejemplos mal
clasificados por las hipótesis anteriores Justificación: modelos complementarios
Otros Aspectos 53
AdaBoost.M1
Asumir algoritmo aprendizaje puede manejar ejemplos ponderados Error: suma pesos ejemplos mal clasificados normalizado
por peso todas las instancias Inicialmente, asignar igual peso a todas las instancias Crear hipótesis y calcular error resubstitución, e, 0 ≤ e
≤ 1. Si e≠0, e<0,5 Modificar pesos ejemplos bien clasificados
peso peso * e/(1-e) Normalizar
Clasificación Peso hipótesis: -log [e/(1-e)] Sumar peso asignado a cada clase
Otros Aspectos 54
Esquema Boosting
ConjuntoInicial
ConjuntoEntrenamiento
AlgoritmoAprendizaje Hipótesis i
Predicción
Final
Peso i ∑i
Predicción(i)
Error
Otros Aspectos 55
Algoritmo AdaBoost.M1
Generación de modelosPara cada instancia i del conjunto de aprendizaje
Asignar Pi Peso (mismo valor para todas)Para cada iteración t
Aplicar el Algoritmo de aprendizaje al conjunto de aprendizaje ponderadoAlmacenar el resultadoCalcular error e del modelo y almacenarloSi (e == 0) or (e >= 0.5)
Terminar la generación de modelosPara cada instancia i del conjunto de aprendizaje
Si (i bien clasificada)
Para cada instancia i del conjunto de aprendizajeNormalizar Pi
e)(1e
·PP ii −=
Otros Aspectos 56
Algoritmo AdaBoost.M1
Generación de modelosPara cada instancia i del conjunto de aprendizaje
Asignar Pi Peso (mismo valor para todas)Para cada iteración t
Aplicar el Algoritmo de aprendizaje al conjunto de aprendizaje ponderadoAlmacenar el resultadoCalcular error e del modelo y almacenarloSi (e == 0) or (e >= 0.5)
Terminar la generación de modelosPara cada instancia i del conjunto de aprendizaje
Si (i bien clasificada)
Para cada instancia i del conjunto de aprendizajeNormalizar Pi
e)(1e
·PP ii −=
Otros Aspectos 57
Algoritmo AdaBoost.M1
ClasificaciónPara cada clase c
Asignar peso Pc=0Para cada modelo t
Sumar -log [e/(1-e)] al peso de la clase predicha por el modelo
Devolver la clase con el mayor peso
Otros Aspectos 58
Discusión Boosting
Necesita pesos Adaptar algoritmo de aprendizaje Muestreo con reemplazo según pesos
Teóricamente: Error resubstitución decrece exponencialmente con
ejemplos de entrenamiento Error verdadero disminuye si
Clasificadores individuales no muy complejos Su error resubstitución no aumenta muy rápidamente
Puede sobreajustar
Otros Aspectos 59
Boosting y clasificadores base
Clasificador base: clasificador que se construye en cada iteración
Boosting funciona particularmente bien si los clasificadores base son simples
Requisito clasificador base Error resubstitución < 50% También denominados clasificadores débiles
Ejemplo paradigmático Boosting de stumps
Otros Aspectos 60
Métodos híbridos
Métodos homogéneos: combinan el mismo tipo de modelo Bagging, boosting Combinación: voto (ponderado)
Métodos híbridos Combinan clasificadores de distinto tipo Reemplazan el mecanismo de voto Stacking, Cascading
Otros Aspectos 61
2.5 Stacking
Introduce el concepto de meta-aprendizaje para reemplazar el mecanismo de voto
Meta-Aprendizaje: Nivel 0: Predicciones de los modelos base Nivel 1: Proporciona predicción final a partir de niveles 0
Fuente deDatos
Algoritmo 1
Algoritmo 2
Algoritmo k
Clasificador 1
Clasificador 2
Clasificador k
Algoritmo
Aprendizaje
Predicción 1
Predicción 2
Predicción k
PredicciónFinal
. . . . . .
Nivel 0 Nivel 1
(Meta)
Otros Aspectos 62
Entrenamiento Stacking
No se pueden usar las predicciones del nivel 0 para generar datos para entrenar nivel 1
Reservar datos para entrenamiento nivel 0, entrenamiento meta aprendiz, prueba Entrenar algoritmos nivel 0 con datos entrenamiento nivel 0 Clasificar con ellos las instancias de entrenamiento meta aprendiz
y añadir clase: conjunto de entrenamiento nivel 1 Unir conjuntos entrenamiento 0 y meta aprendiz y generar nuevos
clasificadores base -ligera mejora- Entrenar meta aprendiz con conjunto de nivel 1
Método habitual: validación cruzada (interna) Validación cruzada cada algoritmo nivel 0 Crear instancias nivel 1 con cada instancia de cada partición Permite al nivel-1 usar todos los ejemplos de entrenamiento
Otros Aspectos 63
Discusión Stacking
Algoritmos Nivel 0; cualquiera Nivel uno: modelos “globales, suaves” –David Wolpert-
Nivel 0 casi todo el trabajo, nivel 1 árbitro Justificación: reduce riesgos sobreajuste Modelos lineales: perceptrón, árboles con modelos lineales en
los nodos hojas Pero: Naïve Bayes puede ir bien
Menos popular que boosting, bagging Dificultad de análisis teórico: caja negra Múltiples variantes
Se puede interpretar como una mejora (generalización) del método de votación
Si los clasificadores base pueden generar medidas de certeza, suele funcionar mejor
Otros Aspectos 64
Biboiografía
Ethem Alpaydin. Introduction to Machine Learning. The MIT Press, 2004
Jiawei Hand and Micheline Kamber. Data Mining: Concepts and Techniques. Morgan Kaufmann, 2nd edition, 2006.
Pang-Ning Tan, Michael Steinbach, and Vipin Kumar. Introduction to Data Mining. Addison Wesley, 2006.
I. H. Witten and E. Frank. Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann, 2nd edition, 2005.