Sei sulla pagina 1di 63

Universidad de Oviedo

Centro de Inteligencia Artificial

SISTEMAS INTELIGENTES
T7: Introduccin al Aprendizaje Automtico
{jdiez, juanjo} @ aic.uniovi.es

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

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

Tcnicas de aprendizaje: tipos, conceptos bsicos y ejemplos


Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

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

Centro de Inteligencia Artificial

Una Definicin de Aprendizaje Automtico

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

Centro de Inteligencia Artificial

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

Centro de Inteligencia Artificial

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

Centro de Inteligencia Artificial

Algunas aplicaciones (clsicos) (I)


Conducir un vehculo. ALVINN 100 Km/hora durante 150 Kms en autopista, RALPH, ms de 4500 kms desde Pittsburgh hasta San Diego

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

Centro de Inteligencia Artificial

Algunas aplicaciones (clsicos) (II)


Clasificacin de estructuras astronmicas

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Aplicaciones tpicas
Problemas donde no hay expertos humanos

Importancia econmica de qtls en secuencias genticas

Tareas que los humanos hacemos pero no podemos describir cmo las hacemos

Reconocimiento de caracteres

Problemas donde la funcin objetivo cambia frecuentemente

Predicciones burstiles

Situaciones donde cada usuario tiene su propia funcin objetivo

Adaptacin de interfaces, spam, gestin de correo electrnico

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

Centro de Inteligencia Artificial

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

Centro de Inteligencia Artificial

Algunos problemas que no son de AA


Aprender a ordenar una lista de nmeros

Podemos hacerlo ms rpido sin necesidad de la experiencia, conocemos el concepto de orden y sabemos aplicarlo

Aprender la velocidad a la que cae un objeto desde una cierta altura

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

Centro de Inteligencia Artificial

Etapas para el diseo de sistemas de AA


1. Elegir la experiencia que usaremos para entrenar el sistema de aprendizaje 2. Definir el tipo de funcin objetivo que pretendemos aprender 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

Centro de Inteligencia Artificial

Diagnstico de una enfermedad


T = diagnosticar la presencia de una enfermedad P = % diagnsticos correctos E = datos mdicos de pacientes y el diagnstico correcto realizado por un mdico

Habr que considerar:


Qu parmetros mdicos usaremos para describir el estado de los pacientes? Seguramente dispondremos de mucha informacin y no toda ser til Qu tipo de conocimiento es ms til para aprender a diagnosticar la enfermedad? Queremos aprender a diferenciar pacientes de dos clases: los que padecen la enfermedad y los que no Es una herramienta consultiva o predictiva?
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

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

Habr que considerar:


Qu informacin gentica usaremos para describir los animales? La seleccin de la informacin gentica que creemos influye en la produccin lechera ser decisiva Qu tipo de conocimiento es ms til para aprender a predecir la produccin futura? Queremos aprender a asignar un valor numrico a cada animal que ser la leche que producir
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Calidad crnica de una canal


T = valorar la calidad de acuerdo a una escala definida P = grado de acierto de las calidades propuestas E = canales y la calificacin asignada por los expertos

Habr que considerar:


Cmo representamos las caractersticas de la canal de un animal? Podemos usar imgenes, medidas, o variables fsicoqumicas de la carne Qu tipo de conocimiento es el adecuado para valorar la calidad de acuerdo a una escala? Situacin intermedia entre aprender clases y asignar valores numricos: tenemos clases pero entre ellas existe una relacin de orden
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Organizador de correo electrnico


T = ordenar el correo electrnico entrante de acuerdo a su importancia para el usuario P = concordancia entre el orden propuesto y el orden de lectura del usuario E = gestin diaria del correo por parte del usuario

Habr que considerar:


Cmo representamos las caractersticas de un correo electrnico? Usar el ttulo, el remitente, el contenido, Qu tipo de conocimiento es el adecuado para ordenar los correos de acuerdo a su importancia? El sistema se presta a valorar numricamente cada correo, o a determinar si uno es ms importante que otro. Enfoques distintos, diferentes sistemas de AA Cmo medir la utilidad y el rendimiento del sistema?
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Tipos de clientes de una empresa


T = descubrir distintos grupos de clientes P = eficacia de la campaa de publicidad posterior E = hbitos de consumo de los clientes

Habr que considerar:


Cmo representamos las caractersticas de un cliente? Seleccin de las caractersticas que sean ms tiles para diferenciarlos Qu tipo de conocimiento necesitamos generar? En este caso pretendemos agruparlos sin disponer previamente de otros clientes que han sido agrupados No hay clases predefinidas ni valores numricos que asignar
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Jugador de damas
T = jugar a las damas P = % partidas ganadas frente a oponentes E = partidas jugadas?

Habr que considerar:

Cmo representamos las situaciones de una partida?


No resulta fcil describir un tablero o al menos hay muchas formas posibles de hacerlo

Qu tipo de conocimiento es ms til para aprender a jugar partidas de damas?


Queremos aprender a decidir cul es el movimiento ms apropiado dada una posicin del tablero No aprendemos ni clases ni asignaremos nmeros Hay otra forma de hacerlo?
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Elegir la experiencia de entrenamiento (I)


Clave en el proceso de aprendizaje: es a partir de lo que generalizamos. Si es mala, incompleta,, saldr seguro mal! Hay problemas en los que nos vendr dada

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:

A veces carne A veces A veces A veces correo

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

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Elegir la experiencia de entrenamiento (II)


Diagnstico de enfermedades:
< variables mdicas > <SI | NO>

Produccin lechera:
< descripcin gentica de una vaca > <Produccin anual en litros>

Organizador de correo electrnico:


< remitente, ttulo, tamao > < palabras [en/no en] el correo> < este correo > lo ley antes que < Valoracin del usuario > < Orden de lectura > < este correo >

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

Centro de Inteligencia Artificial

Elegir la experiencia de entrenamiento (III)


Calidad crnica de una canal:
< foto de la canal > < medidas de la canal > < categora: S | E | U | R | O | P > < categora: numrica >

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 >

Hay representaciones que resultaran ms difciles de aprender que otras


Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Etapas para el diseo de sistemas de AA


1. Elegir la experiencia que usaremos para entrenar el sistema de aprendizaje
2. Definir el tipo de funcin objetivo que pretendemos aprender

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

Centro de Inteligencia Artificial

Definir el tipo de la funcin objetivo (I)


Qu queremos aprender exactamente? Definimos cmo es la funcin objetivo que queremos aprender Una misma tarea se puede aprender de distintas formas, hay que concretar! Existe una funcin objetivo (perfecta) f que desconocemos El aprendizaje aproximar esta funcin mediante una funcin del mismo tipo que denominaremos hiptesis, h Sencillez, aprender lo necesario
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Definir el tipo de la funcin objetivo (II)


Diagnstico de enfermedades

f : Paciente {SI , NO}

Produccin de leche

f : Vaca

Calidad de la carne

f : Canal { S,E,U,R,O,P} f1 : Tablero Movimiento (difcil de calcular)

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

Centro de Inteligencia Artificial

Datos de entrenamiento (I)


La experiencia a utilizar y el tipo de funcin objetivo se plasma en la definicin de los datos que se emplearn para aprender El proceso de aprendizaje tambin se denomina entrenamiento Los datos usados durante el aprendizaje (entrenamiento) se denomina conjunto de entrenamiento
Atributos Atr-1 ejemplo 1 ejemplo m Atr-n Clase(opcional) clase ej-1 clase ej-m

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Datos de entrenamiento (II)


Atributos: describen los ejemplos

Numricos: n reales o enteros Simblicos o Nominales: etiquetas sin relacin de orden

Clase: segn su tipo estaremos ante distintos tipos de aprendizaje


Aprendizaje supervisado: disponemos de una clase asociada a cada ejemplo Conjunto finito de clases simblicas: clasificacin (Ej: diagnstico enfer) Conjunto finito de clases simblicas con una relacin de orden entre ellas o valores enteros: regresin ordinal (Ej: calidad carne) Numrica (real): regresin (Ej: produccin de leche) Aprendizaje no-supervisado: sin clase No tenemos o nos interesa (Ej: tipos de clientes)
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Datos de entrenamiento (III)


