Ir al contenido principal

Funcionamiento de un perceptron

 


¿Cómo se entrena un perceptrón?

El entrenamiento del perceptrón no es más que determinar los pesos y el umbral que mejor hagan que la entrada se ajuste a la salida. 

Para la determinación de estas variables, se sigue un proceso adaptativo. El proceso  comienza con valores aleatorios y se van modificando estos valores según la diferencia entre los valores deseados y los calculados por la red.

En resumen, el perceptrón aprende de manera iterativa


☝☝☝ ¿Qué es un perceptrón? Lee aquí

Ejemplo

Para entender cómo funciona un perceptrón, a continuación realizaremos una ejemplificación, en la que le enseñaremos al perceptrón a responder a las entradas de una compuerta AND, en donde dados 2 valores de entrada x1, x2, nos dé un valor de salida esperado (y).


Caso 1: Entrada A (0), Entrada B (0) Salida 0

1.    Se toman 2 entradas x1, x2, el tercer parámetro bias, siempre tomara el valor 1.

2.    Se generan los pesos aleatorios w1, w2 en el rango [-1,1], 

w1=0.3, w2=0.7, y wb=-0.5 (peso para el valor del bias)

3.    Se realiza la suma ponderada de las entradas por los pesos: 

suma = ((0X0.3)+(0X0.7)) + (1X-0.5)

suma = -0.5

4.    Función de activación: 

1 si suma >= 0 

0 si suma <= 0

en este caso se obtiene una suma de 0.5, de acuerdo a la función de activación, la salida es 0

5.  Salida: Obtuvimos una salida 0 y nuestra salida esperada es 0. Esta condición se cumple, entonces pasamos con los valores de las siguientes entradas.

☝ ☝☝ ¿Qué es bias? Lee aquí

Caso 2: Entrada A (0), Entrada B (1)  Salida 0

1.    Se toman 2 entradas x1, x2, el tercer parámetro bias, siempre tomara el valor 1.

2.    Se generan los pesos aleatorios w1, w2 en el rango [-1,1], 

w1=0.5, w2=0.1, y wb= 0.9 (peso para el valor del bias)

3.    Se realiza la suma ponderada de las entradas por los pesos: 

suma = ((0X0.5)+(1X0.1)) + (1X0.9)

suma = 1

4.    Función de activación: 

si suma > 0 

si suma < 0

en este caso se obtiene una suma de 1, de acuerdo a la función de activación, la salida es 1

5.  Salida: Obtuvimos una salida 1 y nuestra salida esperada es 0. Esta condición no se cumple, entonces regresamos al paso 2 y repetimos el proceso.

Regresamos al paso 2...

2.    Se generan los pesos aleatorios w1, w2 en el rango [-1,1], 

w1=0.1, w2=-0.9, y wb= 0.5 (peso para el valor del bias)

3.    Se realiza la suma ponderada de las entradas por los pesos: 

suma = ((0X0.1)+(1X-0.9)) + (1X0.5)

suma = -0.4

4.    Función de activación: 

si suma >= 0 

si suma <= 0

en este caso se obtiene una suma de -0.4, de acuerdo a la función de activación, la salida es 0

5.  Salida: Obtuvimos una salida 0 y nuestra salida esperada es 0. Esta condición se cumple, entonces pasamos con los valores de las siguientes entradas. 


Caso 3: Entrada A (1), Entrada B (0)  Salida 0

1.    Se toman 2 entradas x1, x2, el tercer parámetro bias, siempre tomara el valor 1.

2.    Se generan los pesos aleatorios w1, w2 en el rango [-1,1], 

w1=0.3, w2=0.7, y wb=-0.5 (peso para el valor del bias)

3.    Se realiza la suma ponderada de las entradas por los pesos: 

suma = ((0X0.3)+(0X0.7)) + (1X-0.5)

suma = -0.5

4.    Función de activación: 

si suma >= 0 

si suma <= 0

en este caso se obtiene una suma de 0.5, de acuerdo a la función de activación, la salida es 0

5.  Salida: Obtuvimos una salida 0 y nuestra salida esperada es 0. Esta condición se cumple, entonces pasamos con los valores de las siguientes entradas.


