1
Redes Neuronales en R
REDES NEURONALES
Las redes neuronales son modelos creados al ordenar operaciones matemáticas siguiendo una determinada
estructura. La forma más común de representar la estructura de una red neuronal es mediante el uso de
capas (layers), formadas a su vez por neuronas (unidades, units o neurons). Cada neurona, realiza una
operación sencilla y está conectada a las neuronas de la capa anterior y de la capa siguiente mediante
pesos, cuya función es regular la información que se propaga de una neurona a otra.
La primera capa de la red neuronal (color verde) se conoce como capa de entrada o input layer y recibe los
datos en bruto, es decir, el valor de los predictores. La capa intermedia (color azul), conocida como capa
oculta o hidden layer, recibe los valores de la capa de entrada, ponderados por los pesos (flechas grises).
La última capa, llamada output layer, combina los valores que salen de la capa intermedia para generar la
predicción.
Para facilitar la comprensión de la estructura de las redes, es útil representar una red equivalente a un
modelo de regresión lineal.
REDES NEURONALES | Introducción
2
Cada neurona de la capa de entrada representa el valor de uno de los predictores. Las flechas representan
los coeficientes de regresión, que en términos de redes se llaman pesos, y la neurona de salida representa
el valor predicho. Para que esta representación equivalga a la ecuación de un modelo lineal, faltan dos
cosas:
• El bias del modelo
El sesgo (o bias) es la diferencia entre el valor medio predicho por el modelo y el valor medio real. Si
la diferencia entre estas dos magnitudes es elevada, estamos ante un modelo demasiado simple que
no ha aprendido las relaciones relevantes entre las variables disponibles y la variable a predecir.
• Las operaciones de multiplicación y suma que combinan el valor de los predictores con los pesos del
modelo.
Cada neurona de la capa intermedia tiene un valor de bias, pero suele omitirse en las representaciones
gráficas. En cuanto a las operaciones matemáticas, es el elemento clave que ocurre dentro de las neuronas.
LA NEURONA (UNIDAD)
La neurona es la unidad funcional de los modelos de redes. Dentro de cada neurona ocurren
simplemente dos operaciones: la suma ponderada de sus entradas y la aplicación de una función de
activación.
En la primera parte, se multiplica cada valor de entrada xi por su peso asociado wi y se suman junto
con el bias. Este es el valor neto de entrada a la neurona. A continuación, este valor se pasa por una
función, conocida como función de activación, que transforma el valor neto de entrada en un valor de
salida.
Función de activación
Las funciones de activación controlan en gran medida qué información se propaga desde una capa
a la siguiente (forward propagation). Estas funciones convierten el valor neto de entrada a la neuronal
(combinación de los inputs, pesos y bias) en un nuevo valor. Gracias a combinar funciones de
activación no lineales con múltiples capas, los modelos de redes son capaces de aprender relaciones
no lineales (Un cambio no lineal es aquel que no se basa en una simple relación proporcional entre
causa y efecto).
REDES NEURONALES | Introducción
3
ENTRENAMIENTO
El proceso de entrenamiento de una red neuronal consiste en ajustar el valor de los pesos y bias de tal
forma que, las predicciones que se generen tengan el menor error posible. Gracias a esto, el modelo es
capaz de identificar qué predictores tienen mayor influencia y de qué forma están relacionados entre ellos
y con la variable respuesta.
La idea intuitiva de cómo entrenar una red neuronal es la siguiente:
1. Iniciar la red con valores aleatorios de los pesos y bias.
2. Para cada observación de entrenamiento, calcular el error que comete la red al hacer su predicción.
Promediar los errores de todas las observaciones.
3. Identificar la responsabilidad que ha tenido cada peso y bias en el error de las predicciones.
4. Modificar ligeramente los pesos y bias de la red (de forma proporcional a su responsabilidad en el
error) en la dirección correcta para que se reduzca el error.
5. Repetir los pasos 2, 3, 4 y 5 hasta que la red sea suficientemente buena.
Si bien la idea parece sencilla, alcanzar una forma de implementarla ha requerido la combinación de
múltiples métodos matemáticos, en concreto, el algoritmo de retropropagación (backpropagation) y la
optimización por descenso de gradiente (gradient descent).
BACKPROPAGATION
Backpropagation es el algoritmo que permite cuantificar la influencia que tiene cada peso y bias en
las predicciones de la red. Para conseguirlo, hace uso de la regla de la cadena (chain rule) para
calcular el gradiente, que no es más que el vector formado por las derivadas parciales de una función.
En el caso de las redes, la derivada parcial del error respecto a un parámetro (peso o bias) mide
cuánta “responsabilidad” ha tenido ese parámetro en el error cometido. Gracias a esto, se puede
identificar qué pesos de la red hay que modificar para mejorarla. El siguiente paso necesario, es
determinar cuánto y cómo modificarlos (optimización).
DESCENSO DE GRADIENTE
Descenso de gradiente (gradient descent) es un algoritmo de optimización que permite minimizar una
función haciendo actualizaciones de sus parámetros en la dirección del valor negativo de su
gradiente. Aplicado a las redes neuronales, el descenso de gradiente permite ir actualizando los
pesos y bias del modelo para reducir su error.
REDES NEURONALES | Introducción
4
ACTIVIDAD 01: INVESTIGACION
- Investigue el siguiente tema, luego deberá exponerlo en grupo:
Grupo 1: ¿Por qué son importantes las redes neuronales?
Grupo 2: ¿Para qué se utilizan las redes neuronales?
Grupo 3: ¿Cuáles son los tipos de redes neuronales?
Grupo 4: ¿Cuál es la diferencia entre machine learning y aprendizaje profundo?
Grupo 5: ¿Qué es Perceptrón y para qué sirve?
- Tiempo de desarrollo: 45 minutos
- Presentacion: PPT
- Tiempo de presentacion: 10 minutos
- Tipo trabajo: Grupal
REDES NEURONALES | Introducción