Está en la página 1de 57

Inteligencia Artificial

Aprendizaje automatizado

MSc. Miguel Angel Fernández Marín


Contenido

• Aprendizaje automatizado
• Problemas de aprendizaje
• Problemas de clasificación supervisada
• Herramientas
APRENDIZAJE

▶ Cualquier cambio en un sistema que le permita


realizar la misma tarea de manera más eficiente
la próxima vez (H. Simon)
▶ Modificar la representación del mundo que se
está percibiendo (R. Michalski)
▶ Realizar cambios útiles en nuestras mentes (M.
Minsky)
Tipos de aprendizaje y paradigmas
► Tipos de aprendizaje
► Supervisado: A partir de un conjunto de datos (conjunto de
entrenamiento)de los que conocemos como se comportan respecto a
lo que sequiere modelar, se aprende (computacionalmente) un
modelocon el que pretendemos predecir el comportamiento
sobreinstancias nuevas
► No supervisado
► Con refuerzo
► Paradigmas
► Aprendizaje por memorización
► Aprendizaje inductivo
► Clasificación (Clustering)
► Aprendizaje por analog´ıa
► Descubrimiento
► Redes neuronales
Ejemplo: predicción de precios de pisos

► Predecir el precio de un piso en función de sus características


(número de habitaciones, distancia al centro, renta per cápita
del barrio,. . . )
► Datos:
0.00632 18.00 2.310 0 0.5380 6.5750 65.20 4.0900 1 296.0 15.30 396.90 4.98 24.00
0.02731 0.00 7.070 0 0.4690 6.4210 78.90 4.9671 2 242.0 17.80 396.90 9.14 21.60
0.02729 0.00 7.070 0 0.4690 7.1850 61.10 4.9671 2 242.0 17.80 392.83 4.03 34.70
0.03237 0.00 2.180 0 0.4580 6.9980 45.80 6.0622 3 222.0 18.70 394.63 2.94 33.40
0.06905 0.00 2.180 0 0.4580 7.1470 54.20 6.0622 3 222.0 18.70 396.90 5.33 36.20
0.02985 0.00 2.180 0 0.4580 6.4300 58.70 6.0622 3 222.0 18.70 394.12 5.21 28.70
0.08829 12.50 7.870 0 0.5240 6.0120 66.60 5.5605 5 311.0 15.20 395.60 12.43 22.90
0.14455 12.50 7.870 0 0.5240 6.1720 96.10 5.9505 5 311.0 15.20 396.90 19.15 27.10
0.21124 12.50 7.870 0 0.5240 5.6310 100.00 6.0821 5 311.0 15.20 386.63 29.93 16.50
...
...
...
...
APRENDIZAJE AUTOMATICO

▶ Aprendizaje Automático: estudia cómo construir


programas que mejoren automáticamente con la
experiencia.
▶ Aprendizaje Automático: Subcampo de la
Inteligencia artificial que estudia los métodos de
solución de problemas de aprendizaje por las
computadoras.
APRENDIZAJE AUTOMATICO.
Ejemplos:
▶ Minería de datos, descubrir estructuras
desconocidas en grandes grupos de datos
▶ Conducción autónoma de vehículos: Aprenden a
conducirse en autopistas en función de la
información visual que reciben.
▶ Reconocimiento del habla.
▶ Construcción de bases de conocimiento a partir
de la experiencia.
▶ Clasificación y diagnóstico.
▶ Resolución de problemas, planificación y acción.
APRENDIZAJE AUTOMATICO.
Un problema de minería de datos
APRENDIZAJE AUTOMATICO.
Resultados del estudio
APRENDIZAJE AUTOMATICO.
(Machine Learning, ML)
▶ ¿Por qué estudiar Aprendizaje Automático?
▶ Recientesavances en la teoría y los
algoritmos.
▶ Crecimiento desbordante de datos “en
línea” (on line).
▶ Sedispone de máquinas suficientemente
potentes.
▶ Interés por parte de la industria.
PROBLEMA DE APRENDIZAJE
▶ Aprendizaje = Mejora de alguna tarea mediante la
experiencia
▶ Tarea (T): Lo que se debe aprender
▶ Experiencia (E): La que se tiene en relación a lo
que se debe aprender
▶ Rendimiento (R): Medida de la calidad de lo
aprendido
▶ Se dice que un sistema aprende de la experiencia,
si el rendimiento R de la tarea T aprendida crece
al crecer E.
PROBLEMA DE APRENDIZAJE

▶ ¿Qué experiencia?
▶ ¿Qué debe aprender?
▶ ¿Cómo representamos el conocimiento?
▶ ¿Qué algoritmo usaremos para aprenderlo?
▶ ¿Cómo se mide la mejora?
PROBLEMA DE APRENDIZAJE
Ejemplo
Una forma de que un sistema aprenda a reconocer
palabras en un texto manuscrito, puede ser a partir de
una base de datos con imágenes de palabras manuscritas
y sus correspondientes transcripciones.
La forma de saber si el sistema ha aprendido a
reconocer palabras, será darle un texto manuscrito y ver
cuantas transcripciones correctas hace.
Caracterización de este problema de aprendizaje
▶ T: Reconocer palabras manuscritas
▶ E: Base de datos de palabras con sus transcripciones
▶ R: Porcentaje de palabras reconocidas
CLASIFICACIÓN PROBLEMAS DE APRENDIZAJE

▶ Problemas de regresión
▶ Problemas de clasificación o aprendizaje
Supervisado
▶ Aprendizaje No supervisado
▶ Aprendizaje profundo
CLASIFICACIÓN PROBLEMAS DE APRENDIZAJE

▶ Problemas de clasificación o aprendizaje Supervisado: A


partir de un conjunto de datos (conjunto de
entrenamiento) de los que conocemos como se comportan
respecto a lo que se quiere modelar, se aprende
(computacionalmente) un modelo con el que pretendemos
predecir el comportamiento sobre instancias nuevas.
▶ Árboles de decisión y Random Forest
▶ Redes bayesianas
▶ Regresión logística
Clasificación

► En un problema de clasificación, en lugar de valores continuos en


la variable respuesta, tendremos k valores discretos
C = {c1, . . . , ck } (denominados clases).
► Se trata de aprender un modelo que nos permita asignarle una
clase (clasificar) a nuevos datos.
► Ejemplo: El problema de predecir el genero de una planta de iris
a partir del conjunto de datos del ejemplo 2 es un problema de
clasificación.
Clasificación

► En este caso:
►El conjunto de entrenamiento tiene la forma
D = {(x (j), c(j)) : j = 1, . . . , N},
donde x (j) ∈ An , c(j) ∈ C
► Principalmente, hablaremos de clasificación
binaria y consideraremos C = {0, 1} (a
veces C = {+, −})
►Se trata de encontrar una función h : An → C que
se ajuste al conjunto de entrenamiento y que
nos sirva para clasificar nuevas instancias
Ejemplo: clasificación de la flor de iris

► Hay tres g´eneros de la planta de iris (setosa,


virg´ınica y versicolor); se pretende poder
clasificarla en función de medidas (anchura y
longitud) de su sépalo y pétalo.
► Datos:
5.1 3.5 1.4 0.2 Iris-setosa
4.9 3.0 1.4 0.2 Iris-setosa
4.7 3.2 1.3 0.2 Iris-setosa
...
...
7.0 3.2 4.7 1.4 Iris-versicolor
6.4 3.2 4.5 1.5 Iris-versicolor
6.9 3.1 4.9 1.5 Iris-versicolor
...
...

6.3 3.3 6.0 2.5 Iris-virginica


5.8 2.7 5.1 1.9 Iris-virginica
7.1 3.0 5.9 2.1 Iris-virginica
...
...
Aprendizaje supervisado. Ejemplo.

▶ Ver ejemplo …
Aprendizaje supervisado
(ejemplo)
► Conjunto de entrenamiento
► Ejemplos: días en los que es recomendable (o no) jugar al tenis
► Representación como una lista de pares atributo–valor

► Objetivo: Dado el conjunto de entrenamiento, aprender el


concepto “Días en los que se juega al tenis”
► Problema: ¿Cómo expresar lo aprendido?
► En este tema, veremos algoritmos para aprender ´arboles
de decisión, reglas, modelos probabilísticos, ...
Árboles de decisión

► Ejemplos de árboles de decisión

C IEL O

S OLEADO N UBL A D O L L UVIA

+
H UME DA D V I E N TO

A LTA N O R MA L F U E RT E D EBIL

− + − +
Árboles de
decisi´on
► Ejemplos de árboles de decisión
C OLOR

R Oj O V E R DE A zUL


T A M A Ñ O F O R MA

G R ANDE P E q U E Ñ O R E DONDO C UADR A D O

+ − +
T A M A Ñ O

G R ANDE P E q U E Ñ O

