Вы находитесь на странице: 1из 7

Inteligencia Computacional II - Ejercicio II

Santiago Cuervo, Cód. 20122005050


Universidad Distrital F.J.C
dscuervog@gmail.com

1. Primer Punto
1.1. Primer Conjunto de Datos

En la figura 1 se muestran los resultados de las primeras seis iteraciones y el resultado final del
entrenamiento de un perceptrón simple en una tarea de clasificación linealmente separable, siendo
los vectores de datos de entrada expandida y salida:

1, 0, 0 1
   
1, 1, 0 −1
X= , Y = 
1, 0, 1 1
1, 1, 1 1

El vector de pesos se inicializa a:

W = [−0,6395, −0,9610, −0,0736]

A continuación se realiza el proceso manual paso a paso de las primeras seis iteraciones:

1. Tras la inicialización de los pesos el discriminador queda descrito por la desigualdad:

−0,6395 − 0,9610x1 − 0,0736x2 ≥ 0


Al evaluar la función de costo en el primer punto X1 = [0, 0] , Y1 = [1] se obtiene:
L = (w0 + w1 x12 + w1 x13 ) y11 = (−0,6395 + 0 + 0)1 = −0,6395

Por lo que se hace ajuste a los pesos. Se calcula el gradiente de la función de costo L para
este punto como:
∇w L = −[(x11 y11 ), (x12 y11 ), (x13 y11 )] = −[1, 0, 0]
Y se hace la actualización del vector de pesos:

W = W − ∇w L = [0,3605, −0,9610, −0,0736]


Resultando en la nueva función del discriminador:
0,3605 − 0,9610x1 − 0,0736x2 ≥ 0

2. Se procede al segundo punto de los datos, que al evaluar la función del discriminador se
obtiene :

(w0 + w1 x22 + w1 x23 ) y21 = 0,6005


Por lo que no se hace ajuste a los pesos.

1
3. Se procede al tercer punto de los datos, que al evaluar la función del discriminador se
obtiene :

(w0 + w1 x32 + w1 x33 ) y31 = 0,2870

Por lo que no se hace ajuste a los pesos.

4. Se procede al cuarto punto de los datos, que al evaluar la función del discriminador se
obtiene:

(w0 + w1 x42 + w1 x43 ) y41 = −0,6741

Por lo que se hace ajuste a los pesos. Se calcula el gradiente de la función de costo L para
este punto como:

∇w L = −[(x41 y41 ), (x42 y41 ), (x43 y41 )] = −[1, 1, 1]

Y se hace la actualización del vector de pesos:

W = W − ∇w L = [1,3605, 0,0390, , 0,9264]

5. Se toma de nuevo el primer punto de los datos, que al evaluar la función del discriminador
se obtiene :

(w0 + w1 x12 + w1 x13 ) y11 = 1,3605

Por lo que no se hace ajuste a los pesos.

6. Se procede al segundo punto de los datos, que al evaluar la función del discriminador se
obtiene :

(w0 + w1 x22 + w1 x23 ) y21 = −1,3995

Por lo que se hace ajuste a los pesos. Se calcula el gradiente de la función de costo L para
este punto como:

∇w L = −[(x21 y21 ), (x22 y21 ), (x23 y21 )] = −[−1, −1, 0]

Y se hace la actualización del vector de pesos:

W = W − ∇w L = [0,3605, −0,9610, 0,9264]

Como se observa, la convergencia se obtiene para la iteración tres, cuarto punto de los datos. Resul-
tando finalmente en la función del discriminador:

0,3605 − 0,9610x1 + 0,9264x2 ≥ 0

2
Figura 1: Resultado final del entrenamiento para el punto 1.1.

1.2. Segundo Conjunto de Datos

En la figura 2 se muestran los resultados de las primeras seis iteraciones y el resultado final del
entrenamiento de un perceptrón simple en una tarea de clasificación linealmente separable, siendo
los vectores de datos de entrada expandida y salida:

1, −1, −1 1
   
 1, −1, 1  −1
X= , Y = 
1, 1, −1  −1
1, 1, 1 −1

El vector de pesos se inicializa a:

W = [0,4499, −0,1596, −0,0291]

A continuación se realiza el proceso manual paso a paso de las primeras seis iteraciones:

3
1. Tras la inicialización de los pesos el discriminador queda descrito por la desigualdad:

0,4499 − 0,1596x1 − 0,0291x2 ≥ 0


