Ejercicios Inteligencia Artificial II

Inteligencia Artificial II (Curso 2010-2011) Ejercicios propuestos del tema 4 Ejercicio 1: Dise˜ nar un perceptr´on simp

Views 107 Downloads 0 File size 64KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Inteligencia Artificial II (Curso 2010-2011) Ejercicios propuestos del tema 4 Ejercicio 1: Dise˜ nar un perceptr´on simple con n valores de entrada y funci´on umbral de activaci´on que sirva para calcular la funci´on MAYORIA-SIMPLE; esta funci´on recibe n entradas (cada una puede ser un 0 o un 1) y devuelve como salida un 1 si hay estrictamente m´as 1s que 0s, o 0 en caso contrario. Ejercicio 2: Demostrar geom´etricamente que un perceptr´on simple no puede calcular la funci´on XOR. Construir una red neuronal (con funci´on umbral como funci´on de activaci´on) que s´ı la calcule. Indicaci´ on: Tener en cuenta que XOR se puede obtener mediante AND y OR, y que estas dos funciones si pueden ser calculadas por perceptrones. Ejercicio 3: La funci´on PARIDAD es aquella que recibiendo n bits, devuelve 1 si hay un n´ umero par de ellos igual a 1, y 0 en caso contrario ¿Se puede calcular la funci´on PARIDAD mediante un perceptr´on simple? ¿Y mediante una red neuronal con una capa oculta y funci´on umbral como funci´on de activaci´on? Indicaci´ on: incluir n neuronas en la capa intermedia, donde cada neurona i de la capa intermedia se debe activar con un 1 si hay m´as de i entradas iguales a 1. Ejercicio 4: Sea f una funci´on de R × R en {−1, 1} tal que f (−1, 1) = f (0, 0) = 1 y f (−1, 0) = f (0, 1) = −1. Supongamos que con ese conjunto de ejemplos aplicamos el algoritmo de entrenamiento del perceptr´on simple bipolar ¿Ser´a el algoritmo capaz de encontrar los pesos adecuados para que la unidad bipolar correspondiente calcule correctamente los cuatro ejemplos anteriores? En el caso de usar el algoritmo de entrenamiento de la regla delta para encontrar un perceptr´on simple con funci´on activaci´on diferenciable, ¿hacia qu´e converge el vector de pesos que va construyendo el algoritmo? Ejercicio 5: Sea el conjunto de puntos del plano x1 = (1, 1), x2 = (0, 0), x3 = (2, 2), x4 = (1, 0), x5 = (2, 0) y x6 = (0, 1). Estos puntos est´an clasificados en dos grupos: los tres primeros de la clase 1 y los restantes de la clase 0 ¿Es posible que un perceptr´on los clasifique correctamente? Aplicar el algoritmo de entrenamiento del perceptr´on simple con funci´on de activaci´on umbral para encontrar un vector de pesos que clasifique correctamente esos puntos. Tomar w0 = w1 = w2 = 0 como pesos iniciales y 0.5 como factor de aprendizaje. Ejercicio 6: Supongamos que entrenamos un perceptr´on cuya funci´on de activaci´on es la identidad, usando la regla Delta como algoritmo de entrenamiento. Si el conjunto de entrenamiento es linealmente separable ¿Est´a garantizado que en alg´ un momento encontraremos unos pesos que hagan que el perceptr´on clasifique correctamente a cada uno de los ejemplos del conjunto de entrenamiento? Ejercicio 7: Sea f una funci´on de R × R en {−1, 1}. Consideremos el problema de aprender f mediante un perceptr´on simple bipolar, para ello se tiene el siguiente conjunto de entrenamiento: E1 E2 E3 E4 E5 E6

Entradas (2, 0) (0, 0) (2, 2) (0, 1) (1, 1) (1, 2)

Salida 1 −1 1 −1 1 −1

Aplicar el algoritmo de entrenamiento del perceptr´on simple bipolar con el conjunto de entrenamiento anterior, considerando los ejemplos en el mismo orden en que aparecen, hasta que se clasifiquen correctamente todos los ejemplos. Tomar 0 como valor inicial para los pesos y 0.1 como factor de aprendizaje. Con los pesos aprendidos, ¿qu´e salida se obtiene para las siguientes entradas: (0, 2), (1, 0) y (2, 1)?