+ −
Árboles de
decisi´on
► A´rboles de decisi´on
► Nodos interiores: atributos
► Arcos: posibles valores del nodo origen
► Hojas: valor de clasificación (usualmente + ó −, aunque podría ser
cualquier conjunto de valores, no necesariamente binario)
► Representaci´on de una funci´on objetivo
► Disyunción de reglas proposicionales:
(CIELO=SOLEADO ∧ HUMEDAD=ALTA → JUGARTENIS= −)

(CIELO=SOLEADO ∧ HUMEDAD=NORMAL → JUGARTENIS=+)
∨ (CIELO=NUBLADO → JUGARTENIS= +)
∨ (CIELO=LLUVIOSO ∧ VIENTO=FUERTE → JUGARTENIS= −)
∨ (CIELO=LLUVIOSO ∧ VIENTO=DEBIL → JUGARTENIS= +)

► Capaz de representar cualquier subconjunto de instancias


Aprendizaje de árboles
de decisi´on

► Objetivo: aprender un árbol de decisión consistente con


los ejemplos, para posteriormente clasificar ejemplos
nuevos
► Ejemplo de conjunto de entrenamiento:
Árboles de decisión

▶ Nodos interiores: atributos


▶ Arcos: posibles valores del nodo origen
▶ Hojas: valor de clasificación (usualmente + ´o −,
aunque podría ser cualquier conjunto de
valores, no necesariamente binario)
▶ Representación de una función objetivo
Conjunto de ejemplos sobre condiciones para
jugar tenis.
Pronóstico Temperatura Humedad Viento Clase

soleado Calor alta débil No


soleado Calor alta fuerte No
nublado Calor alta débil Si
lluvia Agradable alta débil Si
lluvia Frio normal débil Si
lluvia Frio normal fuerte No
nublado Frio normal fuerte Si
soleado Agradable alta débil No
soleado Frio normal débil Si
lluvia Agradable normal débil Si
soleado Agradable normal fuerte Si
nublado Agradable alta fuerte Si
nublado Calor Normal débil Si
lluvia Agradable alta fuerte No
ARBOL DE DECISION
Pronóstico

Dia soleado Lluvia


Nublado

Humedad SI Viento

Alta Normal Fuerte Débil

SI
NO
NO SI

Ver ejemplo en herramienta WEKA:


Vínculo de base de datos:
https://storm.cis.fordham.edu/~gweiss/data-mining/datasets.html
Usando Weka

▶ Abrir el programa,
▶ Seleccionar “Explorer”,
▶ Seleccionar “Open URL” si consultaremos desde internet, sino “Open File”,
▶ Poner la dirección de la BD: https://storm.cis.fordham.edu/~gweiss/data
mining/weka-data/weather.arff
▶ Seleccionar método de filtrado, en este caso
Usando Weka

▶ Se aplica a todos:

▶ Se selecciona un método de
clasificación, en este caso usaremos:
CUANDO USAR ÁRBOLES DE
DECISION
▶ Los ejemplos son representados por pares
atributo-valor.
▶ La función a representar tiene valores discretos
(caso del problema de clasificación).
▶ El conjunto de entrenamiento puede contener
errores.
▶ El conjunto de entrenamiento puede contener
valores desconocidos.
CLASIFICACIÓN PROBLEMAS DE APRENDIZAJE

▶ Aprendizaje No supervisado
▶ k-NN

▶ Agrupamiento o clustering

▶ Aprendizaje profundo
▶ Redes neuronales
▶ Redes neuronales convolucionales
Clasificación mediante vecino
más cercano
► Una técnica alternativa a construir el modelo probabilístico
es calcular la clasificación directamente a partir de los
ejemplos (aprendizaje basado en instancias)
► Idea: obtener la clasificación de un nuevo ejemplo a partir
de las categorías de los ejemplos más “cercanos”.
► Debemos manejar, por tanto, una noción de “distancia” entre
ejemplos.
► En la mayoría de los casos, los ejemplos serán elementos de
Rn
y la distancia, la euclídea.
► Pero se podr´ıa usar otra nocio´n de distancia
El algoritmo
k-NN

► El algoritmo k-NN (de “k nearest neighbors”):


► Dado un conjunto de entrenamiento (vectores numéricos
con una categoría asignada) y un ejemplo nuevo
► Devolver la categoría mayoritaria en los k ejemplos del
conjunto de entrenamiento m´as cercanos al ejemplo que
se quiere clasificar.
Clasificador basado K vecinos m´as
próximos (KNN)

► Características:
► Método no paramétrico. No hacemos asunciones sobre la
distribución de los datos.
► Es un m´etodo perezoso. No existe una fase expl´ıcita de
entrenamiento o es mínima. Esto supone que la fase de
entrenamiento es muy r´apida, pero que ser´an necesario todos
los datos de entrenamiento (o gran parte de ellos) para hacer la
predicción.
Clasificador por el vecino
más próximo

