col.leccio de problemes´ - cs.upc.edubejar/apren/docum/prob-ap.pdf · aprenentatge curs 2013/2014...

37
Aprenentatge CURS 2013/2014 1Q COL.LECCI ´ O DE PROBLEMES Javier B ´ ejar Llu´ ıs Belanche Departament de Llenguatges i Sistemes Inform ` atics Enginyeria en Inform` atica cbea

Upload: nguyendiep

Post on 28-Oct-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Aprenentatge

CURS 2013/2014 1Q

COL.LECCIO DE PROBLEMES

Javier BejarLluıs Belanche

Departament de Llenguatges i Sistemes Informatics

Enginyeria en Informatica

cbea

Índice general

1. Aprendizaje Inductivo 11.1. Espacio de Versiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Arboles de Inducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3. Inductive Logic Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.4. Naïve Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.5. K-nearest neighbor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.6. TLUs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.7. Perceptrones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.8. Maquinas de Soporte Vectorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2. Aprendizaje No Supervisado 17

3. Aprendizaje Basado en Explicaciones 19

4. Aprendizaje por refuerzo 31

1

Esta obra está bajo una licenciaReconocimiento-NoComercial-CompartirIgual de Creative Commons.

Para ver una copia de esta licencia, visitehttp://creativecommons.org/licenses/by-nc-sa/2.5/es/o envie una carta a

Creative Commons,559 Nathan Abbott Way, Stanford,California 94305,USA.

Capıtulo 1Aprendizaje Inductivo

1.1. Espacio de Versiones1. Supongamos que tenemos un lenguaje de descripción de conceptos que admite solo formulas conjuntivas

puras y tenemos el dominio de los coches con los siguientes atributos:

Precio: caro, medio, barato. Motor: diesel, gasolina.Color: azul, verde, rojo. País: Japón, Francia, USA, Alemania.Tamaño: grande, mediano, pequeño.

Genera un conjunto de ejemplos para aprender el siguiente concepto {Coches japoneses caros} ymuestra la evolución del método del espacio de versiones para aprenderlo

2. Supongamos que tenemos un lenguaje de descripción de conceptos que admite solo formulas conjuntivaspuras y tenemos el dominio de las películas con los siguientes atributos:

Sonoro: si, noColor: si, noNacionalidad: USA, España, Francia, ItaliaDuración: cortometraje, mediometraje, largometrajeGénero: comedia, drama, acción, negro, policiaca, aventuras

Genera el conjunto mínimo de ejemplos para aprender el siguiente concepto {largometrajes francesesen color} y muestra la evolución del método del espacio de versiones para aprenderlo

3. Tomando el dominio de los animales con los siguientes descriptores:

Especie (jerárquico); valores: mamífero (bobino, felino, cánido, ...), reptil (ofidio, saurio, quelonio,... ), ave (corredoras, rapaces, palmípedas, ... ).Origen (jerárquico); valores: África (Zaire, Tanzania, Kenia, ...), Asia (India, Thailandia, Siria,Nepal, ...), América (Brasil, Bolivia, Perú, Nicaragua, ...).Alimentación (cualitativo); valores: Carnívoro, Insectívoro, Omnívoro, Herbívoro.Habitat (cualitativo); valores: montaña, mar, sabana, tundra, desierto, selva.Defensa (cualitativo); valores: dientes, cuernos, veneno, garras, carrera, ...Tiempo de desarrollo (cualitativo); valores: semanas, meses, años.

Generar un conjunto de ejemplos para aprender alguno de los siguientes conceptos y mostrar la evo-lución del espacio de versiones:

a) Mamíferos asiáticos herbívoros.

1

2 ÍNDICE GENERAL

b) Aves marinas carnívoras americanas.c) Felinos africanos de montaña.d) Carnivoros de sabana.e) Animales que corren y se desarrollan en meses.f ) Felinos asiáticos carnívoros.g) Aves Peruanas insectivoras con garras.h) Reptiles que corren y que se desarrollan en semanas.i) Mamíferos herbívoros del desierto.j) Animales selváticos de Asia.k) Reptiles americanos selváticosl) Mamíferos zaireños con garras que se desarrollan en meses

m) Aves carnívorasn) Animales de montaña con garrasñ) Reptileso) Animales mamiferos africanos con dientesp) Animales carnivoros americanosq) Animales marinos brasileños venenosos que se desarrollan en mesesr) Animales reptiles asiaticos omnivoross) Animales asiáticos

4. Supongamos que ampliamos nuestro lenguaje de descripción de manera que podemos describir con-ceptos y ejemplos con una sola disyunción en la que los disyuntados no están ordenados. Por ejemplo,si tomamos el dominio de los objetos geométricos podemos expresar el ejemplo ((bola rojo grande)o (cubo verde pequeño)) que es equivalente a ((cubo verde pequeño) o (bola rojo grande)),donde ahora un nuevo ejemplo puede generalizar un concepto de dos maneras posibles, por ejemplo,la instancia ((cubo rojo pequeño) o (cubo verde grande)) puede generalizar el ejemplo anteriorcomo ((? rojo ?) o (cubo verde ?)) o como ((? ? grande) o (cubo ? pequeño)), igual pasacon la especialización. Teniendo en cuenta este nuevo lenguaje y como se comporta ante la genera-lización y la especialización, y tomando como dominio el de los coches, descrito con los siguientesatributos:

Precio: caro, medio, barato.Motor: diesel, gasolina.Color: azul, verde, rojo.País: Japón, Francia, USA, Alemania.Tamaño: grande, mediano, pequeño.

Generar un conjunto de ejemplos para aprender alguno de los siguientes conceptos y mostrar la evo-lución del espacio de versiones:

a) coches diesel americanos grandes o coches diesel americanos caros.b) coches verdes japoneses pequeños o coches franceses diesel grandes.c) coches caros japoneses o coches caros americanos.d) coches grandes azules o coches japoneses diesel.e) coches americanos de gasolina rojos o coches alemanes medianos.f ) Coches diesel japoneses pequeños o coches de gasolina azules grandes.g) Coches americanos o coches franceses grandes

1.1. ESPACIO DE VERSIONES 3

h) Coches diesel japoneses caros o coches diesel americanos grandes.i) Coches caros o coches de gasolina baratos

5. Supongamos que tenemos un lenguaje de descripción de conceptos que admite una única disyunción(como en el problema anterior) y tenemos el dominio de los coches con los siguientes atributos:

Precio: caro, medio, barato. Motor: diesel, gasolina.Color: azul, verde, rojo. País: Japón, Francia, USA, Alemania.Tamaño: grande, mediano, pequeño.

Suponiendo que los disyuntandos no estan ordenados (igual que la otra vez), cual sería la modificacióndel espacio de versiones que aparece a continuación, con el siguiente contraejemplo: ((barato dieselverde Francia grande) (caro diesel verde USA grande))

G= {((? ? ? ? ?) (? ? ? ? ?))}S= {((? diesel ? USA grande) (caro diesel ? USA ?))}

¿Cual sería la modificación del mismo espacio de versiones si el contraejemplo fuera: ((caro dieselverde Japón pequeño)(caro diesel verde Francia pequeño))?

6. Supongamos que tenemos un lenguaje de descripción de conceptos que admite una única disyunción(como en el problema de espacio de versiones que resolvisteis) y tenemos el dominio de los coches conlos siguientes atributos:

Precio: caro, medio, barato. Motor: diesel, gasolina.Color: azul, verde, rojo. País: Japón, Francia, USA, Alemania.Tamaño: grande, mediano, pequeño.

Suponiendo que los disyuntandos no estan ordenados (igual que la otra vez), cual sería la modificacióndel espacio de versiones que aparece a continuación, con el siguiente contraejemplo: ((caro gasolinaverde USA mediano) (barato gasolina verde Francia mediano))

G= {((? ? ? ? ?) (? ? ? ? ?))}S= {((? gasolina ? Francia mediano) (barato gasolina ? Francia ?))}

¿Cual sería la modificación del mismo espacio de versiones si el contraejemplo fuera: ((barato gasolinaverde Japón grande)(barato gasolina verde USA grande))?

7. Supongamos que ampliamos nuestro lenguaje de descripción de manera que podemos describir con-ceptos y ejemplos con una sola disyunción en la que los disyuntados no están ordenados. Por ejemplo,si tomamos el dominio de los objetos geométricos podemos expresar el ejemplo ((bola rojo grande)o (cubo verde pequeño)) que es equivalente a ((cubo verde pequeño) o (bola rojo grande)),donde ahora un nuevo ejemplo puede generalizar un concepto de dos maneras posibles, por ejemplo,la instancia ((cubo rojo pequeño) o (cubo verde grande)) puede generalizar el ejemplo anteriorcomo ((? rojo ?) o (cubo verde ?)) o como ((? ? grande) o (cubo ? pequeño)), igual pasacon la especialización. Teniendo en cuenta este nuevo lenguaje y como se comporta ante la generaliza-ción y la especialización, y tomando como dominio el de las películas de cine, descrito con los siguientesatributos:

Sonoro: si, no.Nacionalidad: USA, España, Francia, Italia.Color: si, no.Género: comedia drama, acción, negro, policiaca, aventuras.Duración: cortometraje, mediometraje, largometraje.

4 ÍNDICE GENERAL

Generar un conjunto de ejemplos para aprender alguno de los siguientes conceptos y mostrar la evo-lución del espacio de versiones:

a) Películas sonoras americanas o películas mudas de acción.b) Largometrajes españoles dramáticos o cortrometrajes cómicos italianos.c) Películas americanas de cine negro en color o comedias americanas en blanco y negro.d) Películas francesas mudas en blanco y negro o comedias mudas en blanco y negro.e) Cortometrajes en color o en blanco y negrof ) Películas mudas en blanco y negro o películas sonoras en colorg) Largometrajes americanos de género negro o cortometrajes franceses cómicosh) Películas dramáticas americanas o cortrometrajes italianosi) Cortometrajes mudos o sonorosj) Comedias en color o largometrajes de acción americanosk) Peliculas policiacas en blanco y negro o en colorl) Cortometrajes de acción americanos o peliculas comicas en blanco y negro

m) Largometrajes de aventuras en color o cortometrajes dramaticos mudosn) Peliculas comicas sonoras o mediometrajes dramaticos en colorñ) Peliculas sonoras en color o peliculas mudas en blanco y negro

8. Supongamos que tenemos un lenguaje de descripción de conceptos que admite una única disyunción(como en el problema de espacio de versiones que resolvisteis) y tenemos el dominio de los coches conlos siguientes atributos:

Precio: caro, medio, barato. Motor: diesel, gasolina.Color: azul, verde, rojo. País: Japón, Francia, USA, Alemania.Tamaño: grande, mediano, pequeño.

Suponiendo que los disyuntandos no estan ordenados (igual que la otra vez), genera un conjunto deejemplos para aprender los siguientes conceptos:

a) Coches diesel caros medianos o coches de gasolina japoneses verdes.b) Coches grandes o pequeños

1.2. Arboles de Inducción

1. Rehaz los ejemplos de espacio de versiones utilizando el algoritmo de ID3 y compara el resultado parael conjunto de ejemplos positivos.

2. Dados los siguientes ejemplos:

Ej. Color Tamaño Clase1 Azul Grande +2 Rojo Pequeño -3 Azul Pequeño +4 Azul Grande -

¿Que atributo tiene la mayor ganancia de información respecto a la clasificación?

3. Dados los siguientes ejemplos:

1.2. ARBOLES DE INDUCCIÓN 5

Ej. Clase A1 A21 + T T2 + T T3 − T F4 + F F5 − F T6 − F T

¿Cual es la entropía de este conjunto de ejemplos? ¿Que atributo tiene la mayor ganancia de informa-ción respecto a la clasificación?

4. Un profesor poco escrupuloso pretende ahorrarse parte de la tarea de corrección de prácticas a basede construir un árbol de discriminación que le permita asociar ciertas características de las prácticasa un resultado. En concreto se utilizarán los atributos: Tamaño de la práctica (páginas), presentación(buena, regular, mala), documentación (existe o no), funcionamiento (funciona o no). Se podrán dartres resultados posibles: aprueba, suspende, corregir. Generar el árbol de inducción que resulta delsiguiente conjunto de ejemplos:

Pags. Presen. Docum. Funciona Resultado100 Regular Si Si Aprueba100 Buena No No Suspende80 Mala Si Si Aprueba50 Regular No Si Corregir50 Buena Si Si Aprueba30 Mala No No Suspende20 Regular Si Si Corregir20 Buena No Si Corregir20 Mala Si Si Suspende10 Regular No Si Suspende

¿Podrías averiguar los criterios de corrección del profesor? Propón unos criteros de selección de losatributos a cada nivel guiado por tu intuición sin tener el cuenta el resultado y compara los dos árboles.Razona sobre la necesidad de tener un conjunto representativo de ejemplos para obtener un resultadoacorde con el criterio de un experto.

5. Construir un árbol de decisión para los siguientes conjuntos de ejemplos:

a)

Ejem. Color Forma Tamaño Clase1 Rojo Cuadrado Grande +2 Azul Cuadrado Grande +3 Rojo Redondo Pequeño −4 Verde Cuadrado Pequeño −5 Rojo Redondo Grande +6 Verde Redondo Grande −

6 ÍNDICE GENERAL

b)

Ejem. Clima Temp. Humedad Viento Picnic1 Soleado Calor Alta Débil No2 Soleado Calor Alta Fuerte No3 Nublado Calor Alta Débil Si4 Lluvioso Suave Alta Débil Si5 Lluvioso Frío Normal Débil Si6 Lluvioso Frío Normal Fuerte No7 Nublado Frío Normal Fuerte Si8 Soleado Suave Alta Débil No9 Soleado Frío Normal Débil Si10 Lluvioso Suave Normal Débil Si11 Soleado Suave Normal Fuerte Si12 Nublado Suave Alta Fuerte Si13 Nublado Calor Normal Débil Si14 Lluvioso Suave Alta Fuerte No

c)

Ej. Historial Deudas Informes Sueldo Riesgo1 Malo Altas Ninguno 0 a 2M Alto2 Desconocido Altas Ninguno 2M a 5M Alto3 Desconocido Bajas Ninguno 2M a 5M Moderado4 Desconocido Bajas Ninguno 0 a 2M Alto5 Desconocido Bajas Ninguno Mas de 5M Bajo6 Desconocido Bajo Buenos Mas de 5M Bajo7 Malo Bajas Ninguno 0 a 2M Alto8 Malo Bajas Buenos Mas de 5M Moderado9 Bueno Bajas Ninguno Mas de 5M Bajo10 Bueno Altas Buenos Mas de 5M Bajo11 Bueno Altas Ninguno 0 a 2M Alto12 Bueno Altas Ninguno 2M a 5M Moderado13 Bueno Altas Ninguno Mas de 5M Bajo14 Malo Altas Ninguno 2M a 5M Alto

6. Dada la siguiente tabla que representa ejemplos de clasificación de películas de cine según los cincoatributos que aparecen a continuación, construye el árbol de decisión resultante de aplicar el algoritmode ID3.

Atributos Valoresnacionalidad: USA, Europa, Asiagenero: comedia, drama, acción, policiaca, aventurasactores: guaperas, actor_de_verdad, normalguión: original, adaptadodirector: bueno, por_encargo, normal

1.2. ARBOLES DE INDUCCIÓN 7

ID Nacionalidad Género Actores Guión Director Clase1 USA accion guaperas original bueno buena2 USA drama actor_de_verdad adaptado bueno buena3 Europa drama actor_de_verdad adaptado bueno buena4 USA aventuras actor_de_verdad original normal buena5 Europa aventuras actor_de_verdad adaptado bueno buena6 USA drama guaperas original por_encargo regular7 USA drama normal adaptado normal regular8 USA policiaca actor_de_verdad original normal regular9 USA comedia normal original normal regular10 USA aventuras guaperas original normal regular11 Asia accion normal original normal mala12 Asia drama normal original normal mala13 Europa drama normal original por_encargo mala14 Europa comedia guaperas original por_encargo mala15 USA drama guaperas original normal mala

7. El algoritmo ID3 explicado en clase esencialmente busca el árbol de decisión mínimo escogiendo encada nivel la condición que de máxima información sobre la pertenencia de cada instancia a una clase.

a) ¿Como se comportaría el algoritmo si cada instancia tiene un atributo que es identificador único(p.e.: el DNI)?

b) ¿Como predeciría un árbol con datos con esas características?

8. En muchos dominios no todos los atributos son igualmente costosos de comprobar (p.e.: En un dominiomédico posiblemente sea más barato hacer una análisis de sangre que una resonancia magnética).Suponiendo que el coste de conocer el valor del atributo X es CX , proponer una modificación delalgoritmo de ID3 para construir árboles que minimizen el coste de la comprobación de los valores delos atributos.

9. En algunos dominios existen atributos en los que en algunas instancias se puede haber perdido suvalor. Como modificarias el criterio de selección de los atributos para que se tenga en cuenta esto.

