Neurona artificial
Una neurona artificial, también conocida como perceptrón o unidad, es el componente básico de una red neuronal artificial y está inspirada en las neuronas biológicas. Su estructura y funcionamiento, sin embargo, son simplificados para permitir operaciones matemáticas y computacionales. Aquí se describe su estructura y los elementos fundamentales que la componen.
Estructura de una Neurona Artificial
La estructura básica de una neurona artificial se puede dividir en tres componentes principales:
- Entradas (Inputs):
- La neurona recibe múltiples señales de entrada (denotadas como ( x_1, x_2, x_3, \ldots, x_n )) que representan la información inicial, similar a las dendritas de una neurona biológica.
- Cada entrada tiene un peso asociado (( w_1, w_2, w_3, \ldots, w_n )) que determina la importancia de esa entrada en el proceso de activación. Los pesos son valores ajustables que se entrenan para mejorar el rendimiento del modelo.
- Suma Ponderada:
- La neurona realiza una operación de suma ponderada de todas las entradas y sus respectivos pesos. Esta suma ponderada se representa como: [ z = w_1 \cdot x_1 + w_2 \cdot x_2 + w_3 \cdot x_3 + \ldots + w_n \cdot x_n + b ]
- ( b ) es el término de sesgo o bias, que permite desplazar la función de activación y proporciona flexibilidad al modelo para ajustar la salida cuando todas las entradas son cero.
- Función de Activación:
- La suma ponderada ( z ) pasa a través de una función de activación no lineal, que introduce no linealidades y permite a la red neuronal aprender representaciones complejas. La salida de la función de activación se considera la salida de la neurona.
- Las funciones de activación más comunes son:
- Sigmoide: Convierte el resultado a un rango entre 0 y 1. [ \sigma(z) = \frac{1}{1 + e^{-z}} ]
- ReLU (Rectified Linear Unit): Retorna 0 para valores negativos y el valor original para valores positivos. [ \text{ReLU}(z) = \max(0, z) ]
- Tanh (Tangente Hiperbólica): Convierte el valor a un rango entre -1 y 1. [ \text{Tanh}(z) = \frac{e^{z} – e^{-z}}{e^{z} + e^{-z}} ]
Funcionamiento General de la Neurona Artificial
La neurona calcula la suma ponderada de las entradas y pasa el resultado a través de la función de activación para producir una salida:
- Recibe las entradas y multiplica cada una por su respectivo peso.
- Suma las entradas ponderadas y añade el sesgo.
- Transforma el resultado utilizando una función de activación.
- Emite una salida, que será utilizada por las siguientes neuronas en la red o servirá como predicción final en el caso de una red de una sola capa.
Ejemplo Práctico de una Neurona en Python
Aquí tienes un ejemplo simple de una neurona artificial en Python, con tres entradas y una función de activación sigmoide.
import numpy as np
# Definir las entradas, los pesos y el bias
entradas = np.array([0.5, 0.3, 0.2])
pesos = np.array([0.4, 0.7, -0.2])
bias = 0.1
# Calcular la suma ponderada
suma_ponderada = np.dot(entradas, pesos) + bias
# Función de activación sigmoide
def sigmoid(x):
return 1 / (1 + np.exp(-x))
# Salida de la neurona
salida = sigmoid(suma_ponderada)
print("Salida de la neurona:", salida)
Conexión en Redes Neuronales
Las neuronas artificiales suelen estar dispuestas en capas en una red neuronal:
- Las neuronas de entrada reciben los datos iniciales.
- Las neuronas ocultas permiten transformar y abstraer información.
- Las neuronas de salida proporcionan la predicción o clasificación final.
Cada neurona está conectada a otras de la siguiente capa y su activación depende de las activaciones previas y los pesos entrenados, creando una red en la que los datos se procesan y transforman de manera no lineal para realizar predicciones precisas o clasificaciones.