1

Ejercicio 8: Consideremos la siguiente red neuronal, que utiliza la funci´on sigmoide σ como funci´on de activaci´on:

1

4

7

2

5

8

3

6

9

Se pide: 1. Calcular, detallando las f´ormulas utilizadas1 , la salida de la red para la entrada ~x = h1, 0, 0i, suponiendo que todos los pesos de la red son 0.5. 2. Consideremos ahora otro ejemplo ~x = hx1 , x2 , x3 i con salida esperada ~y = h1, 0, 0i. Supongamos que en todas las neuronas de la capa oculta la salida obtenida con ese ejemplo es ai = 0.2, y que para las neuronas de la capa de salida se tiene ai = 0.5. Realizar los c´alculos necesarios siguiendo el algoritmo de retropropagaci´on hasta hallar el valor del error ∆4 . ¿Cu´ales son las f´ormulas para actualizar los pesos w0,4 , w4,7 , w4,8 y w4,9 ? 3. Supongamos que esta red se ha dise˜ nado para clasificar unos datos que se pueden representar mediante vectores ~x ∈ R3 . Supongamos que ya hemos implementado alg´ un algoritmo de aprendizaje usando un conjunto de entrenamiento. • Explicar el proceso que hay que seguir para clasificar un ejemplo nuevo ~x = hx1 , x2 , x3 i. • Si nos interesase clasificar los ejemplos en s´olo dos categor´ıas ¿Realizar´ıas modificaciones sobre la red? ¿Cu´ales? Ejercicio 9: Sea una red neuronal con la siguiente estructura en la que se usa el sigmoide como funci´on de activaci´on:

1

2

3

5

7

6

8

4 Supongamos dado un ejemplo (x1 , x2 , x3 , x4 ) con salida esperada (y7 , y8 ). Supongamos tambi´en que ya hemos calculado la salida ai en cada unidad i = 1, . . . , 8. Seg´ un el algoritmo de retropropagaci´on: ¿cu´ales son las f´ormulas para calcular los errores ∆8 , ∆7 y ∆6 , respectivamente? ¿y las f´ormulas para actualizar los pesos w6,7 y w6,8 , respectivamente? 1 Nota:

σ(0) = 0.5,

σ(0.25) = 0.44

2

Ejercicio 10: Consideremos la siguiente red neuronal con funci´on de activaci´on lineal g(x) = x en todas sus unidades:

1

3 5

2

4