10. Dados los siguientes ejemplos, determina cual seria el atributo raíz que escogería el algoritmo de ID3con la función de ganancia de información1. ¿Tiene alguna influencia el número de valores por cadaatributo en la decisión?, calcula cual sería el atributo elegido utilizando el split info.

Obj A B C Clase Obj A B C Clase1 a x 1 C1 8 c y 3 C22 b y 1 C1 9 b x 3 C23 b z 3 C1 10 c y 4 C24 a z 2 C1 11 b x 2 C25 a z 3 C1 12 c z 3 C26 b y 2 C1 13 b z 2 C27 c x 1 C1 14 c x 4 C2

Atributo A={a,b,c} Atributo B={x,y,z} Atributo C={1,2,3,4}

11. Dados los siguientes árboles de decisión que han sido obtenidos usando el método de bagging a partirde un conjunto de ejemplos:

¿Cual sería la clasificación que obtendríamos para los siguientes ejemplos?

1Recordad que loga(x) = logb(x)logb(a) y que es un factor común.

8 ÍNDICE GENERAL

A

B

+

1

2

1

C

+

1

2

2

B

A

+

1

2

1

+

2

B

+

1

C

+

1

2

2

Ejemplo A B C ClaseX1 1 2 1X2 2 1 2X3 1 1 2

12. Dados los siguientes árboles de decisión que han sido obtenidos usando el método de bagging a partirde un conjunto de ejemplos:

B

A

+

1

2

1

C

+

1

2

2

C

A

+

1

2

1

+

2

A

+

1

B

+

1

2

2

¿Cual sería la clasificación que obtendríamos para los siguientes ejemplos?

Ejemplo A B C ClaseX1 2 2 2X2 2 1 1X3 1 1 2

1.3. Inductive Logic Programming

1. Tenemos el siguiente conjunto de ejemplos:p(a, b),p(a, c),p(b, d),p(c, e),p(e, i),p(g, h),p(h, e)a(a, d),a(a, e),a(a, i),a(g, e),a(g, i),a(c, i),a(h, i)¬a(i, a),¬a(b, a),¬a(c, h),¬a(h, c),¬a(c, d),¬a(h, d),¬a(g, c)

a) Considerando como criterio de preferencia la diferencia entre ejemplos positivos y negativos cu-biertos, realiza la primera iteración del algoritmo FOIL par aprender el concepto a(x, y)

b) Enumera el conjunto de cláusulas candidatas para continuar la regla aprendida en la primeraiteración

2. Tenemos el siguiente conjunto de ejemplos:P (1, 4),P (2, 4),P (2, 5),P (3, 5),P (1, 6),P (2, 6),P (6, 7),P (8, 3)B(4, 5),B(5, 4),B(4, 6),B(6, 4),B(5, 6),B(6, 5)¬B(1, 2),¬B(2, 1),¬B(2, 3),¬B(3, 2),¬B(3, 7),¬B(6, 8)Suponiendo que el concepto objetivo que queremos aprender es B(x, y) y vamos a usar FOIL comoalgoritmo de aprendizaje:

1.4. NAÏVE BAYES 9

a) ¿Qué ejemplos positivos y negativos cubre la regla B(x, y)→ P (z, x)?

b) ¿Qué ejemplos positivos y negativos cubre la regla B(x, y)→ P (z, x) ∧ P (z, y)?

c) Suponiendo que en la primera iteración hemos escogido la regla B(x, y)→ P (z, x) y restringién-donos a átomos positivos y que no sean el objetivo de la regla (B) ¿Cual sería el conjunto deátomos candidatos que deberíamos probar en la siguiente iteración del algoritmo?

1.4. Naïve Bayes

1. En la siguiente tabla esta representada la distribución de probabilidad aprendida mediante naïve bayesa partir de un conjunto de ejemplos pertenecientes a tres clases. El conjunto de datos consta de tresatributos A1, A2, A3, con los siquientes valores A1={a,b}, A2={a,b,c}, A3={1,2,3}.

A1 A2 A3a b a b c 1 2 3

Clase 1 0.3 0.7 0.1 0.2 0.7 0.6 0.2 0.2Clase 2 0.9 0.2 0.2 0.4 0.4 0.2 0.5 0.3Clase 3 0.4 0.6 0.3 0.3 0.4 0.1 0.6 0.3

Dado el siguiente ejemplo ej1= (A1=b,A2=b,A3=3), calcula a que clase lo asignaría el clasificadoraprendido.

2. En la siguiente tabla esta representada la distribución de probabilidad aprendida mediante naïvebayes a partir de un conjunto de ejemplos pertenecientes a tres clases. El número de ejemplos de cadaclase utilizados para general la tabla son (clase 1 = 100 ejemplos, clase 2 = 200 ejemplos, clase 3=100 ejemplos). El conjunto de datos consta de tres atributos A1, A2, A3, con los siquientes valoresA1={a,b}, A2={R,G,B}, A3={x,y,z}.

A1 A2 A3a b R G B x y z

Clase 1 0.2 0.8 0.2 0.2 0.6 0.1 0.6 0.3Clase 2 0.5 0.5 0.3 0.6 0.1 0.3 0.2 0.5Clase 3 0.7 0.3 0.5 0.4 0.1 0.7 0.1 0.2

Dado el siguiente ejemplo ej1= (A1=b,A2=R,A3=z), ¿que probabilidad de pertenencia a cada clase leasignaría el clasificador aprendido?

3. En la siguiente tabla está representada las distribuciones de probabilidad aprendidas mediante naïvebayes a partir de un conjunto de ejemplos pertenecientes a tres clases. El número de ejemplos de cadaclase utilizados para general la tabla son: clase 1 = 300 ejemplos, clase 2 = 200 ejemplos, clase 3=100 ejemplos. El conjunto de datos consta de tres atributos A1, A2, A3, con los siquientes valoresA1={a,b}, A2={R,G,B}, A3={x,y,z}.

A1 A2 A3a b R G B x y z

Clase 1 0.3 0.7 0.1 0.3 0.6 0.1 0.6 0.3Clase 2 0.9 0.1 0.4 0.5 0.1 0.3 0.3 0.4Clase 3 0.6 0.4 0.7 0.1 0.2 0.4 0.4 0.2

Dado el siguiente ejemplo ej1= (A1=a,A2=G,A3=y), ¿que probabilidad de pertenencia a cada clase leasignaría el clasificador aprendido?

10 ÍNDICE GENERAL

1.5. K-nearest neighbor

1. Dados los siguientes ejemplos que tienen un solo atributo real y están clasificados en dos clases (+,−).Vamos a usar K-nearest neighbour usando la distancia euclídea sin ponderar.

-3.5 -2.7 -2.1 -1.3 -0.8 -0.4 0.3 1.4 2.3 3.1

+ + − − + − + + − −

x -3.5 -2.7 -2.1 -1.3 -0.8 -0.4 0.3 1.4 2.3 3.1y + + − − + − + + − −

a) Calcula el error leave-one-out para un clasificador 1-Knn y expresa ese error como el número deejemplos mal clasificados

b) Calcula el error leave-one-out para un clasificador 3-Knn y expresa ese error como el número deejemplos mal clasificados

2. Dados los siguientes ejemplos que representan una función unidimensional:

x y1 12 1.52.5 23 3

3.75 3.54.5 2.55 1.5

Calcular para los valores 1.5 y 3.5 el resultado que daría la regresión local calculada por k-nn en lossiguientes casos:

a) Media de los 2, 3 y 4 vecinos más cercanos (rompiendo empates prefiriendo vecinos a la izquierda)b) Ponderación por 1/distancia de los 2, 3 y 4 vecinos más cercanosc) Regresión lineal con los 3, 4 vecinos más cercanosd) Representa gráficamente los resultados y coméntalos.

Nota: Un modelo de regresión lineal ajusta la recta y = α + β · x para un vector de puntos x y susvalores y, en el caso unidimensional β se puede calcular como:

β = x · y − x · yx2 − x2

siendo α = y − β · x (siendo z la media de un vector)

1.6. TLUs

1. La siguientes redes utilizan neuronas TLU (Threshold Logical Units), donde la arista representa elpeso y el nodo el límite. Dar la función lógica que evalúan.

1.6. TLUS 11

1

1-1

1

1

1

a)-1

1

12

b) 1

1

12

c)

2. Encontrar las redes de neuronas TLU que calculen las funciones siguientes (proponer soluciones con 1y 2 neuronas):

a) y(x1, x2, x3) = x1 ∧ x2 ∧ ¬x3

b) y(x1, x2, x3) = ¬x1 ∧ x2 ∧ ¬x3

