Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NEURONALES
1. ¿Qué es una neurona artificial?
W i = Wi + error * xi
Podemos comprobar que es imposible con una única recta separar los ceros
de los unos, por tanto es necesaria una red neuronal multicapa.
10. ¿Cuáles son las características de
red neuronal multicapa?
Una red neuronal multicapa debe tener una función de activación no
lineal, puesto que se puede comprobar fácilmente que si utilizásemos una
red multicapa con función lineal de activación sería equivalente a utilizar
una red monocapa, por lo que no obtendríamos ninguna ventaja.
Las redes neuronales multicapa permiten aproximar cualquier función que
se desee, añadiendo según sea necesario un número determinado de
neuronas y capas, y sin necesidad de que la función a aproximar sea
linealmente separable.
11. ¿Cómo aprende una red multicapa
(o que es el Backpropagation)?
Las redes multicapa se entrenan mediante un algoritmo conocido como backpropagation. Su
idea básica es muy parecida a la de los algoritmos de entrenamiento para redes monocapa.
Consiste en calcular el error en la salida, ajustar los pesos de la capa de salida para reducir el
error y propagar ese error hacia las capas ocultas y de entrada, respectivamente. El algoritmo
buscará, por tanto, el mínimo de la función de error y ajustará los pesos con respecto a ese error.
Como debemos de hallar el mínimo de una función, es preciso que la función de activación que
utilicemos sea diferenciable.
El algoritmo puede tener ciertos problemas: puede ser que no encuentre el mínimo absoluto de
la función, que tan solo encuentre un mínimo local, que se encuentre con una zona de
pendiente nula y que se quede ahí estancado, o que se encuentre con una zona de pendiente
muy pequeña y que se ralentice mucho el aprendizaje.
Para solucionar los problemas anteriores se plantea, primeramente, hacer correr muchas veces
el algoritmo con pesos aleatorios y quedarnos con el mejor de todos los resultados, con idea de
solucionar con bastante seguridad el problema de los mínimos locales, y por otro lado,
incorporar a la fórmula de cálculo de pesos una nueva variable momentum que “empuje” a la
función y evite que se estanque en zonas con poco gradiente o en puntos de inflexión. Por
tanto, la fórmula de cálculo de pesos sería:
W(t) = W(t-1) + ∆W(t) + momentum * ∆W(t-1)
12. ¿Qué factores influyen en el
rendimiento de una red multicapa?
El número de muestras de aprendizaje tomadas es esencial. El número de
muestras debe ser muy alto para minimizar el error y asegurar que nuestra
red responderá correctamente a cualquier tipo de entrada.
- El número de unidades ocultas tiene un efecto positivo, pero tan sólo
hasta cierto punto, puesto que, aunque siempre se minimizará más el error
en el conjunto de entrenamiento, puede ser que un número muy alto de
unidades ocultas ocasione un aumento del error en el conjunto de test.
Para hallar el número exacto de unidades ocultas podemos recurrir a
métodos empíricos que nos generen gráficas como éstas:
El número de iteraciones del algoritmo de aprendizaje es decisivo, puesto
que si realizamos demasiadas iteraciones, puede ocurrir un efecto
conocido como sobreentrenamiento, es decir, que la red se adecue tan
perfectamente al conjunto de entrenamiento que con cualquier valor de
entrada que no esté en ese conjunto produzca un error muy alto. Para
obtener el número de iteraciones necesarias para que nuestra red
funcione lo mejor posible podemos recurrir a métodos empíricos como el
anterior.
13. ¿Cómo sabemos si nuestra red
neuronal es “buena”?
Primero debemos asegurarnos de que nuestro conjunto de entrenamiento sea
amplio y recoja una gran amplitud de casos que vayamos a encontrar en la
práctica. También hay que tener un enorme cuidado con el
sobreentrenamiento, es decir, no debemos entrenar a nuestra red demasiado,
ya que puede ocasionar que en los conjuntos de test o en la práctica se
ocasionen errores muy grandes. Una buena idea para saber cuando parar de
entrenar a la red es el método hold out, que consiste en dividir el conjunto de
datos de entrenamiento en tres conjuntos: el de entrenamiento, el de
validación y el de test, utilizar solo y exclusivamente el conjunto de
entrenamiento para entrenar a la red e ir minimizando el error mediante el
conjunto de validación.
Finalmente, para saber si nuestra red soluciona realmente un problema
determinado, es preciso, una vez entrenada, probarla en muchas situaciones y
crear una estadística de los errores obtenidos, pudiendo crear con gran
fiabilidad un porcentaje medio de error. Si el porcentaje de error medio
obtenido no es el esperado, deberemos volver a entrenar la red.