Sean los ejemplos de entrenamiento (x~1 , y1 ) = (h0, 0i, 1) y (x~2 , y2 ) = (h1, 1i, 0). Aplicar una iteraci´on del algoritmo de retropropagaci´on para cada uno de estos ejemplos, tomando 0.1 como factor de aprendizaje y todos los pesos iniciales iguales a 0.5. Ejercicio 11: Explicar c´omo se usar´ıa una red neuronal para obtener un reconocedor de letras escritas a mano. Describir con precisi´on qu´e estructura de red usar´ıas, qu´e representar´ıan tanto la entrada como la salida de la red, en qu´e consistir´ıa un conjunto de entrenamiento y c´omo se podr´ıa obtener, y c´omo se buscar´ıan unos pesos adecuados para la red ¿Qu´e entendemos en este contexto por “pesos adecuados”? Ejercicio 12: Supongamos que queremos dise˜ nar un sistema automatizado para reconocer el estado de ´animo de la gente observando la expresi´on de su cara. Por simplificar las cosas, supongamos que consideramos cuatro tipos distintos de estados de ´animo: alegre, triste, enfadado y neutro. Suponiendo que nuestro sistema dispone de una c´amara que es capaz de obtener im´agenes digitalizadas de la cara de una persona ¿c´omo dise˜ nar´ıas el sistema usando una red neuronal? ¿en qu´e consistir´ıa el aprendizaje de esa red? Ejercicio 13: Supongamos que tenemos un problema de aprendizaje en el que hay que aprender a clasificar elementos de Rn en dos categor´ıas, para cierta dimensi´on n > 0. No se conoce la manera exacta de clasificar, pero s´ı se conoce la clasificaci´on de un conjunto finito de tuplas (es decir, un conjunto de entrenamiento). • Dar un ejemplo de una aplicaci´on real en el que se pueda plantear una situaci´on como ´esta. • Si el conjunto de entrenamiento no es linealmente separable y el clasificador que se quiere aprender fuera un perceptr´on simple, ¿cu´antas unidades de entrada y cu´antas de salida tendr´ıa? ¿qu´e funci´on de activaci´on emplear´ıa? Una vez aprendido, ¿c´omo se usar´ıa para clasificar nuevas instancias? • ¿Qu´e algoritmo usar´ıas para aprender los pesos de dicho perceptr´on? Justificar la respuesta. • Para n = 3, calcular un paso del algoritmo anterior correspondiente a un ejemplo positivo (inventando los pesos de partida, el ejemplo y la tasa de aprendizaje). Por simplificar, considerar que la funci´on de activaci´on es la identidad, aunque no sea ´esa la funci´on elegida en el apartado anterior. Supongamos ahora una situaci´on an´aloga a la anterior pero con cuatro categor´ıas de clasificaci´ on. • Dar un ejemplo de una aplicaci´on real en la que se pueda plantear dicha situaci´on. • Si el clasificador que se quiere aprender fuera ahora una red multicapa ¿cu´antas unidades tendr´ıa en la capa de entrada y cu´antas en la de salida? ¿qu´e funci´on de activaci´on usar´ıa? Una vez aprendido, ¿c´omo se usar´ıa para clasificar nuevas instancias? • Considerar en concreto n = 3 y una red con una capa oculta con dos unidades. En dicha situaci´on, y usando el algoritmo de retropropagaci´on para aprender sus pesos, describir las f´ormulas (simb´olicamente) que reflejan c´omo se actualizan dichos pesos en un paso del algoritmo correspondiente a un ejemplo de la tercera categor´ıa. Se piden tanto las f´ormulas de la propagaci´on hacia adelante (en cada unidad) como las de la propagaci´on hacia atr´as (en cada peso). Ejercicio 14: Una nariz electr´ onica analiza mediante sensores los vapores procedentes de determinadas sustancias y las clasifica a partir de la informaci´on cuantitativa obtenida. Supongamos que utilizamos 16 sensores para identificar cuatro tipos de vino tinto: Cabernet, Merlot, Syraz y Tempranillo. 3

Describir en detalle c´omo podr´ıamos usar una red neuronal para abordar este problema: en que consistir´ıa un conjunto de entrenamiento y c´omo se codificar´ıan los ejemplos, la estructura de la red, el algoritmo de entrenamiento usado y de qu´e manera se usar´ıa la red una vez entrenada, para identificar un nuevo vino tinto. Ejercicio 15: Supongamos que una empresa de televisi´on por cable quiere dise˜ nar un sistema automatizado para recomendar a sus clientes uno de sus cinco canales tem´aticos, en funci´on de sus preferencias, que se tratan de adivinar en funci´on de una encuesta con 20 preguntas. ¿C´omo dise˜ nar´ıas el sistema usando una red neuronal? ¿Qu´e estructura tendr´ıa esta red neuronal? ¿C´omo entrenar´ıas la red y cu´al ser´ıa tu conjunto de entrenamiento? Una vez entrenada, ¿c´omo usar´ıas la red obtenida para recomendar un canal tem´atico a un nuevo cliente? Ejercicio 16: Supongamos que queremos dise˜ nar un sistema de “anuncios personalizados” para los usuarios de un portal web. En este portal web hay veinte secciones tem´aticas y la compa˜ n´ıa maneja cuatro posibles perfiles publicitarios, cada uno de ellos apropiado a un usuario en funci´on de los temas que m´as le interesan. Describir c´omo se usaria una red neuronal para implementar este sistema: estructura de la misma, conjunto de entrenamiento, aprendizaje de los pesos, uso de la red una vez entrenada...

4