Sepal length 5.1 4.9 7.0 6.4 6.3 5.8 Age Young Pre-presbyopic Pre-presbyopic Presbyopic Sepal width 3.5 3.0 3.2 3.2 3.3 2.7 Spectacle prescription Myope Myope Myope Hypermetrope Petal length 1.4 1.4 4.7 4.5 6.0 5.1 Astigmatism No No Yes No Petal width 0.2 0.2 1.4 1.5 2.5 1.9 Tear production rate Reduced Normal Normal Reduced Type Iris setosa Iris setosa Iris versicolor Iris versicolor Iris virginica Iris virginica Recommended lenses None Soft Hard None

Cycle time (ns) 125 29 480 480

Main memory (Kb) 256 6000 8000 32000 512 8000 1000 4000

Cache (Kb) 256 32 32 0

Channels MIN 16 8 0 0

MAX 128 32 0 0

Performance 198 269 67 45

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Problemas con los datos de entrenamiento


Mal de la dimensionalidad: muchos sistemas de AA sufren (se ralentizan) con la dimensin (n de atributos) del cjto de entrenamiento Ruido: ejemplos con la clase mal etiquetada, o atributos con valores con ruido

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)

Atributos mal elegidos:


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

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

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

Aprendizaje supervisado: cada observacin incluye un valor de la clase a la que corresponde


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

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Aprendizaje Inductivo No Supervisado


Datos de Entrenamiento Sistema de Aprendizaje
Procesos Inductivos

Agrupamiento

Anlisis

Dependencias

Visualizacin

Conocimiento

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

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

Centro de Inteligencia Artificial

Aprendizaje Inductivo Supervisado


Datos de Entrenamiento Sistema de Aprendizaje
Proceso Inductivo

Nuevos casos

Modelo
Conocimiento

Prediccin

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Tipos de Aprendizaje Supervisado


Dependiendo del nmero y tipo de clases: clase discreta: se conoce como clasificacin

Ejemplos:
determinar la variedad de una especie de flores estimar el partido al que voto de una persona

Si slo hay dos clases (V y F) se conoce como aprendizaje de conceptos


determinar si una persona tiene cncer

clase continua o discreta ordenada: se denomina regresin (o estimacin) y regresin ordinal

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

Centro de Inteligencia Artificial

Hiptesis del Aprendizaje Inductivo

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

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

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

Centro de Inteligencia Artificial

Aprendizaje Inductivo Supervisado


Clase

Descripcin de los objetos

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Etapas para el diseo de sistemas de AA


1. Elegir la experiencia que usaremos para entrenar el sistema de aprendizaje 2. Definir el tipo de funcin objetivo que pretendemos aprender
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

Centro de Inteligencia Artificial

Representacin de la funcin objetivo (I)


Existen diferentes tipos de funciones dependiendo de la clase de problema que estemos tratando: clasificacin, regresin, agrupacin, Diferentes modelos:

Simblicos (reglas, rboles de decisin, PLI,) Subsimblicos (redes neuronales, svm, )

La eleccin depende del uso que vaya a tener


Prediccin: puede ser simblico o subsimblico Explicacin: debe ser simblico

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Representacin de la funcin objetivo (II)


Diagnstico de enfermedades

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

Centro de Inteligencia Artificial

Representacin de la funcin objetivo (III)


Jugador de damas

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

Centro de Inteligencia Artificial

Representacin de la funcin objetivo (IV)


Al fijar la representacin, estamos definiendo un espacio de bsqueda para la funcin h (hiptesis) con la que pretendemos aproximar la funcin objetivo f A este espacio se le denomina espacio de hiptesis El espacio de hiptesis puede no contener a la funcin objetivo

Si es as, nuestra hiptesis est condenada a equivocarse sobre algunos ejemplos (lo cual no siempre es grave)

Cuanto ms complejo sea el espacio de hiptesis:


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

Centro de Inteligencia Artificial

Tcnicas de Aprendizaje Supervisado

Separadores lineales

Redes Neuronales Multicapa

RBF

Reglas/rboles de decisin

Naive Bayes Classifier

Basadas en ejemplos

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Etapas para el diseo de sistemas de AA


1. Elegir la experiencia que usaremos para entrenar el sistema de aprendizaje 2. Definir el tipo de funcin objetivo que pretendemos aprender 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

Centro de Inteligencia Artificial

