lunes, 4 de agosto de 2014

Estudio de la función de activación sigmoide


1. Demuestre que la derivada de la función de activación sigmoide f’(x)=αf(x)(1-f(x))



2. Considere una neurona con una sola entrada con función de activación sigmoide α=1. Grafique la función de la neurona para los siguientes casos: a) w0=0; w1=1; b) w0=0; w1=-1; c) w0=0; w1 valores desde -1 a 2 en pasos de 1.
a) 

alfa = 1;w0 = 0;w1 = 1;
in = -5:0.05:5;
net = w0 + in*w1;
out = 1./(1+exp(-net));
plot(in,out)
legend('w0=0,w1=1')                    
Gráfica a


b)
alfa = 1;w0 = 0;w1 = -1;
in = -5:0.05:5;
net = w0 + in*w1;
out = 1./(1+exp(-net));
plot(in,out)
legend('w0=0,w1=-1')
Gráfica b

 c) 

alfa = 1;w0 = 0;w1 = -1;
in = -5:0.05:5;
net = w0 + in*w1;
out = 1./(1+exp(-net));
plot(in,out,'r')
hold on
w1 = 0;
net = w0 + in*w1;
out = 1./(1+exp(-net));
plot(in,out,'b')
w1 = 1;
net = w0 + in*w1;
out = 1./(1+exp(-net));
plot(in,out,'g')
w1 = 2;
net = w0 + in*w1;
out = 1./(1+exp(-net));
plot(in,out,'k')
legend('w1=-1','w1=0','w1=1','w1=2')
Gráfica c


3.  Considere una neurona con una sola entrada con f unción de activación sigmoide α=1. Grafique la función de la neurona para los siguientes casos: a) w1=1; w0=3, 0, 4 b) w1=0.3; w0 = -3, 0, 4. Encuentre los puntos de frontera para las tres curvas en cada caso  (el punto de frontera es aquel valor  de in tal que w0+w1*in=0) 
 a)  
alfa = 1;w0 = -3;w1 = 1;
in = -5:0.05:5;

net = w0 + in*w1;

out = 1./(1+exp(-net));
plot(in,out,'r')
hold on
w0 = 0;
net = w0 + in*w1;
out = 1./(1+exp(-net));
plot(in,out,'b')
w0 = 4;
net = w0 + in*w1;
out = 1./(1+exp(-net));
plot(in,out,'g')
legend('w0=-3','w0=0','w0=4')
text(0,0.5,'\leftarrow PuntoInflexión')
text(3,0.5,'\leftarrow PuntoInflexión')
text(-4,0.5,'\leftarrow PuntoInflexión')

Gráfica a


b) 
alfa = 1;w0 = -3;w1 = 0.3;
in = -15:0.05:15;
net = w0 + in*w1;
out = 1./(1+exp(-net));
plot(in,out,'r')
hold on
w0 = 0;
net = w0 + in*w1;
out = 1./(1+exp(-net));
plot(in,out,'b')
w0 = 4;
net = w0 + in*w1;
out = 1./(1+exp(-net));
plot(in,out,'g')
legend('w0=-3','w0=0','w0=4')
text(0,0.5,'\leftarrow (0,0.5)')
text(10,0.5,'\leftarrow (10,0.5)')
text(-13.3,0.5,'\leftarrow (-13.3,0.5)')


Gráfica b


4. Resuma los efectos combinados que produce el ajuste de los pesos w0 y w1 durante el aprendizaje.
 

El ajuste del peso w0 define la posición en la coordenada horizontal donde se va a producir el punto de frontera, es decir que realizando solo el cambio en w0 se produce un desplazamiento horizontal ya sea positivo o negativo.

Por otro lado al realizar una variación en w1 se está ajustando la pendiente que va a definir la gráfica en el punto de frontera.

5. Determine la función de aproximación mediante red neuronal para una función tipo pulso descrita por la figura. Los pesos de las conexiones se indican abajo.  

Programa: 

a01=20.8;a02=47.6;a11=-69;a12=-68;
b0=0.25;b1=-0.5;b2=0.5;
in=0:0.01:1;
u1=(a01+in*a11);
y1=1./(1+exp(-u1));
u2=(a02+in*a12);
y2=1./(1+exp(-u2));
z=(b0+ b1*y1+ b2*y2);
plot(in,z)


6. Para el ejercicio anterior obtenga los gráficos de salida de las neuronas escondidas para valores de entrada entre 0 y 1. Justifique la funcionalidad de la red neuronal a partir del funcionamiento de cada neurona.

a01=20.8;a02=47.6;a11=-69;a12=-68;
b0=0.25;b1=-0.5;b2=0.5;

in=0:0.01:1;

u1=(a01+in*a11);
y1=1./(1+exp(-u1));
subplot(2,2,1);
plot(in,y1)
u2=(a02+in*a12);
y2=1./(1+exp(-u2));
subplot(2,2,2);
plot(in,y2)
z=(b0+ b1*y1+ b2*y2);
subplot(2,2,3);
plot(in,z)
 


La neurona que se aprecia en la primera imagen define el punto de inicio de la red neuronal, es decir que debido a una inversión en su funcionamiento ésta permite que a la salida se obtenga una pendiente positiva. La segunda gráfica define el punto en donde la función de la red neuronal comienza a descender, es decir que obtiene una pendiente negativa.