🔻Desarrollo de un perceptrón

Nos tiene que quedar muy claro esto porque es la base.

Pasos para entrenar un perceptrón simple

  1. Identificar las entradas: Primero, debes identificar las entradas del perceptrón, que son los valores que se utilizarán para hacer predicciones. Por ejemplo, si estás trabajando con un perceptrón para clasificar imágenes en gatos y perros, las entradas podrían ser los píxeles de la imagen.

  2. Asignar valores aleatorios a los pesos: Cada entrada está asociada a un peso, que determina la importancia relativa de esa entrada en el proceso de toma de decisiones del perceptrón. Inicialmente, se asignan valores aleatorios a los pesos. Por ejemplo, si tienes dos entradas, podrías asignar pesos aleatorios de -0.5 y 0.3.

  3. Resolver la sumatoria: Para cada entrada, multiplicas el valor de la entrada por su peso correspondiente y luego sumas todos los productos. Esto se conoce como la función sumatoria. Por ejemplo, si tienes dos entradas (x1 y x2) y sus pesos correspondientes (w1 y w2), la sumatoria sería: sumatoria = (x1 * w1) + (x2 * w2).

  4. Aplicar la función de activación: La función de activación toma la sumatoria calculada en el paso anterior y produce una salida. La función de activación más común en un perceptrón simple es la función escalón o función signo, que devuelve 1 si la sumatoria es mayor o igual a cero, y 0 en caso contrario. En términos matemáticos, sería: salida = 1 si sumatoria >= 0, y salida = 0 si sumatoria < 0.

  5. Calcular el error: Una vez obtenida la salida del perceptrón, se compara con la salida deseada o esperada. Si el perceptrón está correctamente entrenado, la salida debería ser igual a la salida deseada. Si hay una discrepancia, se calcula el error como la diferencia entre la salida deseada y la salida del perceptrón.

En el ejemplo, los valores aleatorios de -0.5 y 0.3 para los pesos fueron seleccionados de manera arbitraria para ilustrar el proceso de entrenamiento del perceptrón. Los valores de los pesos iniciales pueden variar dependiendo del problema específico que se esté abordando y no hay una regla fija para asignar valores aleatorios. Pueden tener el mismo peso por que los dos son importantes.

En la práctica, los valores iniciales de los pesos a menudo se eligen al azar dentro de un rango pequeño alrededor de cero. Esto se debe a que los valores iniciales aleatorios ayudan a evitar que el perceptrón quede atrapado en un estado no deseado desde el principio. Los valores positivos y negativos de los pesos permiten que el perceptrón aprenda a amplificar o disminuir la influencia de cada entrada en la salida final

Para recalcular los pesos y mejorar el entrenamiento del perceptrón, se siguen los siguientes pasos adicionales:

  1. Ajustar los pesos: El objetivo es reducir el error calculado en el paso anterior. Para lograrlo, se actualizan los pesos de cada entrada. La actualización se realiza mediante la fórmula: nuevo_peso = peso_actual + (tasa_aprendizaje * error * entrada), donde la tasa de aprendizaje es un parámetro que controla cuánto se ajustan los pesos en cada iteración.

  2. Repetir los pasos anteriores: Se repiten los pasos 3 a 6 utilizando las nuevas asignaciones de pesos. Esto implica calcular una nueva sumatoria, aplicar la función de activación, calcular el nuevo error y ajustar los pesos nuevamente. Estos pasos se repiten hasta que el error sea cero o esté por debajo de un umbral predefinido.

Ejemplo paso a paso para ilustrar el procedimiento de entrenamiento de un perceptrón

Supongamos que tenemos un perceptrón con dos entradas (x1 y x2) y una salida deseada (y_deseada). Los pesos iniciales son w1 = -0.5 y w2 = 0.3, y la tasa de aprendizaje es 0.1.

Identificar las entradas:
x1 = 0.6
x2 = 0.8

Asignar valores aleatorios a los pesos:
w1 = -0.5
w2 = 0.3

Resolver la sumatoria:
sumatoria = (x1 * w1) + (x2 * w2)
= (0.6 * -0.5) + (0.8 * 0.3)
= -0.3 + 0.24
= -0.06

Aplicar la función de activación:
salida = 1 si sumatoria >= 0, y salida = 0 si sumatoria < 0
= 1 (ya que sumatoria es mayor o igual a 0)