c) y(x1, x2) = x1 ∧ x2

d) y(x1, x2, x3) = ¬(x1 ∨ x2) ∧ ¬(x2 ∨ x3) ∧ ¬(x3 ∨ x2)

3. ¿Qué función lógica calcula la red de la figura? ¿Se podría hacer con solo una neurona?

1

1 0

1-1

4. Dada la siguiente red TLU

1

1

-1

-1

1

11

1

1

La función binaria que calcula esta red es:

a) (x1 ∧ ¬x2) ∨ (¬x1 ∧ x2)

b) (x1 ∨ ¬x2) ∧ (¬x1 ∨ x2)

c) (x1 ∧ ¬x2)

d) (¬x1 ∧ ¬x2) ∨ (x1 ∧ x2)

12 ÍNDICE GENERAL

1.7. Perceptrones

1. La red de la figura utiliza neuronas con la función de activación heaviside binaria de la forma:

H(x) ={

+1 si x ≥ 0−1 si x < 0

realiza una correspondencia de R2 −→ {+1,−1}. Mostrarla gráficamente.

-1

1

-1

1

12.5

-1

-3

-1

1

2-3

2. Considerando la red de la figura que usa neuronas con función de activación heaviside (como en elproblema anterior). Representar gráficamente la región para la que la red da una salida de 1. Tomarx0 = −1.

-1

1

1

13.5

-1

-3

-1

1

2-3

1

-6 2

3. Considerad la red multicapa de la figura donde cada unidad calcula:

yi = H(ni∑

j=0wijxj)

Siendo x el vector de entrada con x0 = 1 fijo, ni el número de entradas de la neurona i (n1 = 2, n2 = 3)y H la función heaviside.

1.7. PERCEPTRONES 13

-1.5

1

-2

1

-0.5

1

1

1

Neurona1

Neurona2

La entradas son binarias, es decir x = (x1, x2) ∈ {0, 1} × {0, 1}, con lo que la red calcula una funciónlógica f . Se pide:

a) ¿Qué función lógica f1 calcula la neurona 1?b) ¿Qué función lógica f2 calcula la neurona 2?c) ¿Qué función f calcula la red? Expresarla en función de f1 y f2.

4. Dar un ejemplo de una función booleana que sea linealmente separable y de una que no lo sea.

5. Decir si las siguientes funciones lógicas son linealmente separables

a) y(x1, x2, x3) = x1 ∧ (x2 ∨ x3)b) y(x1, x2, x3) = (x1 ∧ x2) ∨ x3)c) y(x1, x2, x3) = x1

d) y(x1, x2, x3) = (x3) ∧ x1) ∨ (¬x3 ∧ ¬x2)

6. Tenemos un perceptrón con dos entradas x1 y x2 con pesos w0 = −0.35, w1 = 0.5 y w2 = 0.2, queremosque la entrada x = (−1, 1) de como resultado +1 (el valor de la entrada de sesgo es 1).

a) ¿Es salida del perceptrón es correcta para esta entrada?b) Si no es correcta, aplica la regla del perceptrón las veces que sean necesarias hasta que la salida

sea correcta utilizando α = 0.25. Haz lo mismo con α = 0.1.c) Aplica cuatro iteraciones de la regla δ con α = 0.25

7. Queremos entrenar un perceptrón para el conjunto de datos x1 = (1,−2), x2 = (0, 32), x3 = (−1, 1),

x4 = (−12 , 2), las salidas son respectivamente 0, 0, 1 y 1. Se pide:

a) Ejecutar a mano la regla del perceptrón. Tomar α = 1 y vector inciial de pesos w = (12 , 1,−1)

b) Representar gráficamente el resultado.

8. Queremos entrenar un perceptrón de una sola neurona para la siguiente tarea: Tenemos un displayindicador del tráfico en el que se pueden encender de manera independiente las señales a (el signo“<”), b (el segmento recto y c (el signo “>” como se muestra en la figura. El perceptrón ha de darrespuesta afirmativa cuando se encienda la flecha izquierda (“<-”), la flecha derecha (“->”) o las dosa la vez (“<->”) y negativa para el resto (mal funcionamiento). Podemos suponer que el display tienetres variables binarias (xa, xb y xc que expresan el estado del indicador (por ejemplo, xa = 1 quieredecir que la señal a está encendida)

a b c

14 ÍNDICE GENERAL

9. Considerar dos perceptrones de una neurona con dos dimensiones que calculal y = H(w0+w1x1+w2x2),siendo H la función heaviside. El perceptrón A tiene valores w0 = 2, w1 = −2 y w2 = 1, mientrasque el perceptrón B tiene valores w0 = −2, w1 = −2 y w2 = 1. Decimos que un perceptrón P es másgeneral que otro Q si P da una salida 1 siempre que lo hace Q. ¿Es cierto que A es más general queB?

10. Sea el conjunto de puntos x1 = (1, 1), x2 = (0, 0), x3 = (2, 2), x4 = (1, 0), x5 = (2, 0), x6 = (0, 1).Estos puntos se han de poder separar en dos clases: la clase +1 i la clase −1, de manera que x1, x3 yx5 son de la clase +1 y el resto de la −1.

a) Dibujar los puntos en unos ejes coordenados y razonad si se puede hacer con un perceptrón.b) Entrenad un perceptrón con la regla vista en teoría, partiendo de un vector de pesos inicial

w = (0, 0, 0) y α = 12 , presentando los puntos en el orden dado.

c) Dibujar la recta solución superpuesta con los puntos de entrenamiento. ¿Qué tiene de particularesta recta respecto a los puntos?

11. Tenemos un perceptrón con dos entradas x1 y x2 donde el valor de la entrada de sesgo es 1 y los pesosasignados a cada entrada son (w0 = 2, w1 = 1, w2 = −1). La función de activación de la neurona esla función signo, de manera que los ejemplos se clasifican como positivos si el valor en el hiperplanoes positivo o cero y como negativo en otro caso.

a) Escribe la ecuación del hiperplano separador e indica cual es la clasificación que daría para lospuntos (0, 0) y (−1, 2).

b) Supongamos que el punto (−1, 0) es de la clase negativa. Dados los pesos anteriores aplica la regladel perceptrón para que se clasifique correctamente y da la ecuación del hiperplano resultanteusando una tasa de aprendizaje de 0.5.

c) Da la ecuación del hiperplano si usamos la regla delta con una tasa de aprendizaje de 0.5.

12. Dado el perceptrón multicapa de la figura, siendo la función de activación de las neuronas de la capaoculta la combinación lineal de sus entradas y la función de activación de la neurona de salida la funciónsigno de la combinación lineal de sus entradas, calcula el hiperplano separador que corresponde a cadauna de las neuronas de la capa oculta y da la clasificación que da la red para los siguientes puntos(1, 1), (−1, 1) y (0, 3).

1 32

S

1-1

1

-1

1 -1 1

11

1 01

-2

13. Dado el perceptrón multicapa de la figura, siendo la función de activación de las neuronas de la capaoculta la combinación lineal de sus entradas y la función de activación de la neurona de salida la funciónsigno de la combinación lineal de sus entradas, calcula el hiperplano separador que corresponde a cada

1.8. MAQUINAS DE SOPORTE VECTORIAL 15

una de las neuronas de la capa oculta y da la clasificación que da la red para los siguientes puntos(1, 1), (−1, 1) y (0, 3).

1 32

S

11

-1

-1

-1 -3 -2

01

1 32

1

14. Tenemos un perceptrón con dos entradas x1 y x2 donde el valor de la entrada de sesgo es 1 y los pesosasignados a cada entrada son (w0 = 3, w1 = 3, w2 = 1). La función de activación de la neurona es lafunción signo, de manera que los ejemplos se clasifican como positivos si el valor en el hiperplano espositivo o cero y como negativo en otro caso.

a) Escribe la ecuación del hiperplano separador e indica cual es la clasificación que daría para lospuntos (1, 1), (−2, 1), (−2,−2) y (1,−3).

b) Supongamos que los dos primeros puntos son de la clase positiva y los dos últimos. Dados lospesos iniciales aplica una iteración de la regla delta y muestra como se halla la ecuación delhiperplano resultante usando una tasa de aprendizaje de 0.1.

15. Tenemos un perceptrón con dos entradas x1 y x2 donde el valor de la entrada de sesgo es 1 y los pesosasignados a cada entrada son (w0 = 3, w1 = 1, w2 = 3). La función de activación de la neurona es lafunción signo, de manera que los ejemplos se clasifican como positivos si el valor en el hiperplano espositivo o cero y como negativo en otro caso.

a) Escribe la ecuación del hiperplano separador e indica cual es la clasificación que daría para lospuntos (1, 1), (1,−3), (−2,−2) y (−2, 1).

b) Supongamos que los dos primeros puntos son de la clase positiva y los dos últimos. Dados lospesos iniciales aplica una iteración de la regla delta y muestra como se halla la ecuación delhiperplano resultante usando una tasa de aprendizaje de 0.1.

1.8. Maquinas de Soporte Vectorial

1. Tenemos el punto (2, 2) clasificado como positivo y el (1, 1) como negativo. Resuelve analíticamente elproblema de optimización cuadrática de la SVM lineal para este caso y calcula los pesos de los vectoresde soporte y el hiperplano separador. (Nota: al ser solo dos puntos el problema se simplifica en hallarel máximo de una función cuadrática)

2. Dado el siguiente conjunto de puntos:

16 ÍNDICE GENERAL

Categoría x1 x2C1 1 1C1 2 2C1 2 0C2 0 0C2 1 0C2 0 1

Representa los seis puntos y a partir del gráfico calcula el hiperplano separador que maximiza el margeny el tamaño del margen. ¿Cuales serían los vectores de soporte?

3. Dada la siguiente tabla de ejemplos y pesos que corresponden a vectores de soporte obtenidos medianteel algoritmo de máquinas de soporte vectorial. Calcula el hiperplano separador a partir de estos vectoresde soporte (primero el vector de pesos w y despues el interceptor b) y calcula la clasificación de losejemplos (2, 0) y (1.4) usando los vectores de soporte, no el hiperplano.

x1 x2 y α

2 4 + 0.1254 2 + 0.1251 1 - 0.25

4. Dada la siguiente tabla de ejemplos y pesos que corresponden a vectores de soporte obtenidos medianteel algoritmo de máquinas de soporte vectorial. Calcula el hiperplano separador a partir de estos vectoresde soporte (primero el vector de pesos w y despues el interceptor b) y calcula la clasificación de losejemplos (−1, 0) y (3, 1) usando los vectores de soporte, no el hiperplano.

x1 x2 y α

1 2 + 0.1253 4 + 0.1254 1 - 0.25

Capıtulo 2Aprendizaje No Supervisado

1. Dada la siguiente jerarquía construida mediante el algoritmo de COBWEB.

F

C

T

P(C)=

Ci Cu

R

P M

V A

G

F

C

T

P(C)=

Ci Cu

R

P M

V A

G

F

C

T

P(C)=

Ci Cu

R

P M

V A

G

F

C

T

P(C)=

Ci Cu

R

P M

V A

G

F

C

T

P(C)=

Ci Cu

R

P M

V A

G

F

C

T

P(C)=

Ci Cu

R

P M

V A

G

2/5

0

0 0

0 1/2 1/2

1

1

F

C

T

P(C)=

Ci Cu

R

P M

V A

G

1/5

0 1

0 0

0 01

1

F

C

T

P(C)=

Ci Cu

R

P M

V A

G

1

2/5 3/5

2/5 1/5 2/5

2/52/51/5

2/5

01

1 0 0

0 1/21/2

1/2 1/2 1/2 1/2

1 1 1 10000

1 1

1

0 0

000

00

0 1 1

1 10 0

0 0

0 0

001

El dominio consta de 3 atributos:

Forma: circulo, cuadrado.Color: rojo, verde, amarilloTamaño: pequeño, mediano, grande

¿Como se modificaría al introducir el ejemplo: (cuadrado verde grande)?

17

18 ÍNDICE GENERAL

Capıtulo 3Aprendizaje Basado en Explicaciones

1. Considera la siguiente teoría de dominio para el concepto aprueba:

aprueba(x) ← conoce_la_asignatura(x) ∧ esta_despierto(x)conoce_la_asignatura(x) ← ha_estudiado(x)

esta_despierto(x) ← durmio_anoche(x)ha_estudiado ← fue_a_clase(x) ∧ leyo_los_apuntes(x)

Supón que los predicados operacionizables son {durmio_anoche, estudio, desayuno, aprobo_el_parcial,fue_a_clase, leyo_los_apuntes}. Genera la explicación para la siguiente instancia positiva del con-cepto:durmio_anoche(juan) ∧ estudio(juan) ∧ ¬desayuno(juan) ∧¬aprobo_el_parcial(juan) ∧ leyo_los_apuntes(juan)

2. Aprende el concepto dias en los que navegar utilizando EBG. Tenemos la siguiente teoría del dominio:

Dia_para_navegar(x) ← lloviendo(x, no) ∧ laborable(x, no)Dia_para_navegar(x) ← lloviendo(x, no) ∧ viento(x)

laborable(x, no) ← fin_de_semana(x)fin_de_semana(x) ← domingo(x)fin_de_semana(x) ← sabado(x)

lloviendo(x, no) ← soleado(x, si)

Tenemos como instancia positiva del concepto:Dia_para_navegar(Julio_5), aniversario_juan(Julio_5), sabado(Julio_5), soleado(Julio_5, si),dia_siguiente(Julio_5, Julio_6)El concepto sólo puede estar expresado con los predicados de la instancia.

3. Aprende el concepto apilable utilizando EBG. Tenemos la siguiente teoría del dominio:

apilable(x, y) ← ¬fragil(y)apilable(x, y) ← mas_ligero(x, y)peso(x,w) ← volumen(x, v) ∧ densidad(x, d) ∧multip(v, d, w)

mas_ligero(x, y) ← peso(x,w) ∧ peso(y, z) ∧menor(w, z)peso(x, 5) ← es_un(x,mesa)

Tenemos como instancia positiva del concepto:

19

20 ÍNDICE GENERAL

sobre(obj1, obj2), es_un(obj1, caja), es_un(obj2,mesa), color(obj1, rojo), color(obj2, azul),volumen(obj1, 1), densidad(obj1, .1), multip(1, x, x), menor(.1, 5)El concepto sólo puede estar expresado con los predicados de la instancia.

4. Aprende el concepto mata(juan,juan) utilizando EBG. Tenemos la siguiente teoría del dominio:

mata(x, y) ← odia(x, y) ∧ posee(x,w) ∧ es_un(w, arma))odia(x, x) ← deprimido(x)posee(x, y) ← compra(x, y)

es_un(x, arma) ← es_un(x, pistola)

Tenemos como instancia positiva del concepto:deprimido(juan), compra(juan, p1), es_un(p1, pistola)El concepto sólo puede estar expresado con los predicados de la instancia.

5. Aprende el concepto taza utilizando EBG. Tenemos la siguiente teoría del dominio:

taza(x) ← estable(x) ∧ alzable(x) ∧ vaso_abierto(x)estable(x) ← fondo(y) ∧ parte_de(y, x) ∧ plano(y)alzable(x) ← asible(x) ∧ ligero(x)asible(x) ← asa(y) ∧ parte_de(y, x)

vaso_abierto(x) ← concavidad(y) ∧ parte_de(y, x) ∧ hacia_arriba(y)

Tenemos como instancia positiva del concepto:ligero(obj1), color(obj1, rojo), parte_de(asa1, obj1), asa(asa1), fondo(f1), parte_de(f1, obj1), plano(f1),concavidad(c1), parte_de(c1, obj1), hacia_arriba(c1)El concepto sólo puede estar expresado con los predicados de la instancia.

6. La siguiente teoría de dominio describe las relaciones de parentesco de una familia. Genera la represen-tación de una familia cualquiera y genera utilizando EBL las explicaciones correspondientes a algunosde los predicados de la teoría planteando algunos ejemplos utilizando la representacion de la familia.Supón que solo son operacionizables los predicados progenitor, casado, varon y mujer.

padre(x, y) ← progenitor(x, y) ∧ varon(x)casado(x, y) ← casado(y, x)madre(x, y) ← progenitor(x, y) ∧mujer(x)marido(x, y) ← casado(x, y) ∧ varon(x)esposa(x, y) ← casado(x, y) ∧mujer(x)hijo(x, y) ← progenitor(y, x) ∧ varon(x)hija(x, y) ← progenitor(y, x) ∧mujer(x)

hermanos(x, y) ← padre(f, x) ∧ padre(f, y)∧madre(m,x) ∧madre(m, y)

hermano(x, y) ← hermanos(x, y) ∧ varon(x)hermana(x, y) ← hermanos(x, y) ∧mujer(x)cunada(x, y) ← hermano(b, y) ∧ casado(x, b)cunado(x, y) ← hermana(s, y) ∧ casado(x, s)suegra(x, y) ← madre(x, s) ∧ casado(s, y)suegro(x, y) ← padre(x, s) ∧ casado(s, y)

3 Aprendizaje Basado en Explicaciones 21

tio(x, y) ← progenitor(p, y) ∧ hermano(x, p)tio(x, y) ← progenitor(p, y) ∧ hermana(s, p) ∧marido(x, s)tia(x, y) ← progenitor(p, y ∧ hermana(xp)tia(x, y) ← progenitor(p, y) ∧ hermano(b, p) ∧ esposa(x, b)

primo(x, y) ← progenitor(p, x) ∧ progenitor(o, y) ∧ hermanos(p, o)abuela(x, y) ← progenitor(p, y) ∧madre(x, p)abuelo(x, y) ← progenitor(p, y) ∧ padre(x, p)

ancestro(x, y) ← progenitor(x, y)ancestro(x, y) ← progenitor(p, y) ∧ ancestro(x, p)

descendiente(x, y) ← ancestro(y, x)

7. Suponiendo un sistema de aprendizaje que utiliza EBL y el dominio de la familia en el que lospredicado progenitor, casado, varon y mujer son predicados operacionalizables y con la siguienteteoría del dominio:

padre(x, y) ← progenitor(x, y) ∧ varon(x)madre(x, y) ← progenitor(x, y) ∧mujer(x)casado(x, y) ← casado(y, x)marido(x, y) ← casado(x, y) ∧ varon(x)esposa(x, y) ← casado(x, y) ∧mujer(x)

¿Se pueden operacionalizar los siguientes predicados? ¿Es única su operacionalización? ¿Es recomen-dable operacionalizar los dos? ¿Porque?

suegro(x, y) ← padre(x, s) ∧ esposa(s, y)ancestro(x, y) ← progenitor(p, y) ∧ ancestro(x, p)ancestro(x, y) ← progenitor(x, y)

¿Cual sería el resultado de la operacionalización? (genera un ejemplo que la permita)

8. Supón que podemos describir escenas del mundo de los bloques que contienen una mano de robot,bloques y una mesa. Estos bloques pueden estar sobre la mesa o sobre otro bloque. Tomemos lossiguientes operadores de planificación:

coger(x)Pre y Suprimir: en_mesa(x), libre(x), manovacíaAñadir: cogido(x)

dejar(x)Pre y Suprimir: cogido(x)Añadir: en_mesa(x), libre(x), manovacía

apilar(x)Pre y Suprimir: cogido(x), libre(x)Añadir: manovacía, sobre(x,y), libre(x)

desapilar(x)Pre y Suprimir: manovacía, libre(x), sobre(x,y)Añadir: cogido(x), libre(y)

22 ÍNDICE GENERAL

Genera una escena del mundo de los bloques y escoge un objetivo. Crea una tabla triangular con elplan necesario para cumplir el objetivo y generalízala.

9. Supón que añadimos a las escenas anteriores la existencia de habitaciones que pueden estar conectadasentre si por pasadizos. La mano de robot se convierte en un robot entero con una mano. Los bloquesy el robot pueden estar en una habitación. El conjunto de operadores disponibles se incrementa de lasiguiente manera:

ir(robot, p, hab1, hab2)Precondición: conectadas(p, hab1, hab2), en(hab1, robot)Suprimir: en (hab1, robot)Añadir: en(hab2, robot)

empujar(robot, caja, p, hab1, hab2)Precondición: conectadas(p, hab1, hab2), en(hab1, robot), en(hab1, caja)Suprimir: en (hab1, robot), en(hab1, caja)Añadir: en(hab2, robot), en(hab, caja)

Genera una escena del mundo de los bloques y escoge un objetivo. Crea una tabla triangular con elplan necesario para cumplir el objetivo y generalízala.

10. Supón que podemos describir escenas del mundo de los bloques que contienen una mano de robot,bloques y una mesa. Estos bloques pueden estar sobre la mesa o sobre otro bloque. Tomemos lossiguientes operadores de planificación:

coger(x):Precondición: en_mesa(x), libre(x), manovacíaSuprimir: en_mesa(x), libre(x), manovacíaAñadir: cogido(x)

dejar(x):Precondición: cogido(x)Suprimir: cogido(x)Añadir: en_mesa(x), libre(x), manovacía

apilar(x,y):Precondición: cogido(x), libre(y)Suprimir: cogido(x), libre(y)Añadir: manovacía, sobre(x,y), libre(x)

desapilar(x,y):Precondición: manovacía, libre(x), sobre(x,y)Suprimir: manovacía, libre(x), sobre(x,y)Añadir: cogido(x), libre(y)

Supón que quieres planificar para pasar del estado inicial al estado final que aparecen en la figura. ¿Queejemplos resolverías primero para hacer este problema más eficientemente? Genera la tabla triangulargeneralizada para estos problemas e incluye el resultado como otros operadores más. Intenta resolverel problema incial con estos nuevos operadores y generaliza también esta resolución.

Los predicados con los que se puede describir una escena son:manovacía: La mano del robot esta libresobre(x,y): El objeto x está sobre el objeto ylibre(x): El objeto x no tiene nada encimacogido(x): El objeto x esta cogido por la mano del roboten_mesa(x): El objeto x esta sobre la mesa

C

B A

D

D

C

B

A

3 Aprendizaje Basado en Explicaciones 23

11. Supón que podemos describir escenas del mundo de los bloques que contienen una mano de robot,bloques y una mesa. Estos bloques pueden estar sobre la mesa o sobre otro bloque. Tomemos lossiguientes operadores de planificación:

Operador coger(x) dejar(x)Prec. en_mesa(x), libre(x), manovacía cogido(x)Supr. en_mesa(x), libre(x), manovacía cogido(x)Añadir cogido(x) en_mesa(x), libre(x), manovacíaOperador apilar(x,y) desapilar(x,y)Prec. cogido(x), libre(y) manovacía, libre(x), sobre(x,y)Supr. cogido(x), libre(y) manovacía, libre(x), sobre(x,y)Añadir manovacía, sobre(x,y), libre(x) cogido(x), libre(y)

Los predicados con los que se puede describir una escena son:

manovacía: La mano del robot esta libre cogido(x): El objeto x esta cogido por la mano del robotsobre(x,y): El objeto x está sobre el objeto y en_mesa(x): El objeto x esta sobre la mesalibre(x): El objeto x no tiene nada encima

a) Resuelve el problema de la figura y generaliza la resolución usando aprendizaje EBL.

C

B

B

AA C

b) Supón que quieres planificar para pasar del estado inicial al estado final que aparecen en lafigura. ¿Que ejemplos resolverías primero para hacer este problema más eficientemente? Generala tabla triangular generalizada para estos problemas e incluye el resultado como otros operadoresmás. Intenta resolver el problema inicial con estos nuevos operadores y generaliza también estaresolución.

C

B A

D

AB

CD

12. Queremos trabajar en un mundo parecido al de los bloques en el que tenemos vasos, posavasos yla mano de un robot. Para manipular en este mundo disponemos de dos operadores coger(x,y) ydejar(x,y)

Operador coger(x,y)Prec. vaso(x), posavasos(y), sobre(x,y), manovacíaSupr. sobre(x,y), manovacíaAñadir cogido(x), libre(y)Operador dejar(x,y)Prec. vaso(x), posavasos(y), libre(y), cogido(x)Supr. cogido(x), libre(y)Añadir sobre(x,y), manovacía

Supón que queremos resolver el problema que aparece a continuación:

1 2 3 4

C A B

2

BA

1

C

3 4

24 ÍNDICE GENERAL

Para resolverlo más sencillamente vamos a plantearnos primero resolver mover un vaso de un posavasosa otro. Resuelve el problema de la figura siguiente y aprende a partir de él el operador mover(x,y,z)que mueve el vaso x del posavasos y al posavasos z. Resuelve el problema inicial usando este nuevooperador.

A

1 2

A

1 2

Supongamos que queremos un operador mas potente que intercambie los vasos entre dos posavasos u-sando un tercero como soporte temporal. Resuelve el problema de la figura siguiente usando el operadormover(x,y,z) para aprender en operador intercambiar(a,b,x,y,z) que intercambia el vaso a queesta sobre el posavasos x con el vaso b que esta sobre el posavasos y. Usa este nuevo operador pararesolver otra vez el problema inicial.

1 2 3

A B

1 2 3

AB

Comenta las diferencias entre las dos soluciones. ¿Tiene ventajas el operador más complejo respectoal más simple? ¿Porque?

13. Supón que podemos describir escenas del mundo de los bloques que contienen una mano de robot,bloques y una mesa. Estos bloques pueden estar sobre la mesa o sobre otro bloque. Tomemos lossiguientes operadores de planificación:

Operador coger(x) dejar(x)Prec. en_mesa(x), libre(x), manovacía cogido(x)Supr. en_mesa(x), libre(x), manovacía cogido(x)Añadir cogido(x) en_mesa(x), libre(x), manovacíaOperador apilar(x,y) desapilar(x,y)Prec. cogido(x), libre(y) manovacía, libre(x), sobre(x,y)Supr. cogido(x), libre(y) manovacía, libre(x), sobre(x,y)Añadir manovacía, sobre(x,y), libre(x) cogido(x), libre(y)

Los predicados con los que se puede describir una escena son:

manovacía: La mano del robot esta libre cogido(x): El objeto x esta cogido por la mano del robotsobre(x,y): El objeto x está sobre el objeto y en_mesa(x): El objeto x esta sobre la mesalibre(x): El objeto x no tiene nada encima

a) Queremos resolver el problema de la figura, pero para ello primero queremos aprender dos opera-dores, uno llamado despejar(x,y), que quita un bloque de encima de otro y lo deja en la mesay otro llamado colocar(x,y) que hace la operación inversa, pone un bloque que hay en la mesaencima de otro. Indica las unificaciones de variables que hagas durante el aprendizaje y por quelas haces. No simplifiques los operadores despues del aprendizaje.

B

C

A B

A

C

Estado FinalEstado Inicial

3 Aprendizaje Basado en Explicaciones 25

b) Una vez aprendidos estos dos operadores aplícalos para resolver el problema de la figura y aprendecon el plan un operador que se llame sandwich(x,y,z). ¿Es mas general este operador que elplan original?

c) Dados los planes de la tabla, que resuelven el problema de la siguiente figura, ¿Es mas ventajosouno que el otro? Compáralos respecto al número de pasos primitivos y el número de precondicionesque hay que comprobar, y comenta los resultados.

Plan 1 Plan 2despejar(C,A) despejar(C,A)despejar(A,B) despejar(E,D)sandwich(E,A,D) desapilar(A,B)colocar(C,B) apilar(A,D)

colocar(E,A)colocar(C,B)

B

C

A

D

E

Estado Inicial

C

B

A

E

D

Estado Final

14. Supón que podemos describir escenas del mundo de los bloques que contienen una mano de robot,bloques y una mesa. Estos bloques pueden estar sobre la mesa o sobre otro bloque. Tomemos lossiguientes operadores de planificación:

Operador apilar(x,y) desapilar(x,y)Prec. cogido(x), libre(y) manovacía, libre(x), sobre(x,y)Supr. cogido(x), libre(y) manovacía, libre(x), sobre(x,y)Añadir manovacía, sobre(x,y), libre(x) cogido(x), libre(y)

Los predicados con los que se puede describir una escena son:

manovacía: La mano del robot está libre cogido(x): El objeto x está cogido por la mano del robotsobre(x,y): El objeto x está sobre el objeto y en_mesa(x): El objeto x está sobre la mesalibre(x): El objeto x no tiene nada encima

a) Queremos aprender el operador mover(x,y,z) que pasa un bloque de una pila a otra como apareceen la figura:

AA

B C B C

Estado FinalEstado Inicial

No hace falta que useis el algoritmo de planificación para hallar el plan, lo podeis hacer a ojo.¿Es este plan más general que el original?

b) Tenemos tambien los operadores despejar(x,y) y colocar(x,y) con la siguiente definición:

Operador despejar(x,y) colocar(x,y)Prec. sobre(x,y), manovacía, libre(x) manovacía, en_mesa(x), libre(x), libre(y)Supr. sobre(x,y), manovacía, libre(x) manovacía, en_mesa(x), libre(x), libre(y)Añadir manovacía, en_mesa(x), libre(x), libre(y) sobre(x,y), manovacía, libre(x)

26 ÍNDICE GENERAL

Ahora queremos aprender el operador intercambiar(x,y,z,w) usando los operadores mover,despejar y colocar. Al generalizar el plan os encontrareis que aparecen múltiples posibilidades ala hora de unificar variables, indicad que posibilidades aparecen, pero escoged las que os parezcanlas correctas para el plan que se quiere obtener.

A

B C B C

D AD

Estado FinalEstado Inicial

c) ¿Encontrais alguna relación entre las múltiples posibilidades que aparece a la hora de generalizarel plan y el haber usado sólo operadores no primitivos? ¿Que creeis que se ha perdido al utilizarlos operadores no primitivos que de alguna manera dificulta la generalización?

15. Tenemos un dominio en el que un camión traslada paquetes de una ciudad a otra, y disponemos delos siguientes predicados y operadores:

camion(c) c es un camiónpaquete(p) p es un paqueteciudad(l) l es una ciudaden(o,l) el objeto o esta en el lugar lcarga(c,p) el camion c carga el paquete pconexion(l1,l2) la ciudad l1 conecta con la ciudad l2

op: cargar(c,p,l) op: descargar(c,p,l)prec: camion(c),paquete(p), prec: camion(c),paquete(p),carga(c,p),

ciudad(l),en(c,l),en(p,l) ciudad(l),en(c,l)add: carga(c,p) add: en(p,l)del: en(p,l) del: carga(c,p)op: viajar(c,l1,l2)prec: camion(c),ciudad(l1),

ciudad(l2),en(c,l1),conexion(l1,l2)add: en(c,l2)del: en(c,l1)

a) Dados los problemas de las figuras, generar un plan que los resuelva y crear un nuevo operadorcon la generalización de los planes:

Ci2Ci1

Ca1

Pa1 Pa1

Ca1

Ci2Ci1

ciudad(ci1),ciudad(c2),camion(ca1) en(ca1,ci2),carga(ca1,pa1)paquete(pa1),en(ca1,ci1),en(pa1,c2)conecta(ci1,ci2),conecta(ci2,ci1)

3 Aprendizaje Basado en Explicaciones 27

Ci2Ci1

Pa1

Ca1

Ci2Ci1

Pa1

Ca1

ciudad(ci1),ciudad(c2),camion(ca1) en(ca1,ci2),en(pa1,ci2)paquete(pa1),en(ca1,ci1),carga(ca1,pa1)conecta(ci1,ci2),conecta(ci2,ci1)

b) Dado este nuevo problema, generar un plan que lo resuelva y crear un nuevo operador con lageneralización del plan. ¿Observas alguna particularidad en el plan generalizado?

Ci2Ci1

Pa1

Ca1

Ci2Ci1

Pa1

Ca1

ciudad(ci1),ciudad(c2),camion(ca1) en(ca1,ci2),en(pa1,ci2)paquete(pa1),en(ca1,ci1),en(pa1,c1)conecta(ci1,ci2),conecta(ci2,ci1)

c) Resuelve este nuevo plan con los operadores originales, con los operadores aprendidos en el primerapartado y con el operador aprendido en el segundo apartado. Compara los tres planes obtenidos.Comenta la generalidad y utilidad de los operadores aprendidos.

Pa1

Ci2Ci1

Ca1

Ci3

Pa1

Ca1

Ci1 Ci2 Ci3

ciudad(ci1),ciudad(c2),ciudad(c3) en(ca1,ci3),en(pa1,ci3)camion(ca1),paquete(pa1)en(ca1,ci1),en(pa1,c1)conecta(ci1,ci2),conecta(ci2,ci1)conecta(ci2,ci3),conecta(ci3,ci2)

16. Tenemos un vector con n posiciones donde en cada una de ellas tenemos una letra, disponemos de unoperador que nos permite intercambiar dos posiciones consecutivas del vector definido de la siguientemanera:

Operador swap(x,y,vx,vy)Prec. next(x,y), val(x,xv), val(y,vy)Supr. val(x,vx), val(y,vy)Añadir val(x,vy), val(y,vx)

Los predicados con los que se puede describir una escena son:

next(x,y): La posicion y es la siguiente a la xval(x,vx): la posicion x tiene el valor vx

28 ÍNDICE GENERAL

a) Genera el plan que lleva del vector de la izquierda al de la derecha utilizando el operador swap(basta con indicar que pasos hacen falta).

A B C A BC

Aprende el operador back generalizando el plan generado usando la técnica de EBL utilizada porSTRIPS. Indica la tabla triangular inicial justificando que predicados son los relevantes, la tablageneralizada y la tabla restringida con las unificaciones de variables que haces y por que.b) Genera el plan que lleva del vector de la izquierda al de la derecha utilizando el operador swap(basta con indicar que pasos hacen falta).

A B C AC B

Aprende el operador mirror generalizando el plan generado usando la técnica de EBL utilizada porSTRIPS. Indica la tabla triangular inicial justificando que predicados son los relevantes, la tablageneralizada y la tabla restringida con las unificaciones de variables que haces y por que.c) Dados los planes de la tabla, que resuelven el problema de la figura, ¿Es alguno mas ventajoso unoque el otro? Compáralos respecto al número de pasos primitivos y el número de precondiciones quehay que comprobar, y comenta los resultados.

A B C D AD C B

Plan 1 Plan 2 Plan 3 Plan 4swap(3,4,C,D) back(2,3,4,B,C,D) mirror(1,2,3,A,B,C) swap(3,4,C,D)swap(2,3,B,D) swap(1,2,A,D) swap(3,4,A,D) back(1,2,3,A,B,D)swap(1,2,A,D) back(2,3,4,A,B,C) mirror(1,2,3,C,B,D) mirror(2,3,4,A,B,C)swap(3,4,B,C) swap(3,4,A,B) swap(2,3,B,C)swap(2,3,A,C)swap(3,4,A,B)

17. Tenemos un vector con n posiciones donde en cada una de ellas tenemos una letra, disponemos dedos operadores, el primero (swap) nos permite intercambiar dos posiciones consecutivas del vector, elsegundo (mirror) nos permite intercambiar dos posiciones separadas una posicion. Estan definidos dela siguiente manera:

Operador swap(x,y,vx,vy)Prec. next(x,y), val(x,xv), val(y,vy)Supr. val(x,vx), val(y,vy)Añadir val(x,vy), val(y,vx)Operador mirror(x,y,z,vx,vz)Prec. next(x,y), next(y,z), val(x,xv), val(z,vz)Supr. val(x,vx), val(z,vz)Añadir val(x,vz), val(z,vx)

Los predicados con los que se puede describir una escena son:

next(x,y): La posición y es la siguiente a la xval(x,vx): la posición x tiene el valor vx

Aprende el plan [swap(1,2,A,B) → mirror(1,2,3,B,C) → swap(2,3,A,B)] que lleva del vector de laizquierda al de la derecha

3 Aprendizaje Basado en Explicaciones 29

A B C C B A

Aprende el plan generando un operador con él, usando la técnica de EBL utilizada por STRIPS. Indicala tabla triangular inicial justificando que predicados son los relevantes, la tabla generalizada y la tablarestringida con las unificaciones de variables que haces y por que.

18. Supón que podemos describir escenas del mundo de los bloques que contienen una mano de robot,bloques y una mesa. Estos bloques pueden estar sobre la mesa o sobre otro bloque. Tomemos lossiguientes operadores de planificación:

Operador despejar(x,y) colocar(x,y)Prec. sobre(x,y), manovacía, libre(x) manovacía, en_mesa(x), libre(x), libre(y)Supr. sobre(x,y), manovacía, libre(x) manovacía, en_mesa(x), libre(x), libre(y)Añadir manovacía, en_mesa(x), libre(x), libre(y) sobre(x,y), manovacía, libre(x)

Los predicados con los que se puede describir una escena son:

manovacía: La mano del robot esta libre cogido(x): El objeto x esta cogidosobre(x,y): El objeto x está sobre el objeto y por la mano del robotlibre(x): El objeto x no tiene nada encima en_mesa(x): El objeto x esta sobre la mesa

a) Queremos aprender el operador extrae(x,y,z) que quita un bloque de entre otros dos. Indica lasunificaciones de variables que hagas durante el aprendizaje y por que las haces. No simplifiqueslos operadores después del aprendizaje, si el nuevo operador borra algo del estado original y luegolo vuelve a añadir dejalo así.

C

B

A

A

BC

b) Una vez aprendido este operador aplícalo (junto con el resto de operadores del dominio) para resol-ver el problema de la figura y aprende con el plan un operador que se llame malabares(x,y,z,w).

A

B

C

D D

C

B

A

c) Compara el plan obtenido en el apartado anterior, el operador aprendido con ese plan y el plan[despejar(A,B), despejar(B,C), despejar(C,D), colocar(C,B), colocar(A,D)]. ¿Se obtiene un ahorrorespecto al número de pasos primitivos aplicados? ¿Y respecto al número de precondiciones quese han de comprobar? Comenta los resultados.

30 ÍNDICE GENERAL

Capıtulo 4Aprendizaje por refuerzo

1. Queremos construir un sistema capaz de controlar un proceso con tres estados {Alto, Medio, Bajo}donde se pueden realizar las acciones Aumentar y Disminuir. El siguiente gráfico indica como es lafunción de cambio de estado (δ) y el refuerzo (r) obtenido por cada acción:

Alto Medio Bajo

Disminuir, 0

Aumentar, 100

Disminuir, 0

Aumentar, 0

Supondremos que para entrenar el sistema aprenderemos a partir de tres secuencias de entrenamiento:

a) Estado Inicial=Alto, acciones={Disminuir,Aumentar,Disminuir}b) Estado Inicial=Bajo, acciones={Aumentar,Aumentar,Disminuir}c) Estado Inicial=Medio, acciones={Disminuir,Aumentar,Aumentar}

Calcula la función Q que obtendríamos después de aprender estas tres secuencias mediante el algoritmode Q-Learning. Muestra la evolución de la función Q paso a paso.

2. Queremos construir un sistema capaz de controlar un proceso con tres estados {A, B, C} donde sepueden realizar las acciones up y down. El siguiente gráfico indica como es la función de cambio deestado (δ) y el refuerzo (r) obtenido por cada acción:

A

B C

up, 0

down, 0up, 100

down, 0

down, 50

up, 25

Supondremos que para entrenar el sistema aprenderemos a partir de tres secuencias de entrenamiento:

a) Estado Inicial=A, acciones={up,up,up}

31

32 ÍNDICE GENERAL

b) Estado Inicial=B, acciones={down,up,down}c) Estado Inicial=C, acciones={down,down,up}

Calcula la función Q que obtendríamos después de aprender estas tres secuencias mediante el algoritmode Q-Learning considerando que el valor del parámetro γ es 0.9. Muestra la evolución de la función Qpaso a paso.

3. Queremos hacer que un sistema de control aprenda a controlar una válvula que gobierna la presióny la temperatura de un sistema. Consideraremos que la presión y la temperatura pueden tomar losvalores alta y baja. De esta manera tenemos cuatro estados definidos por las combinaciones de losvalores de estas dos variables. El sistema de control puede hacer dos acciones: Abrir, Cerrar.

La función δ de cambio de estado y la funcion r de refuerzo son las del siguiente grafo:

(A, A) (A, B)

(B, B)(B, A)

Abrir,50

Cerrar, 50

Abr

ir,10

0

Cerrar, 0

Abrir, 0

Cerrar,0

Abrir, 100

Cer

rar,

0

Supondremos que para entrenar el sistema aprenderemos a partir de tres secuencias de entrenamiento:

a) Estado Inicial=(A,A), acciones={cerrar, cerrar, abrir, abrir}b) Estado Inicial=(A,B), acciones={cerrar, cerrar, abrir}c) Estado Inicial=(B,B), acciones={cerrar, abrir}

El valor del parámetro γ es de 0.9.

4. Queremos construir un sistema capaz de controlar un proceso que tiene cuatro estados {A, B, C, D}donde podemos realizar las acciones a y b. La siguiente figura muestra la función de transición (δ) yel refuerzo (r) obtenido por cada acción:

A B C

D

a, 10

b, 20

a, 20

b, 50

a, 60

b, 30a, 70

b, 50

4 Aprendizaje por refuerzo 33

Usando el algoritmo Q-Learning con γ = 0.9 y α = 1, Using the Q-Learning algorithm with γ = 0.9and α = 1, Calcula la función acción-valor Q que se obtiene con la secuencia que empieza en el estadoA y realiza las acciones {a,a,b,a,b,a}.

5. Queremos construir un sistema capaz de controlar un proceso que tiene cuatro estados {A, B, C, D}donde podemos realizar las acciones a y b. La siguiente figura muestra la función de transición (δ) yel refuerzo (r) obtenido por cada acción:

A B C

D

a, 10

b, 20

a, 20

b, 50

a, 60

b, 30

a, 70b, 50

Usando el algoritmo Q-Learning con γ = 0.9 y α = 1,

a) Calcula la función acción-valor Q que se obtiene con la secuencia que empieza en el estado A yrealiza las acciones {a,b,a,b,b,a}

b) Calcula la función acción-valor Q que se obtiene con la secuencia que empieza en el estado A yrealiza las acciones {b,b,a,b,a,a}