Al evaluar la función de costo en el primer punto X1 = [−1, −1] , Y1 = [1] se obtiene:
L = (w0 + w1 x12 + w1 x13 ) y11 = (0,4499 + 0,1596 + 0,0291)1 = 0,6386
Por lo que no se hace ajuste a los pesos.
2. Se procede al segundo punto de los datos, que al evaluar la función del discriminador se
obtiene :

(w0 + w1 x22 + w1 x23 ) y21 = −0,5803


Por lo que se hace ajuste a los pesos. Se calcula el gradiente de la función de costo L para
este punto como:
∇w L = −[(x21 y21 ), (x22 y21 ), (x23 y21 )] = −[−1, 1, −1]
Y se hace la actualización del vector de pesos:

W = W − ∇w L = [−0,5501 , 0,8404, −1,0291]


3. Se procede al tercer punto de los datos, que al evaluar la función del discriminador se
obtiene :

(w0 + w1 x32 + w1 x33 ) y31 = −1,3194


Por lo que se hace ajuste a los pesos. Se calcula el gradiente de la función de costo L para
este punto como:
∇w L = −[(x31 y31 ), (x32 y31 ), (x33 y31 )] = −[−1, −1, 1]
Y se hace la actualización del vector de pesos:

W = W − ∇w L = [−1,5501, −0,1596, −0,0291]


4. Se procede al cuarto punto de los datos, que al evaluar la función del discriminador se
obtiene:

(w0 + w1 x42 + w1 x43 ) y41 = 1,7389


Por lo que no se hace ajuste a los pesos.
5. Se toma de nuevo el primer punto de los datos, que al evaluar la función del discriminador
se obtiene :

(w0 + w1 x12 + w1 x13 ) y11 = −1,3614


Por lo que se hace ajuste a los pesos. Se calcula el gradiente de la función de costo L para
este punto como:
∇w L = −[(x11 y11 ), (x12 y11 ), (x13 y11 )] = −[1, −1, −1]
Y se hace la actualización del vector de pesos:

W = W − ∇w L = [−0,5501, −1,1596, −1,0291]


6. Se procede al segundo punto de los datos, que al evaluar la función del discriminador se
obtiene :

(w0 + w1 x22 + w1 x23 ) y21 = 0,4197


Por lo que no se hace ajuste a los pesos.

La convergencia se obtiene para la iteración tres, cuarto punto de los datos. Resultando finalmente
en la función del discriminador: -0.5501 -1.1596 -1.0291
−0,5501 − 1,1596x1 − 1,0291x2 ≥ 0

4
Figura 2: Resultado final del entrenamiento para el punto 1.2.

2. Segundo Punto

La figura 3 muestra el resultado de emplear el algoritmo de entrenamiento de Rosenblatt en el con-


junto de datos mostrado. Como se ve, tras mil iteraciones el algoritmo no ha convergido, lo que es de
esperarse, dado que los puntos no son linealmente separables. Como solución se propone entonces
emplear una red de dos perceptrones, como se muestra en la figura 3, y una función OR, o alternati-
vamente, otro perceptrón que la implemente. Las dos neuronas de la primera capa implementan las
funciones discriminantes:

0,7 − x1 ≥ 0
0,7 − x2 ≥ 0

De modo que están evaluando las condiciones x1 >= 0,7 y x2 >= 0,7. Cada una de las neuronas
de la primera capa se encarga de implementar una de las dos rectas necesarias para separar las dos
regiones del espacio de entrada como se muestra en la figura 4. Calculando la OR de la salida de las
dos neuronas de la primera capa se obtiene el discrimandor requerido.

5
Figura 3: Resultado de utilizar el algoritmo de entrenamiento del perceptrón de Rosenblatt para el
punto 2.

Figura 4: Solución con dos neuronas y una compuerta OR propuesta y los discriminadores que
implementa.

3. Tercer Punto

Se desea implementar la función y = x2 x3 + x1 x3 + x1 x2 . Que implementa la tabla de verdad:

6
x1 x2 x3 y
0 0 0 -1
0 0 1 -1
0 1 0 1
0 1 1 -1
1 0 0 1
1 0 1 -1
1 1 0 1
1 1 1 1

La figura 5 muestra el espacio de entrada y las primeras cinco iteraciones empleando el algoritmo
de entrenamiento de Rosenblatt y el resultado final del entrenamiento. El espacio de entrada es
linealmente separable, por lo que un sólo perceptrón puede implementar un plano que discrimine las
dos regiones del espacio, como se aprecia en la parte inferior derecha de la figura 5. La ecuación del
discriminante entrenado es:
−0,6395 + 1,039x1 + 0,9264x2 − 0,5501x3 ≥ 0

Figura 5: Resultado final del entrenamiento para el punto 3.