Redes neuronales
b1 w11 X1 y1 v1 v2 v3 y3 bsal ysal
b2 w12 w21 y2 w22 b3
X2
w31 w32
Los pesosw, v y b se inicializan con un valor aleatorio entre -0.5 y 0.5. La salida de cada neurona viene representada por la función de activación de la suma de sus entradas (x) por sus pesos (w). El sesgo (b=bias), se comporta como otro peso más donde su entrada x es siempre 1. Esto quiere decir que para una entrada x1 y x2, la salida que obtendremos de la red neuronal será la siguiente:
1
Puedespasar los datos al formato que te sea más cómodo para trabajar.
1
y1=f (w11*x1 + w12*x2 + b1*1) y2=f (w21*x1 + w22*x2 + b2*1) y3=f (w31*x1 + w32*x2 + b3*1)
donde f es una función sigmoide que utilizaremos como función de activación de la neurona f(valor)= 1 / (1+e-valor) Si representamos gráficamente esta función sigmoide, tiene la siguiente forma:
Se puede observar que la función nos va adevolver siempre un valor entre 0 y 1 (que es la salida de la neurona). De esta forma, cada neurona de la capa oculta produce una salida con un valor entre 0 y 1 que se multiplicarán por los pesos (v) de la neurona de salida y se evaluará con la función de activación de esa neurona. Por lo que la salida obtenida por la red es: ysal=f(y1*v1+y2*v2+y3*v3+bsal*1) Cada muestra está asociada a unaclase (0 ó 1). La salida de la red neuronal para una determinada muestra es un valor comprendido entre 0 y 1, por lo que el criterio para decir a que clase pertenece es: Si el valor obtenido es < 0.5 pertenece a la clase 0, en caso contrario es de la clase 1. Por lo que podemos comparar el valor obtenido con el deseado y así calcular el porcentaje de acierto (en el estado inicial de la red):Probabilidad de acierto = (aciertos / número de muestras) * 100
La práctica ha de permitir elegir el número de neuronas en la capa oculta, variando en un rango desde 2 hasta 8.
2
Aprendizaje de la red.
Algoritmo de propagación hacia atrás (back-propagation). El algoritmo es el siguiente: Inicializamos los pesos (w, v y b) con valores aleatorios entre -0.5 y 0.5 Inicializamos η = 0.25, estevalor es el factor de aprendizaje. Hasta condición de salir:
Para cada muestra del conjunto de entrenamiento hacer: Introducimos en nuestra red una muestra y obtenemos la salida de la red (esto es lo que hemos hecho en la práctica 1). Calculamos el error como la diferencia entre lo deseado (t) y el obtenido (ysal). error = t – ysal Modificación de los pesos: Aquí se propaga el error hacia atrásmodificando los valores de v, w y b de la siguiente manera: Modificamos v: δv=ysal * (1 - ysal) * error δv1=η * δv * y1 δv2=η * δv * y2 δv2=η * δv * y3 Una vez calculadas las modificaciones, v1 es lo que valía antes + la modificación de v1 (nota: que puede ser positiva o negativa). Igual para v2 y v3. v1=v1+δv1 v2=v2+δv2 v3=v3+δv3 bsal es igual que un peso “v” pero con la diferencia que su entradaes 1 en vez de “y”, por lo tanto: δbsal=η * δv * 1 bsal = bsal +δbsal
3
Modificamos w: Para w, el procedimiento es similar al de v. δw1=y1 * (1 – y1) * v1 * δv δw11=η * δw1 * x1 w11=w11 + δw11 Igual para w12, w13, etc Para las b se calculan igual que las w pero en vez de tener la entrada x tienen la entrada a 1 (similar a como se ha hecho bsal).
Para la condición de salida tenemos las...
Regístrate para leer el documento completo.