Seleccionar y aplicar el algoritmo de AA (I)


Para cada tipo de funcin objetivo, o espacio de hiptesis o tipo de conocimiento tendremos distintos algoritmos que pueden aplicarse

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

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Seleccionar y aplicar el algoritmo de AA (II)


Parmetros: todos los sistemas tienen algn tipo de parmetro Bsicamente sirven para evitar dos factores:

El ruido de los datos de entrenamiento El grado de ajuste a los datos

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

Centro de Inteligencia Artificial

Tcnicas de Aprend. No Supervisado


Tcnicas de clustering:

Clustering jerrquicos k-means Mapas auto-organizados (SOM) [Kohonen, 95] EM [Dempster et al. 77] Cobweb [Fisher, 87]

Anlisis exploratorios:

Estudios de correlaciones Deteccin datos anmalos Asociaciones y dependencias Anlisis de dispersin


Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Tcnicas de Aprendizaje Supervisado


rboles de Decisin:

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

Sistemas basados en reglas:

Aprendizaje basado en instancias


Hbridos:

Redes de Neuronas Artificiales (ANN):


Clasificadores Estadsticos

Basados en kernels:

SVM (Mquina de vectores soporte)


Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Etapas para el diseo de sistemas de AA


1. Elegir la experiencia que usaremos para entrenar el sistema de aprendizaje 2. Definir el tipo de funcin objetivo que pretendemos aprender 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

Centro de Inteligencia Artificial

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

Centro de Inteligencia Artificial

Precisin de hiptesis: planteamiento (I)


Dado un espacio de ejemplos posible X, asumimos que cada ejemplo puede ser encontrado con una determinada frecuencia Luego, tenemos una distribucin de probabilidad D que define la probabilidad de encontrar cada elemento de X (D no dice nada sobre la clase de cada ejemplo) El aprendizaje consiste en encontrar una funcin objetivo f considerando un espacio de hiptesis H El sistema de aprendizaje empleado sintetizarn una hiptesis h de entre las del espacio de hiptesis H Disponemos de una muestra de ejemplos S generado con elementos de X siguiendo la distribucin D, a los que un maestro aade la clase correspondiente <x X, f(x)>

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Precisin de hiptesis: planteamiento (II)


Dada la hiptesis h obtenida a partir un sistema de aprendizaje, nos gustara conocer varias cosas:

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

Centro de Inteligencia Artificial

Error de una hiptesis: verdadero


Es la probabilidad de que una hiptesis h clasifique mal un ejemplo cualquiera generado a partir de la distribucin D del espacio de instancias X

errorD (h) = Pr [ f ( x) h( x)]


xD

Espacio de Instancias X

f
Error

+ + + + + + + + + -

h -

No podemos calcularlo
Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Error de una hiptesis: una muestra


No podemos calcular el error verdadero, pero podemos medir el error en una muestra S:

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

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Evaluacin de hiptesis: error (I)


Una opcin es estimar el error verdadero La evaluacin se puede realizar:

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

Centro de Inteligencia Artificial

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:

errorS (h1 ) < errorS (h2 )

errorD (h1 ) > errorD (h2 )

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

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:

errorS (h1 ) > errorS (h2 )

errorD (h1 ) > errorD (h2 )

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

Evaluacin de hiptesis: error (II)


Si disponemos de muchsimos ejemplos, no hay problema en usar slo una parte de los ejemplos para entrenar y el resto como conjunto de test para estimar el error

Hold-out (2/3 para entrenar, 1/3 para test)

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

Centro de Inteligencia Artificial

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

Centro de Inteligencia Artificial

Entrenamiento, validacin, test


La manera ms adecuada de aprender, seleccionar hiptesis y obtener una estimacin adecuada del error verdadero es: Separar los ejemplos disponibles en 3 conjuntos:

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

Tendremos estimadores no sesgados y con poca varianza

Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

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

Es habitual usar k=10 y repetir el proceso para obtener un estimador an mejor


Sistemas Inteligentes - T7: Introduccin al Aprendizaje Automtico

Universidad de Oviedo

Centro de Inteligencia Artificial

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

Centro de Inteligencia Artificial

Comparacin de sistemas de aprendizaje

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

Centro de Inteligencia Artificial

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

Potrebbero piacerti anche