La neurona de McCulloch–Pitts
El origen de las neuronas artificiales
¿Sabías que las bases de la inteligencia artificial actual comenzaron con un modelo matemático muy sencillo en los años 40? Hoy te cuento sobre la neurona de McCulloch–Pitts, el primer modelo artificial de neurona, que sentó las bases para las redes neuronales modernas.
¿Qué es la neurona de McCulloch–Pitts?
En 1943, los científicos Warren McCulloch y Walter Pitts propusieron una forma matemática muy simple de representar cómo funciona una neurona biológica, pero usando lógica binaria.
Este modelo:
- Recibe varias entradas binarias (0 o 1).
- Suma esas entradas.
- Si la suma supera un cierto umbral, la neurona se activa y da salida 1.
- Si no, la salida es 0.
¿Cómo funciona?
Imagina que tienes 3 entradas: cada una puede ser 0 (apagada) o 1 (encendida). La neurona suma esas entradas y las compara con un umbral, por ejemplo 2.
- Si la suma es igual o mayor que 2, la neurona responde con un 1 (activa).
- Si es menor, responde 0 (inactiva).
Es un poco como decir: “Sí al menos 2 de estas condiciones se cumplen, entonces sí”.
¿Por qué es importante?
- Fue el primer modelo matemático que intentó replicar la función básica de una neurona real.
- Demostró que con estas neuronas simples, combinadas en red, se podían realizar operaciones lógicas complejas (como AND, OR, NOT).
Sentó las bases para el desarrollo del perceptrón y las redes neuronales que hoy impulsan la inteligencia artificial.
¿Sabías que las bases de la inteligencia artificial actual comenzaron con un modelo matemático muy sencillo en los años 40? Hoy te cuento sobre la neurona de McCulloch–Pitts, el primer modelo artificial de neurona, que sentó las bases para las redes neuronales modernas.
¿Qué es la neurona de McCulloch–Pitts?
En 1943, los científicos Warren McCulloch y Walter Pitts propusieron una forma matemática muy simple de representar cómo funciona una neurona biológica, pero usando lógica binaria.
Este modelo:
- Recibe varias entradas binarias (0 o 1).
- Suma esas entradas.
- Si la suma supera un cierto umbral, la neurona se activa y da salida 1.
- Si no, la salida es 0.
¿Cómo funciona?
Imagina que tienes 3 entradas: cada una puede ser 0 (apagada) o 1 (encendida). La neurona suma esas entradas y las compara con un umbral, por ejemplo 2.
- Si la suma es igual o mayor que 2, la neurona responde con un 1 (activa).
- Si es menor, responde 0 (inactiva).
Es un poco como decir: “Sí al menos 2 de estas condiciones se cumplen, entonces sí”.
¿Por qué es importante?
- Fue el primer modelo matemático que intentó replicar la función básica de una neurona real.
- Demostró que con estas neuronas simples, combinadas en red, se podían realizar operaciones lógicas complejas (como AND, OR, NOT).
Sentó las bases para el desarrollo de las redes neuronales que hoy impulsan la inteligencia artificial.
Neurona McCulloch–Pitts (código)
import numpy as np
class MPNeuron:
def _init_(self):
self.threshold = None
def model(self, x):
# input: [1, 0, 1, 0] [x1, x2, xn...]
z = sum(x)
return ( z >= self.threshold)
def predict(self, X):
# input : [[1, 0, 1, 0], [1, 0, 1, 1]]
Y = []
for x in X:
result = self.model(x)
Y.append(result)
return np.array(Y)# Creamos una instancia de la neurona
mp_neuron = MPNeuron()
# Establecemos un umbral
mp_neuron.threshold = 2
# Evaluamos diferentes casos de uso
mp_neuron.predict([[0, 1, 0, 0], [1, 1, 0, 1], [1, 1, 1, 1]])Ejemplo practico encuesta de clientes:
def mcCulloch_pitts(inputs, threshold):
return 1 if sum(inputs) >= threshold else 0# Datos de la encuesta
encuestas = [
[1, 1, 0], # Cliente 1
[0, 1, 0], # Cliente 2
[1, 1, 1], # Cliente 3
[0, 0, 1], # Cliente 4
]# Para considerar que el cliente está satisfecho, al menos 2 respuestas deben ser 'Sí' (1).
threshold = 2
for i, respuestas in enumerate(encuestas, start=1):
resultado = mcCulloch_pitts(respuestas, threshold)
print(f"Cliente {i}: {'Satisfecho' if resultado == 1 else 'No satisfecho'}")La neurona de McCulloch–Pitts es una pieza clave en la historia de la inteligencia artificial. Aunque simple, su concepto de activación basada en un umbral y entradas binarias sigue siendo la base de modelos neuronales más avanzados que usamos hoy en día.
Te dejo el codigo para descargar el notebook: