Do you want to switch to Platzi in English?
2

Entrenamiento del perceptron

El siguiente tutorial tiene el objetivo de complementar la clase 15 del curso de introducción a machine learning. Es la primera vez que publico contenido espero les sirva.

Introducción
El concepto de redes neuronales suele ser explicado fácilmente cuando se relaciona con el aprendizaje humano. Cuando un niño va a aprender a identificar los colores, primero debe mirar el color y luego con indicaciones, aprende las características de ese color, esto le permite identificar cada uno de ellos en el futuro sin tener que recibir nuevamente la información. Lo mismo sucede con las redes neuronales, pueden tomar decisiones una vez han sido entrenadas con información previa. Si se desea que identifique colores como se mencionaba anteriormente, se debe suministrar información que permita identificar cada color tal cual como lo haría el niño en su aprendizaje.
En resumen, una red neuronal es la representación computacional de las neuronas del cerebro humano, las cuales intervienen en las decisiones que tomamos a diario y son claves al momento de adquirir conocimientos. Para comprender mejor el funcionamiento de una red neuronal, este tutorial se enfoca en el análisis del perceptron puesto que es el modelo más simple de una red neuronal.

El perceptron (Conceptos generales)
El perceptron es la representación de una neurona del cuerpo humano.

Perceptron.PNG

Teniendo en cuenta el ejemplo mencionado anteriormente. El perceptron se compone por:

  • Entradas: Es la información que recibe el perceptron. Un ejemplo de esto se da en el aprendizaje de colores. Cuando el niño observa un color, sus ojos capturan una imagen con características específicas que le permiten identificar un color especifico. Cada una de estas características se considera una entrada en el modelo.

  • Pesos: Son valores numéricos que se encargan de establecer la influencia de una entrada en la salida deseada.

    Por ejemplo, al determinar si una persona tiene la posibilidad de sufrir un infarto se evalúan
    valores de entrada como obesidad, falta de ejercicio, diabetes, entre otros. Estas características
    podrían indicar si la persona puede sufrir un ataque, sin embargo, características como la
    obesidad y la diabetes incrementan mucho más el riesgo que la falta de ejercicio, por lo que se
    consideran más significativas al momento de predecir el infarto.

  • Bias: Es un parámetro que tienen algunos modelos de redes neuronales el cual permite encontrar fácilmente la separación entre posibilidades de salida de una red neuronal. Agradezco a @ivancamilotrivinolopez por ayudarme a comprender este concepto

  • Función de activación: Es una función matemática que se encarga de determinar un valor de salida una vez se han procesado cada una de las entradas. En el aprendizaje de colores se aplica cuando se debe clasificar el color. Dependiendo de las características, el niño decide cual es el color que visualizó.

Pasos para entrenar el perceptron
Teniendo en cuenta el ejemplo de la compuerta AND del curso, realizaremos el entrenamiento del perceptron con diferentes pesos y bias a los que allí se indican. Esto con la finalidad de mostrar que sucede cuando el perceptron no se entrena en la primera iteración.

ANDGraphics.png

Paso 1: Inicializar los pesos y el bias
Cada entrada del perceptron debe tener un peso. Estos valores pueden ser aleatorios, sin embargo, es mejor empezar con valores pequeños.

P1.PNG

Paso 2 Calcular las salidas (net) con los pesos y el bias
En este paso se calcula cada salida que teniendo en cuenta los posibles valores pueden tomar las entradas del perceptron. Para este caso se realiza 4 veces debido a que la compuerta AND solo tiene ese número de posibilidades.

Es importante resaltar que la salida que se obtiene en este paso es la que se da después de la sumatoria. Por convención se nombrara en adelante como net así como se ve en la imagen.

P2-1.png

Para calcular las posibles salidas se utilizará la fórmula de la imagen teniendo en cuenta cada una de las entradas P2-2.PNG. Dichas entradas se multiplican con sus respectivos pesos y se suman. Por último, se adiciona el bias.

Para este ejemplo con dos entradas, el net es igual a:

P2-3.PNG

En donde el subíndice n hace referencia al caso con el que se está probando. Para este ejemplo, como se mencionó anteriormente, tenemos 4 posibilidades.

ANDCases.png

Posibilidad 1P2-4.PNG

P2-5.PNG

Paso 3: Obtener la salida utilizando la función de activación y calcular cada valor del error
En este ejercicio se utiliza la siguiente función de activación

FDA.png

Pasamos los valores net obtenidos en la función de activación

P3-1.PNG

Ahora calculamos el error con la siguiente ecuación:

P3-2.PNG

En donde:
P3-3.PNG

P3-4.PNG

Posibles valores del error
Al calcular el error se debe tener en cuenta que se puede presentar alguno de los siguientes casos:

Correction_Cases.png

Paso 4: Corregir el Bias y los pesos
Para realizar las correcciones se utilizan las siguientes ecuaciones

Corrections.png

En donde:
P4-1.PNG

Es importante tener en cuenta que siempre que el error sea diferente de 0 se deben corregir los pesos y el bias como se observa en los casos del paso 3.

Entrenamiento del perceptron

ANDGraphics.png

Tomamos los valores inicializados en la explicación del paso 1.

Ent1-1.PNG

Iteración 1

Ent1-2.PNG

Como el error es igual a 0, continuamos con las siguientes entradas.

Ent1-3.PNG

En este caso como el error es diferente de 0 se deben corregir los pesos como se menciona en el paso 4.

Corrección de pesos

Ent1-4.PNG

Corrección del bias

Ent1-5.PNG

Una vez se realizan las correcciones, continuamos con las entradas que siguen.

Ent1-6.PNG

Corregimos nuevamente los pesos y el bias.

Corrección de pesos

Ent1-7.PNG

Corrección del bias

Ent1-8.PNG

Modificamos los pesos y el bias y continuamos con la ultima posibilidad de entrada.

Ent1-9.PNG

Por último, se realiza otra iteración para comprobar que las salidas de las otras entradas no se han afectado con las ultimas correcciones realizadas.

Iteración 2

Ent1-10.PNG

Con todos los errores iguales a 0, el entrenamiento del perceptron finaliza.

Escribe tu comentario
+ 2
1
2053Puntos

La ultima imagen de la iteración 2 corregída.
Ent1-10.PNG