Download Una Definición de Aprendizaje Automático

Document related concepts

Aprendizaje automático wikipedia , lookup

Grupo de Ingeniería del Conocimiento y Aprendizaje Automático wikipedia , lookup

Inteligencia computacional wikipedia , lookup

Aprendizaje vago wikipedia , lookup

Inteligencia artificial wikipedia , lookup

Transcript
Universidad
de Oviedo
Centro de
Inteligencia Artificial
SISTEMAS INTELIGENTES
T7: Introducción al
Aprendizaje Automático
{jdiez, juanjo} @ aic.uniovi.es
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Índice
•  Definición de Aprendizaje Automático
•  Objetivos
•  Aplicaciones: características, ejemplos
•  Diseño de sistemas de aprendizaje inductivo
° 
Experiencia de entrenamiento
Función objetivo: representación
Aprendizaje: aproximación de la función objetivo
° 
Evaluación
° 
° 
•  Técnicas de aprendizaje: tipos, conceptos
básicos y ejemplos
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Definiciones
•  Inducción: generalizar a partir de observaciones
para sintetizar conocimiento de más alto nivel
•  Aprendizaje Inductivo: razonamiento hipotético
de casos particulares a casos generales
•  Aprendizaje:
° 
° 
° 
es la identificación de patrones, de regularidades,
existentes en la evidencia
es la predicción de observaciones futuras con
plausibilidad
es eliminación de redundancia = compresión de
información
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Una Definición de Aprendizaje Automático
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: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Objetivos
•  Producir programas capaces de mejorar su
rendimiento a través de la experiencia
Mejorar al realizar una tarea T
°  Respecto a una medida de rendimiento P
°  Gracias a la utilización 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 explícito de cómo se resuelve un
determinado problema
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Disciplinas relacionadas
•  Inteligencia Artificial: representación simbólica de conceptos,
búsquedas, sistemas expertos,…
•  Estadística: caracterización de errores, muestras, intervalos de
confianza, test estadísticos,…
•  Métodos bayesianos: el teorema de Bayes es clave para el
cálculo de la probabilidad de las hipótesis, …
•  Teoría de Control: procedimientos para el control de procesos
•  Teoría de la Información: medidas de entropía, codificación de
hipótesis, MDL, …
•  Teoría Computacional: límites teóricos de la complejidad de las
tareas de aprendizaje, …
•  Psicología: ley de la energía de la práctica, más experto, más
tiempo, más difícil mejorar, …
•  Neurología: inspira las redes neuronales artificiales, …
•  Filosofía: la navaja de Ocamm, la hipótesis más simple es la
mejor, …
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Algunas aplicaciones (clásicos) (I)
•  Conducir un vehículo. ALVINN 100 Km/hora durante 150
Kms en autopista, RALPH, más 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: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Algunas aplicaciones (clásicos) (II)
•  Clasificación de estructuras astronómicas
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Aplicaciones típicas
•  Problemas donde no hay expertos humanos
° 
Importancia económica de qtls en secuencias genéticas
•  Tareas que los humanos hacemos pero no podemos
describir cómo las hacemos
° 
Reconocimiento de caracteres
•  Problemas donde la función objetivo cambia
frecuentemente
° 
Predicciones bursátiles
•  Situaciones donde cada usuario tiene su propia función
objetivo
° 
Adaptación de interfaces, spam, gestión de correo electrónico
•  Problemas donde el volumen de datos hace imposible a los
humanos realizar cualquier análisis
° 
Técnicas de Data-Mining capaces de encontrar relaciones
dentro de grandes BDs intratables a ojo
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Más ejemplos de aplicaciones de AA
•  Carciogénesis de compuestos químicos
•  Perfil de clientes
•  Concesión de créditos hipotecarios
•  Sistemas automáticos de filtrado (correo, noticias)
•  Entornos personalizados (buscadores, ventas,…)
•  Construcción automática de portales web
•  Análisis de textos
•  Sistemas de reconocimiento de texto y voz
•  Robots (conductores, carteros, jugadores de fútbol,…)
•  Juegos (DEEP-BLUE)
•  …
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Algunos problemas que no son de AA
•  Aprender a ordenar una lista de números
° 
Podemos hacerlo más rápido 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 físico 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 resolución
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Etapas para el diseño de sistemas de AA
1.  Elegir la experiencia que usaremos para
entrenar el sistema de aprendizaje
2.  Definir el tipo de función objetivo que
pretendemos aprender
3.  Determinar la representación que utilizaremos
para la función objetivo
4.  Seleccionar el algoritmo de AA a utilizar y
aplicarlo para aprender la función objetivo
5.  Evaluar el sistema
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Diagnóstico de una enfermedad
T = diagnosticar la presencia de una enfermedad
P = % diagnósticos correctos
E = datos médicos de pacientes y el diagnóstico correcto
realizado por un médico
Habrá que considerar:
–  ¿Qué parámetros médicos usaremos para describir el
estado de los pacientes?
°  Seguramente dispondremos de mucha información y
no toda será útil
–  ¿Qué tipo de conocimiento es más ú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: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Producción lechera
T = predecir la producción de leche de vacas
P = diferencia entre la predicción y la producción real
E = datos genéticos de vacas y su producción lechera
Habrá que considerar:
–  ¿Qué información genética usaremos para describir los
animales?
°  La selección de la información genética que creemos
influye en la producción lechera será decisiva
–  ¿Qué tipo de conocimiento es más útil para aprender a
predecir la producción futura?
°  Queremos aprender a asignar un valor numérico a
cada animal que será la leche que producirá
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Calidad cárnica 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 calificación asignada por los expertos
Habrá que considerar:
–  ¿Cómo representamos las características de la canal de
un animal?
°  Podemos usar imágenes, medidas, o variables físicoquímicas de la carne
–  ¿Qué tipo de conocimiento es el adecuado para valorar la
calidad de acuerdo a una escala?
°  Situación intermedia entre aprender clases y asignar
valores numéricos: tenemos clases pero entre ellas
existe una relación de orden
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Organizador de correo electrónico
T = ordenar el correo electrónico entrante de acuerdo a su
importancia para el usuario
P = concordancia entre el orden propuesto y el orden de
lectura del usuario
E = gestión diaria del correo por parte del usuario
Habrá que considerar:
–  ¿Cómo representamos las características de un correo
electrónico?
°  Usar el título, 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 numéricamente cada
correo, o a determinar si uno es más importante que
otro. Enfoques distintos, diferentes sistemas de AA
–  ¿Cómo medir la utilidad y el rendimiento del sistema?
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Tipos de clientes de una empresa
T = descubrir distintos grupos de clientes
P = eficacia de la campaña de publicidad posterior
E = hábitos de consumo de los clientes
Habrá que considerar:
–  ¿Cómo representamos las características de un cliente?
°  Selección de las características que sean más ú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 numéricos que
asignar
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
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:
° 
¿Cómo representamos las situaciones de una partida?
»  No resulta fácil describir un tablero o al menos hay
muchas formas posibles de hacerlo
° 
¿Qué tipo de conocimiento es más útil para aprender a
jugar partidas de damas?
»  Queremos aprender a decidir cuál es el movimiento más
apropiado dada una posición del tablero
»  No aprendemos ni clases ni asignaremos números
»  ¿Hay otra forma de hacerlo?
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
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
° 
Diagnóstico de enfermedades: la experiencia procederá de los
datos médicos de pacientes junto al diagnóstico que los médicos
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: diagnóstico de enfermedades, calidad
procede de una variable medible: producción de leche
no lo necesitamos para la tarea: agrupar clientes
necesitaremos procesos para capturarla: gestor de
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Elegir la experiencia de entrenamiento (II)
• Diagnóstico de enfermedades:
< variables médicas >
<SI | NO>
• Producción lechera:
< descripción genética de una vaca >
<Producción anual en litros>
• Organizador de correo electrónico:
< remitente, título, tamaño >
< Valoración del usuario >
< palabras [en/no en] el correo>
< Orden de lectura >
< este correo >
lo leyó antes que
< este correo >
Dependiendo de la representación de la experiencia elegida,
estaremos enfocando el problema hacia un tipo de aprendizaje
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Elegir la experiencia de entrenamiento (III)
• Calidad cárnica de una canal:
< foto de la canal >
< categoría: S | E | U | R | O | P >
< medidas de la canal >
< categoría: numérica >
• Tipos de clientes:
< datos del cliente > No hay clase, ni número que aprender a predecir
• Jugador de damas
< posición del tablero >
< movimiento elegido >
< descripción de una posición >
< valoración de la posición >
Hay representaciones que resultarían más difíciles de aprender
que otras
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Etapas para el diseño de sistemas de AA
1.  Elegir la experiencia que usaremos para
entrenar el sistema de aprendizaje
2.  Definir el tipo de función objetivo que
pretendemos aprender
3.  Determinar la representación que utilizaremos
para la función objetivo
4.  Seleccionar el algoritmo de AA a utilizar y
aplicarlo para aprender la función objetivo
5.  Evaluar el sistema
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Definir el tipo de la función objetivo (I)
•  ¿Qué queremos aprender exactamente?
Definimos cómo es la función objetivo que
queremos aprender
•  Una misma tarea se puede aprender de distintas
formas, hay que concretar!
•  Existe una función objetivo (perfecta) f que
desconocemos
•  El aprendizaje aproximará esta función mediante
una función del mismo tipo que denominaremos
hipótesis, h
•  Sencillez, aprender lo necesario
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Definir el tipo de la función objetivo (II)
•  Diagnóstico de enfermedades
° 
f : Paciente → {SI , NO}
•  Producción de leche
° 
f : Vaca →
ℜ
•  Calidad de la carne
° 
f : Canal → { S,E,U,R,O,P}
•  Jugador de damas
° 
° 
° 
f1 : Tablero → Movimiento
(difícil de calcular)
f2 : Tablero → ℜ
(más operativa)
Si determinamos f2, es fácil decidir el mejor movimiento
dada una posición (es decir, tener f1)
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Datos de entrenamiento (I)
•  La experiencia a utilizar y el tipo de función objetivo se
plasma en la definición de los datos que se emplearán
para aprender
•  El proceso de aprendizaje también se denomina
entrenamiento
•  Los datos usados durante el aprendizaje (entrenamiento)
se denomina conjunto de entrenamiento
Atributos
Atr-1
…
Atr-n
Clase(opcional)
ejemplo 1
clase ej-1
…
…
ejemplo m
clase ej-m
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Datos de entrenamiento (II)
•  Atributos: describen los ejemplos
° 
° 
Numéricos: nº reales o enteros
Simbólicos o Nominales: etiquetas sin relación de orden
•  Clase: según su tipo estaremos ante distintos tipos de
aprendizaje
–  Aprendizaje supervisado: disponemos de una clase asociada a cada
ejemplo
°  Conjunto finito de clases simbólicas: clasificación
(Ej: diagnóstico enfer)
°  Conjunto finito de clases simbólicas con una relación de orden
entre ellas o valores enteros: regresión ordinal
(Ej: calidad carne)
°  Numérica (real): regresión (Ej: producción de leche)
–  Aprendizaje no-supervisado: sin clase
°  No tenemos o nos interesa (Ej: tipos de clientes)
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Datos de entrenamiento (III)
Sepal length
5.1
4.9
7.0
6.4
6.3
5.8
Age
Sepal width
3.5
3.0
3.2
3.2
3.3
2.7
Young
Pre-presbyopic
Pre-presbyopic
Presbyopic
Spectacle
prescription
Myope
Myope
Myope
Hypermetrope
Cycle time
(ns)
125
29
480
480
Main memory
(Kb)
256
6000
8000
32000
512
8000
1000
4000
Petal length
1.4
1.4
4.7
4.5
6.0
5.1
Astigmatism
No
No
Yes
No
Cache
(Kb)
256
32
32
0
Petal width
0.2
0.2
1.4
1.5
2.5
1.9
Tear production
rate
Reduced
Normal
Normal
Reduced
Channels
MIN
16
8
0
0
MAX
128
32
0
0
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Type
Iris setosa
Iris setosa
Iris versicolor
Iris versicolor
Iris virginica
Iris virginica
Recommended
lenses
None
Soft
Hard
None
Performance
198
269
67
45
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 dimensión (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, manipulación de datos,
etc
•  Atributos mal elegidos:
° 
° 
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
•  Relación 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: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Técnicas de Aprendizaje
•  Aprendizaje no supervisado: el conjunto de
observaciones no tienen clases asociadas
° 
° 
° 
Se emplea para la Descripción
Objetivo: detectar regularidades en los datos
Agrupaciones (clustering), contornos, asociaciones, valores
anómalos
•  Aprendizaje supervisado: cada observación incluye un
valor de la clase a la que corresponde
° 
° 
° 
Se emplea para la Predicción
Se aprende un clasificador
Sirven para explicar las causas que llevan a tomar una
decisión
•  Aprendizaje por refuerzo: el sistema recibe recompensas en
función de las decisiones que toma
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Aprendizaje Inductivo No Supervisado
Datos de
Entrenamiento
Sistema de
Aprendizaje
Procesos Inductivos
Agrupamiento
Análisis
Dependencias
Conocimiento
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Visualización
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Aprendizaje No Supervisado
¿Podemos agrupar los ejemplos en base a sus características?
Atributo 2
Atributo 1
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Aprendizaje Inductivo Supervisado
Datos de
Entrenamiento
Sistema de
Aprendizaje
Proceso Inductivo
Nuevos casos
Modelo
Conocimiento
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Predicción
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Tipos de Aprendizaje Supervisado
Dependiendo del número y tipo de clases:
•  clase discreta: se conoce como clasificación
° 
Ejemplos:
»  determinar la variedad de una especie de flores
»  estimar el partido al que voto de una persona
° 
Si sólo hay dos clases (V y F) se conoce como
aprendizaje de conceptos
»  determinar si una persona tiene cáncer
•  clase continua o discreta ordenada: se denomina
regresión (o estimación) y regresión ordinal
° 
Ejemplos:
»  estimar la pureza en la producción de zinc
»  clasificar productos agroalimentarios en escalas discretas
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Hipótesis del Aprendizaje Inductivo
Si una hipótesis aproxima bien la función
objetivo sobre un conjunto de
entrenamiento suficientemente grande,
también aproximará bien la función
objetivo sobre los ejemplos no
observados
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Aprendizaje Supervisado
¿Podemos aprender a clasificar ejemplos de estas tres clases?
Atributo 2
Atributo 1
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Aprendizaje Inductivo Supervisado
Clase
Descripción de los objetos
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Etapas para el diseño de sistemas de AA
1.  Elegir la experiencia que usaremos para
entrenar el sistema de aprendizaje
2.  Definir el tipo de función objetivo que
pretendemos aprender
3.  Determinar la representación que utilizaremos
para la función objetivo
4.  Seleccionar el algoritmo de AA a utilizar y
aplicarlo para aprender la función objetivo
5.  Evaluar el sistema
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Representación de la función objetivo (I)
•  Existen diferentes tipos de funciones
dependiendo de la clase de problema que
estemos tratando: clasificación, regresión,
agrupación, …
•  Diferentes modelos:
° 
° 
Simbólicos (reglas, árboles de decisión, PLI,…)
Subsimbólicos (redes neuronales, svm, …)
•  La elección depende del uso que vaya a tener
° 
° 
Predicción: puede ser simbólico o subsimbólico
Explicación: debe ser simbólico
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Representación de la función objetivo (II)
•  Diagnóstico de enfermedades
° 
Necesitamos conocimiento simbólico, si queremos ofrecer
explicaciones. Podemos usar reglas o árboles de decisión
•  Producción de leche
° 
Es un problema de regresión, podemos optar por
representarla mediante una red neuronal
•  Calidad de la carne
° 
Podemos usar métodos bayesianos para determinar la
probabilidad de que pertenezca a cada una de las clases en
función del valor de los atributos
•  Organizador de correo
° 
Podemos usar una solución basada en máquina de vectores
soporte que nos permita ordenar los correos de acuerdo a su
importancia
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Representación de la función objetivo (III)
•  Jugador de damas
° 
Podemos elegir una combinación lineal de los atributos
empleados para describir la posición 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 están atacadas
piezas blancas que están atacadas
¿Demasiado simple?
Podría no ser lineal, por ejemplo, un polinomio de un
cierto grado
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Representación de la función objetivo (IV)
•  Al fijar la representación, estamos definiendo un espacio de
búsqueda para la función h (hipótesis) con la que pretendemos
aproximar la función objetivo f
•  A este espacio se le denomina espacio de hipótesis
•  El espacio de hipótesis puede no contener a la función objetivo
° 
Si es así, nuestra hipótesis está condenada a equivocarse sobre
algunos ejemplos (lo cual no siempre es grave)
•  Cuanto más complejo sea el espacio de hipótesis:
° 
° 
° 
Más difícil será aprender la función h
Más ejemplos de entrenamiento serán necesarios
Pero más capacidad tendrá para aproximar la función objetivo f
•  En muchas ocasiones, cuando no se tiene muy claro que tipo de
representación es más adecuada, se prueban varias y se evalúa
la calidad de las soluciones alcanzadas (evaluación)
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Técnicas de Aprendizaje Supervisado
Separadores lineales
Redes Neuronales
Multicapa
RBF
Reglas/árboles de
decisión
Naive Bayes Classifier
Basadas en ejemplos
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Etapas para el diseño de sistemas de AA
1.  Elegir la experiencia que usaremos para
entrenar el sistema de aprendizaje
2.  Definir el tipo de función objetivo que
pretendemos aprender
3.  Determinar la representación que utilizaremos
para la función objetivo
4.  Seleccionar el algoritmo de AA a utilizar y
aplicarlo para aprender la función objetivo
5.  Evaluar el sistema
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Seleccionar y aplicar el algoritmo de AA (I)
•  Para cada tipo de función objetivo, o espacio de hipótesis o
tipo de conocimiento tendremos distintos algoritmos que
pueden aplicarse
° 
Ej: si queremos obtener un separador lineal, podríamos usar:
una red neuronal, una máquina 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 máquinas de
vectores soporte con distintos sistemas de optimización
•  A veces se selecciona el algoritmo o la implementación en
función de la plataforma o de otras herramientas con las
que deba utilizarse
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Seleccionar y aplicar el algoritmo de AA (II)
•  Parámetros: todos los sistemas tienen algún
tipo de parámetro
•  Básicamente 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 parámetros para evaluar y comparar
su rendimiento
•  A veces se utilizan algoritmos genéticos para
ajustar los parámetros de un AA
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Técnicas de Aprend. No Supervisado
•  Técnicas de clustering:
° 
° 
° 
° 
° 
Clustering jerárquicos
k-means
Mapas auto-organizados (SOM) [Kohonen, 95]
EM [Dempster et al. 77]
Cobweb [Fisher, 87]
•  Análisis exploratorios:
° 
° 
° 
° 
Estudios de correlaciones
Detección datos anómalos
Asociaciones y dependencias
Análisis de dispersión
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Técnicas de Aprendizaje Supervisado
•  Árboles de Decisión:
° 
° 
Clasificación: ID3, C4.5, CART
Regresión: CUBIST
•  Sistemas basados en reglas:
° 
C4-5rules, CN2, ABANICO, INNER, …
•  Aprendizaje basado en instancias
° 
° 
° 
k-NN (Nearest Neighbor)
IB
Múltiples sistemas de reducción de instancias: DROP, CNN, BETS, …
•  Híbridos:
° 
RISE
•  Redes de Neuronas Artificiales (ANN):
° 
° 
Perceptron
Redes Multicapa (backpropagation)
•  Clasificadores Estadísticos
° 
Naive Bayes
•  Basados en kernels:
° 
SVM (Máquina de vectores soporte)
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Etapas para el diseño de sistemas de AA
1.  Elegir la experiencia que usaremos para
entrenar el sistema de aprendizaje
2.  Definir el tipo de función objetivo que
pretendemos aprender
3.  Determinar la representación que utilizaremos
para la función objetivo
4.  Seleccionar el algoritmo de AA a utilizar y
aplicarlo para aprender la función objetivo
5.  Evaluar el sistema
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Evaluación
•  ¿El sistema funciona bien en la práctica? ¿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 distribución que representa
•  Aprendizaje supervisado:
–  Normalmente se separan algunos ejemplos, no se utilizan para
entrenar, y con ellos se evalúa la calidad de la hipótesis inducida
–  Hay distintas técnicas de evaluación:
°  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 evalúa sobre ese ejemplo
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Precisión de hipótesis: planteamiento (I)
•  Dado un espacio de ejemplos posible X, asumimos que cada
ejemplo puede ser encontrado con una determinada
frecuencia
•  Luego, tenemos una distribución 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 función objetivo f
considerando un espacio de hipótesis H
•  El sistema de aprendizaje empleado sintetizarán una
hipótesis h de entre las del espacio de hipótesis H
•  Disponemos de una muestra de ejemplos S generado con
elementos de X siguiendo la distribución D, a los que un
maestro añade la clase correspondiente <x ∈ X, f(x)>
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Precisión de hipótesis: planteamiento (II)
•  Dada la hipótesis h obtenida a partir un sistema de aprendizaje,
nos gustaría conocer varias cosas:
° 
° 
° 
° 
¿Cuál es el mejor estimador que podemos utilizar para medir
la precisión de h sobre ejemplos futuros, generados con la
misma distribución D?
¿Cuál es el error probable de ese estimador?
Dado que el conjunto de datos disponible siempre será
limitado, ¿cuál es el mejor método para aprender la hipótesis
y evaluar su precisión?
Si empleamos dos sistemas de aprendizaje diferentes, que
generan hipótesis distintas, ¿cuál de ellas se comportará
mejor?
•  Surge una necesidad evidente de disponer de estimadores que
midan la calidad de las hipótesis sintetizadas por los sistemas de
aprendizaje
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Error de una hipótesis: verdadero
•  Es la probabilidad de que una hipótesis h clasifique mal un
ejemplo cualquiera generado a partir de la distribución D
del espacio de instancias X
errorD (h) = Pr [ f ( x) ≠ h( x)]
x∈D
Espacio de Instancias X
-
f
Error
-
-
+
+
+
+
+
-
+
+
+
-
+
-
h
-
-
No podemos calcularlo 
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Error de una hipótesis: 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))
x∈S
•  ¿Cómo de bueno es el error en una muestra como
estimador del error verdadero?
•  ¿Dependemos de algún factor para hacer estimaciones del
error verdadero a partir del error en una muestra?
•  ¿Podemos acotar el error verdadero de una hipótesis h,
conocido su error en una muestra?
•  La estadística nos ayuda a responder a estas preguntas
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Evaluación de hipótesis: error (I)
•  Una opción es estimar el error verdadero
•  La evaluación se puede realizar:
° 
° 
Durante el aprendizaje, para seleccionar una hipótesis
adecuada
Al final del aprendizaje, para indicar el nivel de
confianza de la hipótesis elegida
•  Usar el error sobre los ejemplos del conjunto de
entrenamiento (error de reescritura) para
seleccionar la hipótesis es peligroso
•  El sistema de aprendizaje tenderá a ajustarse
en exceso a los datos de entrenamiento
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sobre-ajuste (overfitting)
Clase
•  Una hipótesis h1 ∈ H se sobre-ajusta a una muestra S de
datos si existe una hipótesis alternativa h2 ∈ H tal que:
errorS (h1 ) < errorS (h2 )
y
errorD (h1 ) > errorD (h2 )
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sub-ajuste (underfitting)
Clase
•  Una hipótesis h1 ∈ H se sub-ajusta a una muestra de
datos si existe una hipótesis alternativa h2 ∈ H tal que:
errorS (h1 ) > errorS (h2 )
y
errorD (h1 ) > errorD (h2 )
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Evaluación de hipótesis: error (II)
•  Si disponemos de muchísimos ejemplos, no hay problema
en usar sólo 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 opción intermedia es separar parte de los ejemplos
(conjunto de validación) y utilizarlos para optimizar
parámetros o tomar decisiones a la hora de seleccionar la
hipótesis más adecuada
Usar métodos de resampling para generar distintos conjuntos
de entrenamiento/test
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Evitar el sobreajuste
•  Empíricos
° 
Validación Cruzada
›  K-fold CV
›  Leave-One-Out CV
° 
Usar datos no etiquetados
•  Teóricos
° 
° 
° 
° 
Técnicas bayesianas
PAC
Minimum description length (MDL)
Minimización del Riesgo Estructural (SRM)
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Entrenamiento, validación, test
•  La manera más adecuada de aprender, seleccionar
hipótesis y obtener una estimación adecuada del error
verdadero es:
•  Separar los ejemplos disponibles en 3 conjuntos:
° 
° 
° 
Conjunto de entrenamiento: para aprender hipótesis
Conjunto de validación: seleccionar hipótesis, ajustar
parámetros,…
Conjunto de test: obtener un estimador no sesgado y con
poca varianza del error verdadero
•  Los conjuntos de validación y test deben cumplir las
condiciones que indicamos antes para poder aproximar sus
estimaciones mediante una distribución normal
° 
Tendremos estimadores no sesgados y con poca varianza
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
K-fold CV
•  Es una manera de obtener conjuntos de entrenamiento
(validación) y test cuando tenemos pocos ejemplos
•  Evita perder muchos ejemplos para entrenar y además
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 aún mejor
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático
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: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Comparación 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: Introducción al Aprendizaje Automático
Universidad
de Oviedo
Centro de
Inteligencia Artificial
Terminología
•  Función objetivo: Es la función 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 función 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
•  Hipótesis: función propuesta h para aproximar la función
objetivo f
•  Espacio de hipótesis: H conjunto de todas las hipótesis h que
puede seleccionar un algoritmo de aprendizaje al tratar de
aprender una función objetivo f
Sistemas Inteligentes - T7: Introducción al Aprendizaje Automático