Caso 4: Entrada A (1), Entrada B (1)  Salida 1

1.    Se toman 2 entradas x1, x2, el tercer parámetro bias, siempre tomara el valor 1.

2.    Se generan los pesos aleatorios w1, w2 en el rango [-1,1], 

w1=0.5, w2=0.1, y wb= 0.9 (peso para el valor del bias)

3.    Se realiza la suma ponderada de las entradas por los pesos: 

suma = ((0X0.5)+(1X0.1)) + (1X0.9)

suma = 1

4.    Función de activación: 

si suma >= 0 

si suma <= 0

en este caso se obtiene una suma de 1, de acuerdo a la función de activación, la salida es 1

5.  Salida: Obtuvimos una salida 1 y nuestra salida esperada es 1. Esta condición se cumple.


Como se puede ver, el perceptrón ha aprendido la función lógica AND correctamente. Para cualquier combinación de entradas, el perceptrón produce la salida correcta.


En este ejemplo, hemos usado un conjunto de datos de entrenamiento muy simple. En la práctica, los conjuntos de datos de entrenamiento suelen ser mucho más grandes y complejos. Además, los perceptrones suelen combinarse en redes neuronales para aprender funciones más complejas.


Comentarios

Entradas populares de este blog

¿Qué es bias? ¿Qué es umbral? ¿Son lo mismo?

¿Qué es bias? ¿Qué es umbral? ¿Son lo mismo? No, el término "bias" (sesgo) y "umbral" no son lo mismo en un perceptrón, aunque a menudo se utilizan indistintamente en algunos contextos informales. En el contexto de las redes neuronales y los perceptrones, tienen significados ligeramente diferentes: Bias (Sesgo): El sesgo es un término que se utiliza en el contexto de las redes neuronales para referirse a un parámetro adicional que se suma ponderadamente a la suma ponderada de las entradas antes de pasarla a través de una función de activación. El sesgo permite ajustar la salida del perceptrón, permitiendo que la red sea más flexible y capaz de aprender funciones más complejas. En otras palabras, el sesgo permite que la función de activación se desplace hacia arriba o hacia abajo en el eje y. Umbral: El umbral es el valor que se compara con la suma ponderada de las entradas en un perceptrón. Si la suma ponderada de las entradas supera el umbral, el perceptrón produc...

¿Qué es un perceptrón? La neurona artificial

¿Qué es un perceptrón? Un perceptrón es una neurona artificial, es decir, un modelo matemático que intenta imitar el comportamiento de una neurona biológica. Un perceptrón tiene una serie de entradas, que se ponderan y luego se suman. El resultado de esta suma se pasa a una función de activación, que determina la salida del perceptrón. Esta función determina si el perceptrón debe "disparar" o no. En su forma más simple, si la suma ponderada es mayor que un cierto umbral, el perceptrón produce una salida activada (generalmente 1), de lo contrario, produce una salida desactivada (generalmente 0). Red neuronal Una red neuronal es un conjunto de perceptrones interconectados. Los perceptrones de una red neuronal pueden estar organizados en capas, de modo que las salidas de una capa se convierten en las entradas de la siguiente. Una red neuronal multicapa tiene dos o más capas de perceptrones. Las capas de entrada y salida son similares a las de un perceptrón simple. Las capas ocul...

¿Qué es la IA? Diferencias entre machine learning y deep learning

Inteligencia Artificial, Machine Learning y Deep Learning Aunque la relación entre Inteligencia Artificial (IA), Machine Learning (ML) y Deep Learning (DL) pueda resultar confusa, en realidad basta con tener clara cuál es la correlación que guardan entre sí. Artificial Intelligence (Inteligencia Artificial) Campo que estudia como crear programas informáticos con la habilidad de aprender y razonar como los humanos para resolver problemas de forma creativa. Machine Learning (Aprendizaje Automático) Aplicación de la IA dedicada a la creación de algoritmos que permitan a los sistemas aprender sin intervención humana, es decir, sin necesidad de programarlos explicítamente DeepLearning (Aprendizaje Profundo) Subconjunto de ML enfocado en la creación de redes neuronales artificiales, es decir, sistemas que imitan al cerebro humano, adaptandose y aprendiendo a partir de grandes cantidades de datos