► Supone que solo vamos a considerar un vecino: K = 1.


► Fase de entrenamiento:
► Guardamos el conjunto de entrenamiento y las etiquetas
asociadas a cada muestra.
► Fase de predicción (con nuevas muestras):
► Dada una muestra x, buscamos entre el conjunto de
entrenamiento la muestra más cercana xi y asociamos a x
la etiqueta yi
Clasificador por K vecinos m´as
pro´ximos
► Suponemos ahora un K arbitrario (K > 1).
► Fase de entrenamiento:
► Guardamos el conjunto de entrenamiento y las etiquetas asociadas a
cada muestra.
► Fase de predicción (con nuevas muestras):
► Dada una muestra x, buscamos entre el conjunto de entrenamiento
las K muestras más cercanas. Se asociará a la muestra x la etiqueta
que mayor número de votos obtenga entre las K muestras m´as
cercanas.
KNN: Algunas
observaciones
► Mejora: considerar la distancia a la muestra x para dar
mayor o menor valor a la votación.
► Si tenemos a atributos y n muestras el tiempo de predicción
es de orden O(an). Con estructuras como KD-tree podemos
reducir el tiempo de predicción a costa de aumentar el
tiempo de entrenamiento (construir el KD-tree).
► La elección del parámetro k es crítica. Con k grandes la
carga computacional puede ser excesiva y además pierde el
sentido de la idea: dime con qui´en andas y te dir´e como
eres.
El concepto de
distancia
► La idea básica de k-NN consiste en comparar la instancia
que se desea clasificar con todas las instancias ya
conocidas, en t´erminos de su proximidad con cada una de
ellas. Por tanto, necesitamos formalizar la idea de
proximidad: ¿cuáles serán los k vecinos más próximos al
que tratamos de clasificar?
¿Podemos definir una función tal que dados dos pacientes x e
y digamos que est´an a distancia d (x , y )?
► El concepto de distancia ser´a espec´ıfico en cada
problema:
► Expresará la medida de similitud
► La distancia más usada es la euclídea sobre valores
numéricos, pero no siempre es la mejor.
Medidas de
proximidad
Caracter´ısticas

► (SIM) Simetr´ıa: d (x , y ) = d (y , x )∀x ,


►y(DNN) Definida no negativa: d (x , y ) ≥ ∀x ,
0 y
► (dD(TxR,)zD)e≤sigdu(axld,ayd)tr+iadng(uyla,rz:)∀x , y ,

► (REF) Reflexividad: d (x , x ) z
► =(IN0D) Indistinguibilidad: d (x , y ) =∀0x⇒ x = ∀x ,
y y
► Otras...
Medidas de
proximidad
Tipos

► Premétrica: DNN + REF


► Semimétrica: DNN + REF + IND + SIM
► Pseudométrica: DNN + REF + SIM + DTR
► Quasimétrica: DNN + REF + IND + DTR
► Pseudoquasimétrica: DNN + REF + DTR
► Métrica: DNN + REF + IND + SIM + DTR

► Intuici´on para m´etricas d´ebiles: Energ´ıa consumida


para ir de un punto a otro
Distancias más usadas
Clustering jerárquico
Complejidad

Consideremos un problema de clustering jerárquico con N puntos


►Los métodos de Clustering jerárquico divisor tienen que
considerar 2N−1 − 1 posibles maneras de dividir el conjunto inicial
en dos subconjuntos.
► Los métodos de Clustering jerárquico aglomerativo deben
considerar la distancia entre pares de puntos, de orden O(N2).
►Por tanto Clustering jerárquico aglomerativo se usan mucho
m´as que los de tipo divisor.
►Por este motivo, no entraremos en detalle sobre el clustering
aglomerativo divisor o disociativo. No obstante, puede encontrar
m´as informaci´on en esta url.
Ver los siguientes ejemplos en WEKA

Ejemplo: Ver los siguientes videos


• https://www.youtube.com/watch?v=Wz5OsY72CQA
• https://www.youtube.com/watch?v=eyzm9qRZO6E
Usa la siguiente data:
http://archive.ics.uci.edu/ml/datasets/BuddyMove+Data+S
et#
Ejemplo: Ver el video
▶ https://www.youtube.com/watch?v=g8F4UDRKNyA
HERRAMIENTAS

▶ RapidMiner: Ver el video


https://www.youtube.com/watch?v=cvWdHfDHP60

También podría gustarte