PERCEPTRÓN SIMPLE
¿QUÉ CONOCEMOS SOBRE PERCEPTRÓN SIMPLE?
Fue en 1957 que Frank Rosenblatt inventó el perceptrón en el laboratorio aeronáutico de Cornell, Nueva York. Basándose en los primeros conceptos de neuronas artificiales, propuso la “regla de aprendizaje del perceptrón”. Un perceptrón es una neurona artificial, y, por tanto, una unidad de red neuronal.
El propósito de la investigación fue el de diseñar un cerebro electrónico con la capacidad de analizar y desarrollar patrones con diferentes ftextunciones como la percepción, la capacidad de entender conceptos, la orientación por ejemplo. Este enfoque relacionado con Machine Learning, con un sistema binario, es decir es falso o verdadero, pero no ambas salidas; posteriormente en 1986 se presenta el modelo de retropropagación con capacidad de realizar ajustes y optimizar la predicción. (1)
Les muestro el siguiente enlace de la publicación y una completa descripción del artículo en:
https://telefonicatech.com/blog/historia-de-la-ia-frank-rosenblatt-y-e
CONCEPTO
El perceptrón es un concepto fundamental en el campo de la inteligencia artificial y el aprendizaje automático. Se trata de un modelo matemático inspirado en el funcionamiento de las neuronas en el cerebro humano. El perceptrón simple es la forma más básica de este modelo, y se utiliza comúnmente para problemas de clasificación binaria.
A continuación, se detallan algunos conceptos teóricos relevantes:
Neurona Artificial (Perceptrón):
- Un perceptrón es una unidad básica de procesamiento en una red neuronal artificial.
- Está compuesto por entradas, pesos, una función de suma ponderada y una función de activación.
Entradas y Pesos:
- Las entradas representan las características de un conjunto de datos.
- Cada entrada está asociada con un peso que indica su importancia relativa para el modelo.
- Cada entrada está asociada con un peso que indica su importancia relativa para el modelo.
- El perceptrón realiza una suma ponderada de las entradas multiplicadas por sus pesos.
- La función de suma ponderada calcula la suma de las entradas multiplicadas por sus pesos, incluyendo un sesgo (bias) que permite ajustar el resultado.
- Matemáticamente, la salida se calcula como , donde son los pesos, son las entradas, es el número de entradas y es el sesgo. (Chat GPT)
- La función de activación decide si el perceptrón debe activarse o no, basándose en la salida de la función de suma ponderada.
- En el perceptrón simple, una función de escalón es común para la activación. Si la suma ponderada es mayor o igual a cero, la salida es 1; de lo contrario, es 0.
- Durante el entrenamiento, los pesos y el sesgo se ajustan para minimizar la diferencia entre las predicciones del perceptrón y las etiquetas reales del conjunto de entrenamiento.
- Se utiliza un algoritmo de aprendizaje, como el Perceptrón Learning Algorithm (PLA), para realizar estos ajustes iterativos.
- En la imagen se observan las capas, pesos respectivamente:
- Fuente: Google imágenes
COMPETENCIAS PARA INTERPRETAR
Para comprender y analizar el ingreso de los datos, la relación con los pesos, cálculo del sesgo y las predicciones, copiamos un script generado en Chat GPT:
import numpy as np class Perceptron: def __init__(self, input_size): # Inicializar pesos y sesgo de manera aleatoria self.weights = np.random.rand(input_size) self.bias = np.random.rand() def predict(self, inputs): # Calcular la suma ponderada de las entradas y aplicar la función de escalón weighted_sum = np.dot(inputs, self.weights) + self.bias return 1 if weighted_sum >= 0 else 0 def train(self, training_inputs, labels, learning_rate, epochs): for epoch in range(epochs): for inputs, label in zip(training_inputs, labels): # Calcular la salida predicha por el perceptrón prediction = self.predict(inputs) # Actualizar pesos y sesgo usando el algoritmo de aprendizaje del perceptrón self.weights += learning_rate * (label - prediction) * inputs self.bias += learning_rate * (label - prediction) # Generar datos de ejemplo np.random.seed(42) # Para reproducibilidad num_samples = 100 input_size = 2 learning_rate = 0.1 epochs = 100 # Creamos datos de entrada y etiquetas training_inputs = np.random.rand(num_samples, input_size) labels = np.random.randint(2, size=num_samples) # Instanciar el perceptrón y entrenarlo perceptron = Perceptron(input_size) perceptron.train(training_inputs, labels, learning_rate, epochs) # Realizar predicciones en nuevos datos new_data = np.array([[0.5, 0.3], [0.8, 0.2]]) predictions = [perceptron.predict(data) for data in new_data] # Imprimir resultados print("Pesos finales:", perceptron.weights) print("Sesgo final:", perceptron.bias) print("Predicciones para nuevos datos:", predictions)El enlace de la página de Chat GPT, es el siguiente:https://chat.openai.com/share/f2d02be5-ec28-4533-8d23-cd303b7fc1ac
En términos más generales, en una red neuronal, la capa de salida se refiere a la capa que produce las predicciones finales del modelo. En el caso del perceptrón simple, la función de
predict(inputs)calcula la salida del perceptrón, que es una predicción binaria (0 o 1) basada en la función de escalón:# Imprimir resultados print("Pesos finales:", perceptron.weights) print("Sesgo final:", perceptron.bias) print("Predicciones (capa de salida) para nuevos datos:", predictions)COMPETENCIAS DE SABER SER
- Contar con la capacidad de actuar con lógica y pensamiento analítico.
- Tener la capacidad de familiaridad con conceptos básicos de álgebr lineal.
- Contar con la capacidad de entender los mensajes de error y corregirlos.
- Tener una actitud proactiva de comunicación y colaboración.
- Contar con una actitud investigativa constante, en relación al tema.
- Bibliografía:
1.Ramírez, F. (19 de Julio de 2018). Telefónica Tech. Obtenido de Historia de la IA: Frank Rosenblatt y el Mark I Perceptrón, el primer ordenador fabricado específicamente para crear redes neuronales en 1957: https://telefonicatech.com/blog/historia-de-la-ia-frank-rosenblatt-y-e
2. Chat GPT,
https://chat.openai.com/share/f2d02be5-ec28-4533-8d23-cd303b7fc1ac

Comentarios
Publicar un comentario