Calcular el error:
error = y_deseada - salida
= y_deseada - 1

Supongamos que la salida deseada (y_deseada) es 0. Calculamos el error:
error = 0 - 1
= -1

Ajustar los pesos:
nuevo_w1 = w1 + (tasa_aprendizaje * error * x1)
= -0.5 + (0.1 * -1 * 0.6)
= -0.5 - 0.06
= -0.56

nuevo_w2 = w2 + (tasa_aprendizaje * error * x2)
= 0.3 + (0.1 * -1 * 0.8)
= 0.3 - 0.08
= 0.22

Repetir los pasos anteriores:
Ahora, volvemos al paso 3 y calculamos la nueva sumatoria utilizando los nuevos pesos:

sumatoria = (x1 * nuevo_w1) + (x2 * nuevo_w2)
= (0.6 * -0.56) + (0.8 * 0.22)
= -0.336 + 0.176
= -0.16

Aplicamos la función de activación:
salida = 1 si sumatoria >= 0, y salida = 0 si sumatoria < 0
= 0 (ya que sumatoria es menor que 0)

Calculamos el nuevo error:
error = y_deseada - salida
= 0 - 0
= 0

Como el error ahora es 0, el perceptrón está entrenado y ya no necesitamos ajustar los pesos. Podemos detener el proceso aquí.

Este ejemplo ilustra cómo el perceptrón se entrena iterativamente ajustando los pesos hasta que el error sea cero, lo que indica que ha aprendido a clasificar correctamente los datos de entrada.

La elección de la tasa de aprendizaje depende del problema y puede variar en diferentes situaciones. Un valor de 0.1 es comúnmente utilizado y suele funcionar bien en muchos escenarios de entrenamiento de perceptrones.

Si la tasa de aprendizaje es demasiado baja, el perceptrón aprenderá lentamente y puede requerir más iteraciones para converger a una solución óptima. Si la tasa de aprendizaje es demasiado alta, el perceptrón puede oscilar o no converger en absoluto.

El valor de 0.1 elegido en el ejemplo es un valor típico que proporciona un buen equilibrio entre la velocidad de aprendizaje y la estabilidad del proceso de entrenamiento. Sin embargo, es importante tener en cuenta que la elección de la tasa de aprendizaje también puede requerir ajustes y experimentación en función del problema específico y del conjunto de datos utilizado.

En el ejemplo, se utilizan los valores de x1 = 0.6 y x2 = 0.8 como entradas para ilustrar el proceso de entrenamiento del perceptrón. Estos valores son ficticios y se utilizan con el propósito de mostrar cómo el perceptrón ajusta sus pesos para aproximarse a la salida deseada.

Es importante destacar que los valores de las entradas pueden variar dependiendo del problema específico y del conjunto de datos con el que se esté trabajando. En un caso real, las entradas podrían representar características o variables relevantes para el problema en cuestión.

En el ejemplo, los valores de x1 = 0.6 y x2 = 0.8 simplemente se eligen para demostrar cómo el perceptrón realiza los cálculos y ajustes de pesos a medida que progresa el proceso de entrenamiento. Estos valores podrían representar cualquier tipo de entrada, como por ejemplo, la intensidad de ciertas características en un conjunto de datos de imágenes o valores de atributos en un conjunto de datos de clasificación.

La función de activación utilizada en este caso es una función escalón, que asigna el valor de 1 si la sumatoria es mayor o igual a 0, y asigna el valor de 0 si la sumatoria es menor a 0.

En el proceso de entrenamiento de un perceptrón, es necesario calcular el error cometido por el perceptrón en comparación con la salida deseada. Esto nos permite ajustar los pesos de manera que el perceptrón se acerque cada vez más a la salida deseada.

En el ejemplo que mencionas, la salida deseada es igual a 1 y la salida calculada por el perceptrón es igual a 1. Por lo tanto, el cálculo del error sería:

error = y_deseada - salida = 1 - 1 = 0

El error calculado en este caso es igual a 0, lo que indica que el perceptrón ha clasificado correctamente el ejemplo de entrada. En situaciones donde el error no es igual a 0, se utilizan técnicas de retropropagación del error para ajustar los pesos y minimizar gradualmente el error durante el proceso de entrenamiento.

Last updated