• Reglas de aprendizaje para empezar con ...

Reglas de aprendizaje para empezar con el entendimiento de la NN.

A medida que uno avanza se va topando uno con reglas cada vez más complejas, estas se usan para actualizar los weigths de los layers.

Veamos con el siguiente ejemplo como alguien puede diseñar sus propias reglas.

Tenemos el siguiente set en el espacio R2->R1

Las graficamos, esto no es necesario pero como introducción:

Ahora empezamos eligiendo nuestro vector de partida en cuanto a los weigths, no elegimos biases por la sencilla razón de que la línea de frontera puede pasar por el origen.

Elijamos el siguiente vector de tal forma que en un principio esté super lejos de nuestro objetivo, recuerda que los weigths son ortogonales siempre a las regiones de frontera, para modelos lineales, es decir con función de activación lineal. Luego la evaluamos y vemos que fracasa completamente al no llegar al target del primer input.

Gráficamente nos encontramos en esta situación.

Como tu podrás notar si adicionamos el vector p1, al weigth este se aproxima cada vez más a este y la frontera va colocándose correctamente para el target one.

De aquí nuestra primera regla para cuando los targets son ones y nuestro output es zero.

Ahora aplicando a esto a nuestro input number one.

Gráficamente la frontera mejora como se puede observar.

Sin embargo aún no es perfecta

De la misma forma se procede cuando el target es zero, ya que nuestro target deseado es one, en vez de agregar el vector p con target one para la actualización de los weigths, se deberá restar los inputs que den zeros en sus targets, ya que nosotros queremos ones y para eso debeos alejarnos de los targets zeros.

Y aplicando la regla para targets zeros.

Gráficamente queda así:

Esto aún es imperfecto, por esta razón seguimos presentando inputs, vamos con el tercero.

Gráficamente le mejora, donde ya hemos clasificado correctamente.

Nuestra regla final es la siguiente, donde si el target coincide con el output no exsitirá mejora ni retroceso, además sirve para comprobar si nuestra red funciona una vez esté entrenada.

Las reglas de nuestra red se presentan a continuación. Donde los errores "e" son los targets menos los inputs". Dependiendo del número de iteraciones esta puede converger o no, todo depende de la tercera regla aplicada para todos los inputs una vez que se han acabado todas las iteraciones.

Que se puede sintetizar así:

Esta se puede extender para los biases, en forma matricial queda de la siguiente forma.

Estas redes sufren cuando se requiere dividir regiones como esta:

Para resolver esto se necesita nuevas arquitecturas, algoritmos de aprendizaje y funciones de transferencia.

En el siguiente capítulo estaré subiendo la prueba de convergencia para esta arquitectra, es decir cuando un sistema es linearmente separable s epuede demostrar que luego de k max iteraciones el sistema queda resuelto.

See you in the next chapter. Take a rest after this. Along this year i m gonna publish a lot of chapters like this.