INTRODUCCIÓN AL APRENDIZAJE AUTOMÁTICO
1. Aprendizaje Automático
- Subcampo IA: ordenadores aprenden sin ser explícitamente programados.
- Crea modelos a partir de datos (cambian según el tipo de datos al que se expongan)
- Generaliza comportamientos y reconoce patrones a partir de datos/ejemplos aprendizaje inductivo
- Programa aprende de la experiencia (E) respecto a una clase de tarea (T) y medida de rendimiento (P)
si su rendimiento (P) en la tarea (T) mejora con la experiencia (E).
Ejemplo: Jugar a las damas
T = Jugar a las damas.
E = Experiencia de jugar muchas veces.
P = Probabilidad de ganar la siguiente partida.
Programa juegue a las damas (tarea) cuanto + juegue (experiencia), + probabilidad de ganar (rendimiento)
2. Minería de Datos vs Aprendizaje Automático
Minería de Datos: extrae relaciones, tendencias, patrones existentes entre muchos datos.
Aprendizaje Automático: predice resultados futuros en función de datos existentes.
Entrena un conjunto de datos de entrenamiento que enseña al PC a darle sentido y a hacer
predicciones sobre un nuevo conjunto de ellos.
3. Tareas
Aprendizaje Supervisado
o Clasificación: clasifica una instancia en una clase.
o Regresión: predice un valor.
Aprendizaje No Supervisado
o Asociación
o Agrupamiento (clustering)
Aprendizaje por Refuerzo
1
TEMA 1: ÁRBOLES Y REGLAS DE DECISIÓN
Atributos, características, variables de entrada: variables independientes, predictores.
Instancias: ejemplos, datos, patrones.
Etiqueta, clase, variable de salida: variable dependiente, respuesta.
1. ID3
Quinlan, 83
- CLS (Hunt, Marin, y Stone, 66) fue su precursor.
o atributos binarios.
o heurísticas para decidir el atributo escoger.
- Genera árboles de decisión a partir de ejemplos de partida.
- Encontrar el árbol más sencillo que mejor separa los ejemplos.
- Utiliza la entropía para elegir.
- Atributos de entrada nominales (sol, nubes, lluvias…)
* Discretizar: convertir atributos numéricos a nominales.
2
1.2 Algoritmo
a) Seleccionar atributo Ai que maximice la ganancia G(Ai).
b) Crear un nodo para ese atributo con tantos sucesores como valores.
c) Introducir los ejemplos en los sucesores según el valor que tenga el atributo Ai.
d) Por cada sucesor: si sólo hay ejemplos de 1 clase ck = etiquetarlo con ck si no, llamar a ID3 con tabla
formada por los ejemplos de ese nodo, eliminando la columna del atributo Ai.
1.3 Heurística
- Seleccionar atributo que mejor separe (ordene) los ejemplos según las clases.
- Entropía: mide el desorden de los subconjuntos; cómo está ordenado el universo; aleatoriedad.
- Teoría de la Información: calcula nº bits (información, preguntas sobre atributos) a suministrar para
conocer la clase a la que pertenece un ejemplo.
- Entropía de clasificación de colección de datos que pertenecen a 1 de entre 2 categorías (clasificación
binaria): I ∼ −p⊕ log2 p⊕ − p⊖ log2 p⊖ p⊕ + p⊖ = 1
p⊕ = proporción de ejemplos positivos sobre el total.
p⊖ = proporción de ejemplos negativos sobre el total.
1.4 Entropía Entropía máxima
- Entropía Máxima p⊕ = p⊖ = 0.5
A mayor entropía, menor ganancia.
- Entropía tiende a 0 cuanto más se diferencian las probabilidades.
- Con múltiples clases:
- Objetivo: minimizar entropía.
1.5 Ganancia de Información de un Atributo
- Esperanza reducción entropía al dividir el conjunto de datos original según el atributo.
2. Reglas de Decisión
- Cualquier árbol de decisión se puede convertir a reglas.
- Regla: estructura del tipo “Si-Entonces”
Ejemplo: SI Vivienda (zona) = 1 Y Sitio acceso = 0 ENTONCES Bueno
- Por cada rama del árbol, las preguntas y sus valores estarán en la parte izquierda de las reglas y la
etiqueta del nodo hoja correspondiente será la parte derecha (clasificación)
Ä Bias en ID3
Árboles con atributo con mayor información cerca de la raíz y más cortos.
Navaja de Occam: preferir hipótesis más sencillas que describan los datos.
Favorece atributos con muchos valores.
3
Ä Dificultades ID3
Objetivo ID3 memorizar conjunto entrenamiento¡¡malo!!buscamos modelos generales.
o ¿Cuándo parar de subdividir el árbol? sobreadecuación (overfitting), poda.
o ¿Qué hacer con valores continuos de atributos? discretización, rangos, C4.5 = J48.
o ¿Qué hacer con valores discretos con muchos valores? DNI
o ¿Qué pasa si el coste de conocer el valor del atributo no es constante? presión sanguínea vs. biopsia
(penalizar atributos difíciles de conseguir)
o ¿Qué hacer cuando los ejemplos vienen incrementalmente? ID4, ID5.
o ¿Qué ocurre con atributos con valores desconocidos? asignar valor + probable // distribución probabilidad.
o ¿Qué ocurre cuando las clases son continuas? M5
2.2 Evaluación
- Dividir en 2 partes conjunto de ejemplos: entrenamiento (E) y test (T) (70,30)
- Aplicar técnica al conjunto de entrenamiento, generando un clasificador (ej: ID3)
- Calcular nº de errores/aciertos que clasificador comete en el test (T).
2.3 Cálculo del Error
3. Validación Cruzada
- Problema de evaluación: sesgo conjuntos E y T.
- Solución: validación cruzada k-veces
a) Divide conjunto en “k” partes iguales (Ei)
b) Realiza “k” veces:
entrena con E − Ei (i=1...k)
calcula el error con el Ei, ei
- Estima tasa de error con la media de los errores
4. Sobreadecuación (Overfitting): hipótesis se refinan tanto que describen muy bien las
instancias, pero el error de clasificación crece en ejemplos externos. El modelo no aprende
de datos generales, si no de unos específicos. Se busca que el error de validación sea bajo.
La solución para que el árbol no crezca es “podar”.
- Prepoda: árbol no memorice datos de entrenamiento (pierde capacidad generalización)
Generar curvas de E y T. Cuando la de validación empiece a crecer, parar la ejecución de ID3.
- Postpoda: quitar ramas y por cada corte comprobar el error generado. Generar reglas equivalentes y
eliminar condiciones/reglas si el error de clasificación es menor sin ellas.
Si es igual que el original quedar con el árbol más sencillo.
4
5. Atributos con Valores Continuos [C4.5 (J48)] el atributo de salida necesariamente es
nominal; los valores de entrada nominales o numéricos.
- Ordenar valores numéricos del atributo (de menor a mayor)
- Hallar puntos de corte
Ejemplo:
Hay 2 puntos de corte (36-44) y (72-78), en los que se pueden calcular los valores medios: 40 y 75. Para crear el
nodo de decisión:
Crear atributos dinámicamente (peso < 40)
Hacer distinción en el mismo nodo (peso < 40, 40 < peso < 75, 75 < peso)
6. Atributos con muchos valores
- Por cada valor “v” del atributo “A”, se puede crear un atributo binario (A = v)
- Para mejorar eficiencia, sólo se crean cuando son necesarios.
- ID3 prefiere atributos con más valores puede desfavorecer utilizando la medida razón de ganancia
(GainRatio, GR):
- Problema: cuando nij tiende a n denominador hace 0.
7. Atributos con Costes Variables
- Se puede usar
o Ganancia de información/unidad de coste
o Ganancia de información/unidad de coste2
- Normalmente, no se llega al árbol de decisión óptimo
8. Versiones Incrementales: ID4, ID5
Ä ID4 (Schlimmer y Granger, 86)
o reconstrucción del árbol por degradación de consistencia.
o mantienen estadísticas de distribución de valores de atributos clasificados bajo cada nodo.
o si el valor de información del atributo baja con respecto al de otro, se rehace el subárbol.
o no asume perfecta consistencia con los datos.
o operador de especialización: crecer un árbol
o operador de generalización: borrar un subárbol
o supone un retroceso simulado
Ä ID5 (Utgoff, 89)
o reorganiza árboles (en vez de borrar y crecer)
o necesita menos ejemplos de entrenamiento.
9. Complejidad
- ID3 crece linealmente con el nº de instancias.
- ID3 crece exponencialmente con el nº de atributos.
- Tener más ejemplos no significa mejorar. Puede haber ejemplos antiguos representativos; es mejor
escoger los últimos.
5
TEMA 2: ASPECTOS METODOLÓGICOS
1. Proceso de Análisis de Datos
- Requiere más pasos que el uso de un algoritmo inductivo.
- Actividades usuales
o Selección
datos de entrada
atributos y valores
algoritmo
parámetros
o Ejecución de algoritmo
o Análisis de resultado
o Visualización
2. Metodología (Langley y Simon, 98)
a) Formular Problema
o pasar de cualquier tarea a una de análisis de datos (clasificación, clustering…)
o subdividir un problema en subproblemas de clasificación.
b) Determinar Representación (atributos y clases)
o directamente
o hablando con expertos
o a partir de otras técnicas (filtros)
c) Recolectar Datos de Entrenamiento
d) Analizar Datos
e) Evaluar lo aprendido
o validación cruzada
o expertos
f) Desarrollar, aplicar e integrar la base de conocimiento resultante
3. Cross Industry Standard Process for Data Mining (Crisp-Dm)
Metodología de desarrollo de procesos de minería de datos
6
4. Selección de Datos de Entrada y Pre-Procesamiento
- Selección de Datos
o aleatoriamente
o los que se parecen más entre sí
o los que se diferencian más entre sí
o según alguna distribución
o los que están en las fronteras entre las clases
o los que tienen mayores errores de clasificación se tratan más veces (boosting)
o Incremental: incorporar sucesivamente datos de un conjunto reserva
- Pre-procesamiento
o Datos
Reducción ruido
Tratamiento de valores desconocidos
Quitar outliers
Rebalanceo
o Atributos
Normalización (rango 0-1)
Codificación one-hot
Creación de atributos derivados
5. Selección de Atributos
- Reducción dimensionalidad datos
- Algunos atributos pueden ser redundantes (ej: salario, categoría social)
o ralentiza aprendizaje
o confunden a clasificadores
- Irrelevantes (ej: DNI para saber si una persona va a devolver un crédito)
- Maldición dimensionalidad: nº datos necesarios para construir un modelo predictivo (sin
sobreadaptarse) puede crecer exponencialmente con el nº de dimensiones (atributos)
- A veces es útil tener el conocimiento de los atributos relevantes para una tarea.
- Menos atributos = modelo más simple y fácil de entender
*Técnicas
- Ranking/filtrado Atributos (Filter): ordenarlos según X criterio, mirando características.
- Selección Subconjuntos (Wrapper): buscar en el espacio de los conjuntos de atributos.
*Búsqueda: cualquier técnica de búsqueda
*Evaluación: correlación, entropía, información mutua…
*Criterio de Parada: porcentaje, umbral, iteraciones…
7
Técnicas de “Filter”
- Dados atributos A1, A2, …., An evalúa cada Ai independientemente, calculando medidas de
correlación del atributo con la clase.
- Atributo A1 correlacionado con la clase conocer su valor implica poder predecir la clase.
Ej1: sexo correlacionado con gusto del fútbol, DNI no. Ej2: salario correlacionado con devolver crédito.
- Criterios evaluación atributos
o Entropía (information gain) árboles de decisión
o Chi-Score
o F-Score...
- Una vez evaluados y ordenados, se quitan los peores.
- Ventajas: rápido.
- Desventajas
- No elimina atributos redundantes.
- No detecta atributos que funcionan bien conjuntamente, pero mal de manera separada.
Técnicas de “Wrapper”: en ocasiones 2 atributos por separado no dan información, juntos sí.
- Ejemplo: un problema de clasificación de textos en 2 clases “informática” y “filosofía” con los
atributos booleanos “inteligencia” y “artificial”, ciertos si esas palabras aparecen en el texto y falsos
en caso contrario.
Por separado no permiten distinguir entre informática y filosofía
IF inteligencia=si THEN ?; IF artificial=si THEN ?
Pero juntos sí:
IF inteligencia=si Y artificial=si THEN “informática”
El objetivo de la selección de atributos es encontrar el subconjunto relevante.
- Búsqueda Exhaustiva: método más preciso.
- Búsqueda en el espacio de estados de los conjuntos de atributos
- Se puede comenzar por
o conjunto de atributos de entrada completo
o conjunto vacío de atributos
- Evaluación de cada nodo (subconjunto de atributos): llamando al algoritmo inductivo.
- Métodos Wrapper: evalúan subconjunto de atributos ejecutando un algoritmo de
entrenamiento de modelos concreto, sobre un conjunto de datos (sólo con las columnas
que se quiere evaluar)
- Obtienen subconjuntos de atributos adecuados para un algoritmo concreto.
- Ventaja: evalúan atributos de los subconjuntos conjuntamente.
- Desventaja: lentos (ejecutar algoritmo de aprendizaje muchas veces)
8
6. Extracción De Atributos: PCA
Análisis de componentes principales (PCA: Principal Component Analysis)
- Funciona con atributos numéricos.
- Proyección del espacio de atributos original a 1 reducido:
x1, x2, …, xn → P1, P2, …, Pp donde p ≤ n
- Características Pi:
o Independientes entre sí.
o Ordenados según su relevancia (o contenido informacional)
o Cada atributo Pi = ki1 · x1 + ki2 · x2 + … + kin · xn Construye nuevos atributos a partir de la
combinación lineal de los anteriores.
- La ordenación permite elegir un número “m” de características o atributos relevantes.
- Ventajas: puede determinar la dimensionalidad “real” de los datos (ej: imaginar datos en
forma de elipse de 2 dimensiones embebida en 20 dimensiones. PCA identificará fácilmente
que con sólo 2 dimensiones se explica toda la varianza)
- Desventajas: método no supervisado. Puede eliminar atributos que pueden ser necesarios
para discriminar bien las clases.
9
TEMA 3: REDES NEURONALES
- Búsqueda de algoritmos capaces de procesar información como un cerebro humano.
- Neurona Artificial: unidad elemental de una red de neuronas artificiales.
o Características
Recibe señales de entrada procedentes del mundo exterior/de otras neuronas.
Señales de entrada recibidas mediante conexiones (tienen nº real asociado peso)
Procesa la información recibida mediante operaciones simples.
Emite una señal de salida como respuesta a señales de entrada.
Distribuidas en capas de
diferentes niveles
conexiones unen neuronas de
misma/distinta capas.
- Aprendizaje de la Red: red modifica pesos de conexiones para que las salidas se adapten al
funcionamiento correcto. Se realiza en base a un criterio:
o Aprendizaje Supervisado: para cada ejemplo existe una respuesta deseada. Esta se
compara con su salida deseada y en base a ello, se ajustan los pesos de la red.
o Aprendizaje No Supervisado: no se especifica la respuesta correcta a la red. Esta
descubre las relaciones entre los ejemplos con reglas de aprendizaje.
- Perceptrón Simple: forma simple de red de neuronas.
10
11