Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SISTEMAS INTELIGENTES
T7: Introduccin al Aprendizaje Automtico
{jdiez, juanjo} @ aic.uniovi.es
Universidad de Oviedo
ndice
Definicin de Aprendizaje Automtico Objetivos Aplicaciones: caractersticas, ejemplos Diseo de sistemas de aprendizaje inductivo
Experiencia de entrenamiento Funcin objetivo: representacin Aprendizaje: aproximacin de la funcin objetivo Evaluacin
Universidad de Oviedo
Definiciones
Induccin: generalizar a partir de observaciones para sintetizar conocimiento de ms alto nivel Aprendizaje Inductivo: razonamiento hipottico de casos particulares a casos generales Aprendizaje:
es la identificacin de patrones, de regularidades, existentes en la evidencia es la prediccin de observaciones futuras con plausibilidad es eliminacin de redundancia = compresin de informacin
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Un programa de ordenador APRENDE a partir de una experiencia E a realizar una tarea T (de acuerdo con una medida de rendimiento P), si su rendimiento al realizar T, medido con P, mejora gracias a la experiencia E [Mitchell, 97]
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Objetivos
Producir programas capaces de mejorar su rendimiento a travs de la experiencia
Mejorar al realizar una tarea T Respecto a una medida de rendimiento P Gracias a la utilizacin de la experiencia E Construir sistemas capaces de adquirir el conocimiento necesario para realizar tareas, usando la experiencia acumulada
Proporcionar a los expertos de un dominio conocimiento explcito de cmo se resuelve un determinado problema
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Disciplinas relacionadas
Inteligencia Artificial: representacin simblica de conceptos, bsquedas, sistemas expertos, Estadstica: caracterizacin de errores, muestras, intervalos de confianza, test estadsticos, Mtodos bayesianos: el teorema de Bayes es clave para el clculo de la probabilidad de las hiptesis, Teora de Control: procedimientos para el control de procesos Teora de la Informacin: medidas de entropa, codificacin de hiptesis, MDL, Teora Computacional: lmites tericos de la complejidad de las tareas de aprendizaje, Psicologa: ley de la energa de la prctica, ms experto, ms tiempo, ms difcil mejorar, Neurologa: inspira las redes neuronales artificiales, Filosofa: la navaja de Ocamm, la hiptesis ms simple es la mejor,
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Reconocimiento del habla. SPHINX Reconocimiento de fonemas y de palabras Jugador de backgammon de nivel mundial TD-Gammon
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Universidad de Oviedo
Aplicaciones tpicas
Problemas donde no hay expertos humanos
Tareas que los humanos hacemos pero no podemos describir cmo las hacemos
Reconocimiento de caracteres
Predicciones burstiles
Problemas donde el volumen de datos hace imposible a los humanos realizar cualquier anlisis
Tcnicas de Data-Mining capaces de encontrar relaciones dentro de grandes BDs intratables a ojo
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Ms ejemplos de aplicaciones de AA
Carciognesis de compuestos qumicos Perfil de clientes Concesin de crditos hipotecarios Sistemas automticos de filtrado (correo, noticias) Entornos personalizados (buscadores, ventas,) Construccin automtica de portales web Anlisis de textos Sistemas de reconocimiento de texto y voz Robots (conductores, carteros, jugadores de ftbol,) Juegos (DEEP-BLUE)
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Podemos hacerlo ms rpido sin necesidad de la experiencia, conocemos el concepto de orden y sabemos aplicarlo
Conocemos el modelo fsico que sigue ese proceso, podemos calcularlo precisa y eficientemente
AA: resuelve problemas que no se pueden modelar, pero de los que tenemos (o podemos adquirir) experiencias sobre su resolucin
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Universidad de Oviedo
Universidad de Oviedo
Produccin lechera
T = predecir la produccin de leche de vacas P = diferencia entre la prediccin y la produccin real E = datos genticos de vacas y su produccin lechera
Universidad de Oviedo
Universidad de Oviedo
Universidad de Oviedo
Universidad de Oviedo
Jugador de damas
T = jugar a las damas P = % partidas ganadas frente a oponentes E = partidas jugadas?
Universidad de Oviedo
Diagnstico de enfermedades: la experiencia proceder de los datos mdicos de pacientes junto al diagnstico que los mdicos hicieron
Es representativa del problema? Hasta que punto estamos modelando bien el problema con la experiencia utilizada? Podemos usar maestros como modelos o no:
los tenemos: diagnstico de enfermedades, calidad procede de una variable medible: produccin de leche no lo necesitamos para la tarea: agrupar clientes necesitaremos procesos para capturarla: gestor de
Universidad de Oviedo
Produccin lechera:
< descripcin gentica de una vaca > <Produccin anual en litros>
Dependiendo de la representacin de la experiencia elegida, estaremos enfocando el problema hacia un tipo de aprendizaje
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Tipos de clientes:
< datos del cliente > No hay clase, ni nmero que aprender a predecir
Jugador de damas
< posicin del tablero > < descripcin de una posicin > < movimiento elegido > < valoracin de la posicin >
Universidad de Oviedo
3. Determinar la representacin que utilizaremos para la funcin objetivo 4. Seleccionar el algoritmo de AA a utilizar y aplicarlo para aprender la funcin objetivo 5. Evaluar el sistema
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Universidad de Oviedo
Produccin de leche
f : Vaca
Calidad de la carne
Jugador de damas
f2 : Tablero (ms operativa) Si determinamos f2, es fcil decidir el mejor movimiento dada una posicin (es decir, tener f1)
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Universidad de Oviedo
Universidad de Oviedo
Main memory (Kb) 256 6000 8000 32000 512 8000 1000 4000
Channels MIN 16 8 0 0
MAX 128 32 0 0
Universidad de Oviedo
Sensores poco fiables, captura manual de datos, manipulacin de datos, etc Atributos irrelevantes para el problema: no influyen en el conocimiento que trata de inducirse Atributos redundantes (mal de la dimensionalidad)
Missing values: puede ocurrir que para algunos ejemplos desconozcamos el valor de alguno de sus atributos Relacin entre el n de atributos y el n de ejemplos disponibles
Muchos atributos y pocos ejemplos: el conocimiento inducido puede ser poco fiable
Universidad de Oviedo
Tcnicas de Aprendizaje
Aprendizaje no supervisado: el conjunto de observaciones no tienen clases asociadas
Se emplea para la Descripcin Objetivo: detectar regularidades en los datos Agrupaciones (clustering), contornos, asociaciones, valores anmalos
Se emplea para la Prediccin Se aprende un clasificador Sirven para explicar las causas que llevan a tomar una decisin
Aprendizaje por refuerzo: el sistema recibe recompensas en funcin de las decisiones que toma
Universidad de Oviedo
Agrupamiento
Anlisis
Dependencias
Visualizacin
Conocimiento
Universidad de Oviedo
Aprendizaje No Supervisado
Podemos agrupar los ejemplos en base a sus caractersticas?
Atributo 2
Atributo 1
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Nuevos casos
Modelo
Conocimiento
Prediccin
Universidad de Oviedo
Ejemplos:
determinar la variedad de una especie de flores estimar el partido al que voto de una persona
Ejemplos:
estimar la pureza en la produccin de zinc clasificar productos agroalimentarios en escalas discretas
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Si una hiptesis aproxima bien la funcin objetivo sobre un conjunto de entrenamiento suficientemente grande, tambin aproximar bien la funcin objetivo sobre los ejemplos no observados
Universidad de Oviedo
Aprendizaje Supervisado
Podemos aprender a clasificar ejemplos de estas tres clases?
Atributo 2
Atributo 1
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Universidad de Oviedo
4. Seleccionar el algoritmo de AA a utilizar y aplicarlo para aprender la funcin objetivo 5. Evaluar el sistema
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Universidad de Oviedo
Necesitamos conocimiento simblico, si queremos ofrecer explicaciones. Podemos usar reglas o rboles de decisin Es un problema de regresin, podemos optar por representarla mediante una red neuronal Podemos usar mtodos bayesianos para determinar la probabilidad de que pertenezca a cada una de las clases en funcin del valor de los atributos Podemos usar una solucin basada en mquina de vectores soporte que nos permita ordenar los correos de acuerdo a su importancia
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Produccin de leche
Calidad de la carne
Organizador de correo
Universidad de Oviedo
Podemos elegir una combinacin lineal de los atributos empleados para describir la posicin del tablero
x1: x2: x3: x4: x5: x6: n n n n n n de de de de de de piezas negras que quedan piezas blancas que quedan damas negras que quedan damas blancas que quedan piezas negras que estn atacadas piezas blancas que estn atacadas
Demasiado simple? Podra no ser lineal, por ejemplo, un polinomio de un cierto grado
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Si es as, nuestra hiptesis est condenada a equivocarse sobre algunos ejemplos (lo cual no siempre es grave)
Ms difcil ser aprender la funcin h Ms ejemplos de entrenamiento sern necesarios Pero ms capacidad tendr para aproximar la funcin objetivo f
En muchas ocasiones, cuando no se tiene muy claro que tipo de representacin es ms adecuada, se prueban varias y se evala la calidad de las soluciones alcanzadas (evaluacin)
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Separadores lineales
RBF
Reglas/rboles de decisin
Basadas en ejemplos
Universidad de Oviedo
Universidad de Oviedo
Ej: si queremos obtener un separador lineal, podramos usar: una red neuronal, una mquina de vectores soporte, el algoritmo OC1, y otros muchos
Es posible utilizar varios algoritmos distintos o diferentes implementaciones y comparar posteriormente su rendimiento
Ej: hay muchas implementaciones diferentes de mquinas de vectores soporte con distintos sistemas de optimizacin
A veces se selecciona el algoritmo o la implementacin en funcin de la plataforma o de otras herramientas con las que deba utilizarse
Universidad de Oviedo
Es habitual ejecutar el algoritmo de AA con distintos parmetros para evaluar y comparar su rendimiento A veces se utilizan algoritmos genticos para ajustar los parmetros de un AA
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Clustering jerrquicos k-means Mapas auto-organizados (SOM) [Kohonen, 95] EM [Dempster et al. 77] Cobweb [Fisher, 87]
Anlisis exploratorios:
Universidad de Oviedo
Clasificacin: ID3, C4.5, CART Regresin: CUBIST C4-5rules, CN2, ABANICO, INNER, k-NN (Nearest Neighbor) IB Mltiples sistemas de reduccin de instancias: DROP, CNN, BETS, RISE Perceptron Redes Multicapa (backpropagation) Naive Bayes
Hbridos:
Clasificadores Estadsticos
Basados en kernels:
Universidad de Oviedo
Universidad de Oviedo
Evaluacin
El sistema funciona bien en la prctica? Generaliza bien en situaciones no vistas durante el entrenamiento? Tratamos de analizar si las regularidades observadas en la muestra (finita) usada en el entrenamiento se mantiene en la distribucin que representa Aprendizaje supervisado:
Normalmente se separan algunos ejemplos, no se utilizan para entrenar, y con ellos se evala la calidad de la hiptesis inducida Hay distintas tcnicas de evaluacin: Entrenamiento-test: dos conjuntos separados Hold-out: 66% ejemplos para entrenar, 33% para test Cross-Validation: se generan distintos cjtos de entrenamientotest Leave-one-out: se entrenan con todos los ejemplos menos uno y luego se evala sobre ese ejemplo
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Universidad de Oviedo
Cul es el mejor estimador que podemos utilizar para medir la precisin de h sobre ejemplos futuros, generados con la misma distribucin D? Cul es el error probable de ese estimador? Dado que el conjunto de datos disponible siempre ser limitado, cul es el mejor mtodo para aprender la hiptesis y evaluar su precisin? Si empleamos dos sistemas de aprendizaje diferentes, que generan hiptesis distintas, cul de ellas se comportar mejor?
Surge una necesidad evidente de disponer de estimadores que midan la calidad de las hiptesis sintetizadas por los sistemas de aprendizaje
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Espacio de Instancias X
f
Error
+ + + + + + + + + -
h -
No podemos calcularlo
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
errorS (h) =
1 S
( f ( x) h( x))
xS
Cmo de bueno es el error en una muestra como estimador del error verdadero? Dependemos de algn factor para hacer estimaciones del error verdadero a partir del error en una muestra? Podemos acotar el error verdadero de una hiptesis h, conocido su error en una muestra? La estadstica nos ayuda a responder a estas preguntas
Universidad de Oviedo
Durante el aprendizaje, para seleccionar una hiptesis adecuada Al final del aprendizaje, para indicar el nivel de confianza de la hiptesis elegida
Usar el error sobre los ejemplos del conjunto de entrenamiento (error de reescritura) para seleccionar la hiptesis es peligroso El sistema de aprendizaje tender a ajustarse en exceso a los datos de entrenamiento
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Sobre-ajuste (overfitting)
Clase
Una hiptesis h1 H se sobre-ajusta a una muestra S de datos si existe una hiptesis alternativa h2 H tal que:
Universidad de Oviedo
Sub-ajuste (underfitting)
Clase
Una hiptesis h1 H se sub-ajusta a una muestra de datos si existe una hiptesis alternativa h2 H tal que:
Universidad de Oviedo
Lamentablemente, lo normal es disponer de un conjunto de datos con pocos ejemplos No podemos lastrar el proceso de aprendizaje usando pocos ejemplos Qu alternativas tenemos?
Una opcin intermedia es separar parte de los ejemplos (conjunto de validacin) y utilizarlos para optimizar parmetros o tomar decisiones a la hora de seleccionar la hiptesis ms adecuada Usar mtodos de resampling para generar distintos conjuntos de entrenamiento/test
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Evitar el sobreajuste
Empricos
Validacin Cruzada
K-fold CV Leave-One-Out CV
Usar datos no etiquetados Tcnicas bayesianas PAC Minimum description length (MDL) Minimizacin del Riesgo Estructural (SRM)
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Tericos
Universidad de Oviedo
Conjunto de entrenamiento: para aprender hiptesis Conjunto de validacin: seleccionar hiptesis, ajustar parmetros, Conjunto de test: obtener un estimador no sesgado y con poca varianza del error verdadero
Los conjuntos de validacin y test deben cumplir las condiciones que indicamos antes para poder aproximar sus estimaciones mediante una distribucin normal
Universidad de Oviedo
K-fold CV
Es una manera de obtener conjuntos de entrenamiento (validacin) y test cuando tenemos pocos ejemplos Evita perder muchos ejemplos para entrenar y adems podemos obtener un buen estimador del error
K-fold CV es Divide los n ejemplos en k cjtos disjuntos (folds) Para i=1 hasta k Entrenar usando todos los folds menos i Emplear el fold i para estimar el error Devolver la media de los errores de los k folds Fin
Universidad de Oviedo
Leave-One-Out CV
Cuando k=n, es decir, tantos folds como ejemplos Permite entrenar con muchos ejemplos Tiene un coste computacional muy alto Hay situaciones en que es inadecuado
Ejemplo: clasificador clase mayoritaria Si tenemos un conjunto de datos con dos clases y balanceado El error estimado ser del 100%!!!!
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Supongamos que hacemos CV con dos sistemas de aprendizaje Es significativa la diferencia entre sus medias? Dado que son pocos datos, usamos test-t pareado de Student Nos permite asegurar con un cierto nivel de confianza si uno de los sistemas es mejor que el otro
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico
Universidad de Oviedo
Terminologa
Funcin objetivo: Es la funcin verdadera f que pretendemos aprender Ejemplo (de entrenamiento): <x , f(x)> donde x es un vector de atributos y f(x) es la clase o etiqueta a la que pertenece x, en base a la funcin objetivo f Atributo: cada una de las componentes que permite representar los objetos x Espacio de ejemplos: espacio X de todos los posibles ejemplos Conjunto de Entrenamiento: conjunto de ejemplos de entrenamiento, representan una determinada muestra del espacio de ejemplos Hiptesis: funcin propuesta h para aproximar la funcin objetivo f Espacio de hiptesis: H conjunto de todas las hiptesis h que puede seleccionar un algoritmo de aprendizaje al tratar de aprender una funcin objetivo f
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico