Download Redes Neuronales
Document related concepts
Transcript
Detección Multiusuario para DS-CDMA basado en SVM Redes Neuronales 9 Redes Neuronales Otra técnica basada en el aprendizaje y más conocida que la anterior es la basada en Redes Neuronales. Vamos a realizar una pequeña comparativa teórica de sobre ambas técnicas de clasificación. Estudiaremos los conceptos básicos de las Redes Neuronales para poder comprender mejor sus diferencias. Una red neuronal [17] puede verse como una máquina designada para modelar la forma en que el cerebro humano realiza una determinada tarea. Para lograr este objetivo, una red neuronal está formada por un conjunto de unidades de procesamiento interconectadas llamadas neuronas. Cada neurona recibe como entrada un conjunto de señales discretas o continuas, las pondera e integra, y transmite el resultado a las neuronas conectadas a ella. Cada conexión entre dos neuronas tiene una determinada importancia asociada denominada peso sináptico o, simplemente, peso. En los pesos se guarda la mayor parte del conocimiento que la red neuronal tiene sobre el problema en cuestión. El proceso mediante el cual se ajustan estos pesos para lograr un determinado objetivo se denomina aprendizaje o entrenamiento y el procedimiento concreto utilizado para ello se conoce como algoritmo de aprendizaje o algoritmo de entrenamiento. El ajuste de pesos es la principal forma de aprendizaje de las redes neuronales, aunque hay otras formas posibles como la modificación de la topología de la propia red neuronal. El aprendizaje de una Red Neuronal consiste en la auto-reorganización de los pesos de las conexiones que la forman, es decir, una red ha aprendido ha resolver un problema cuando encuentra una combinación de pesos que convierte los datos de entrada en los datos de salida deseados Este aprendizaje puede llevarse a cabo de dos maneras, por lo que existen dos tipos básicos de aprendizaje: • Supervisado. El aprendizaje supervisado se caracteriza por el hecho de que enseña a la red a obtener una salida predeterminada, es decir, se da una entrada y una salida objetivo (salida deseada) y se intenta que la salida de la red se parezca a la salida objetivo. • No supervisado. El aprendizaje no supervisado se basa en la propia organización de la red para organizar datos, es decir, se introducen datos de entrada, pero no una salida objetivo, por lo que la red organiza los datos atendiendo a sus características comunes(agrupa los datos en conjuntos, esto se conoce también como "clustering"). Página 105 de 162 Detección Multiusuario para DS-CDMA basado en SVM Redes Neuronales Muchas redes neuronales se diseñan para encontrar un hiperplano que separe las muestras de las distintas clases. Normalmente se comienza con un hiperplano aleatorio que se va desplazando hasta que todos los datos del entrenamiento quedan en la parte correcta. Esto deja, inevitablemente, algunos puntos del entrenamiento muy cerca del hiperplano lo cual no es un resultado óptimo a la hora de generalizar. 9.1 Conceptos básicos. Inicialmente se aplica un sistema de clasificación basado en Redes Neuronales. Una red neuronal que se entrenará y validará con dichos datos de una forma automática. Una red neuronal [14] es un procesamiento distribuido masivamente paralelo que tiene una tendencia natural para almacenar conocimiento empírico y hacerlo disponible para el uso. Recuerda al cerebro en dos aspectos: 1. El conocimiento se adquiere por la red a través de un proceso de aprendizaje. 2. Las conexiones interneurónicas se conocen como pesos sinápticos y se usan para almacenar el conocimiento. A continuación se define una serie de conceptos que facilitarán la comprensión de este análisis automatizado de la imagen. • • • Patrón: Descripción estructural o cuantitativa del objeto o región bajo estudio. El patrón está formado por uno o más descriptores. Representación del patrón: Vector de medidas. xi es el i-ésimo descriptor x1 x 2 · N es el número de descriptores x= · · x N Clases de patrones: 2 patrones pertenecen a una misma clase si comparten ciertas propiedades comunes. En nuestro caso particular existen 3 clases o grados de quemadura. Página 106 de 162 Detección Multiusuario para DS-CDMA basado en SVM Redes Neuronales Figura 9.1: Arquitectura básica de una Red Neuronal (a) y una Neurona (b). Las redes neuronales artificiales están compuestas de gran cantidad de procesadores conectados entre sí y actuando en paralelo. Estos procesadores se les denomina neuronas. Tratan de simulan el comportamiento neuronal humano, sin embargo, los modelos neuronales biológicos son mucho más complejos que los modelos computacionales actuales. • Neurona. La operación de una neurona es sumar los productos entre las componentes del vector de entrada x y un vector de pesos w; y la transforma según una función de activación f dando un escalar. N Salida = f( wT x) = f ( ∑ wi xi ) (9.1) i =1 A este sumatorio se le suele añadir un valor de desplazamiento debido al peso de bias. f() es la función de activación. Función no lineal, creciente, diferencial y acotada asintóticamente. El número de neuronas en la capa de entrada coincide con el número de descriptores que se va a utilizar. El número de neuronas de la capa de salida coincide con el número de clases en las que se va a diferenciar las muestras (3). A las capas intermedias se les denomina Capas Ocultas. El número de capas ocultas y neuronas en cada capa es un parámetro de diseño que se deberá resolver por prueba y error.. En la mayoría de las aplicaciones sólo se utiliza una capa oculta. Página 107 de 162 Detección Multiusuario para DS-CDMA basado en SVM Redes Neuronales 9.2 Técnicas de optimización Consideremos una función de error ε (w) (también llamada función de coste), continuamente diferenciable, donde w es un vector con los pesos (parámetros) de una determinada red neuronal. La función ε (w) proporciona un número real que es una medida de la corrección de los pesos w para resolver un determinado problema de forma óptima. Nos interesa encontrar una solución óptima w* que satisfaga la condición ε ( w* ) ≤ ε ( w) (9.2) Es decir, queremos minimizar la función de coste ε (w) con respecto a w. Se trata en definitiva de un problema de optimización sin restricciones. La condición necesaria para el óptimo es ∇ ε ( w* ) = 0 donde ∇ ∇=( (9.3) es el operador de gradiente ∂ ∂ ∂ , ,................, ) ∂w1 ∂w2 ∂wn (9.4) 1 Una clase de algoritmos de optimización que suelen adaptarse bien a las redes neuronales son los basados en la idea de descenso iterativo: Comenzar con un valor inicial w(0) (aleatorio, si no se tiene más información) y generar una secuencia de vectores de pesos w(1); w(2); : : :, tal que la función de error ε (w) se reduzca en cada iteración del algoritmo, esto es, ε (w(n + 1) ) < ε ( w(n)) (9.5) 9.2.1 Descenso por gradiente En esta forma de descenso iterativo, los sucesivos ajustes realizados al vector de pesos w se hacen en dirección opuesta al vector de gradiente ∇ε (w) : (9.6) w(n + 1) = w(n) − η∇ε ( w(n)) donde es la tasa de aprendizaje. Al pasar de la iteración n a la n + 1, el algoritmo aplica la corrección Página 108 de 162 Detección Multiusuario para DS-CDMA basado en SVM ∇w(n) = w(n + 1) − w(n) = −η∇ε ( w(n)) Redes Neuronales (9.7) En la formulación anterior se asume que el umbral b se trata como un peso más del vector w. Demostraremos ahora que la formulación del algoritmo de descenso por gradiente satisface la condición (9.5) del descenso iterativo. Por conveniencia en la notación, consideremos (9.8) g = ∇ε (w) Mediante una expansión en series de Taylor de primer orden alrededor de w(n), podemos aproximar ε (w(n + 1)) como ε ( w(n + 1)) ≈ ε ( w(n)) + g T (n)∆w(n) (9.9) expresión justificada para valores pequeños de η . Sustituyendo la ecuación en esta aproximación, obtenemos ε ( w(n + 1)) ≈ ε ( w(n)) − ηg T (n).g (n) = ε ( w(n)) − η g (n) (9.10) 2 (9.11) que demuestra que para valores positivos de la función de error se decrementen cada iteración. El razonamiento presentado aquí es aproximado, ya que el resultado final es solo cierto para valores lo suficientemente pequeños de la tasa de aprendizaje. La tasa de aprendizaje tiene una enorme influencia en la convergencia del método de descenso por gradiente. Si es pequeño, el proceso de aprendizaje se desarrolla suavemente, pero la convergencia del sistema a una solución estable puede llevar un tiempo excesivo. Si es grande, la velocidad de aprendizaje aumenta, pero existe el riesgo de que el proceso de aprendizaje diverja y el sistema se vuelva inestable. El método de descenso por gradiente tiene en su sencillez uno de sus mayores enemigos: cuando la superficie de error tiene “máximos locales”, existe el riesgo de que el algoritmo quede atrapado en uno de ellos. Existen otros métodos de optimización más sofisticados (por ejemplo, métodos que consideran la información suministrada por las derivadas de segundo orden), que, en general, proporcionan mejores resultados que el descenso por gradiente. Algunos de ellos son el método de “Gauss-Newton”, el algoritmo de “Levenberg-Marquardt” o el método de los “gradientes conjugados”. Página 109 de 162 Detección Multiusuario para DS-CDMA basado en SVM Redes Neuronales 9.3 Comparativa de Redes Neuronales y SVM Una de las principales características del detector SVM es que para encontrar la solución en la resolución de la ecuación cuadrática del problema convexo, no existen mínimos locales, tenemos un mínimo global, lo que implica que la solución es única, y se trata de la solución óptima que maximiza el margen, además de poder predecir el tiempo de ejecución de la resolución de la ecuación, pues es resoluble en tiempo polinomial. La Redes Neuronales se basan en la minimización del error cuadrático medio. El aprendizaje se puede terminar por dos motivos, porque se encuentra la cota de error buscado, o bien se han realizado el número máximo de iteraciones. En el caso de que no se haya cumplido la cota de error se debe modificar los datos de entrenamiento o cambiar el modelo. Con lo cual la velocidad de resolución depende del modelo elegido y de la cota de error a la que queramos llegar. Y con este tipo de resolución tenemos múltiples mínimos locales y también múltiples mínimos locales. Ésto hace no ya sólo que la solución sea múltiple, también que no sea una solución óptima. Figura 9.2:Representación del margen óptimo en SVM y varias fronteras obtenidas por Redes Neuronales Otra diferencia la podemos encontrar en el sobreentrenamiento [18] que se produce en las Redes Neuronales, pues si los datos tiene ruido, entrenar demasiado a la máquina puede perjudicar la capacidad de generalización. Página 110 de 162 Detección Multiusuario para DS-CDMA basado en SVM Redes Neuronales Figura 9.3: problema del sobreentrenamiento Si los datos son generados por un modelo cuadrático: • El modelo lineal corresponde a una situación de bajo-aprendizaje. • El modelo de alto grado corresponde a una situación de sobre-aprendizaje. Necesidad de encontrar un compromiso entre la adecuación de los datos y la complejidad que sea capaz de generalizar. SVM depende de la obtención del parámetro C, así como de utilizar un Kernel adecuado en el caso de tratarse de sistemas no lineales, estos parámetros se tienen que encontrar de manera empírica y controla el compromiso entre la complejidad del sistema y el número de datos no separables. En las Redes Neuronales no existen estos parámetros, pero como contrapartida tenemos que dimensionar el sistema en cuanto al número de capas ocultas y nodos. Como se ha mencionado en el párrafo anterior, una de las características de SVM es encontrar el Kernel óptimo, cuando se utiliza un Kernel pasamos a espacios de dimensión muy superior, pero sólo aquellos puntos necesarios. En las Redes Neuronales, las capas ocultas pueden llegar a realizar transformaciones a cualquier dimensión. La metodología de entrenamiento para el detector basado en SVM es más eficiente, debido a que requiere de un número mucho menor de ejemplos de entrenamiento, pues sólo utiliza aquellos que se encuentran más cercanos a la frontera de decisión. Mientras que el banco de datos de ejemplos de entrenamiento para poder llegar a una solución óptima en la Redes Neuronales es mucho mayor. En el apartado 6 hablamos de la minimización del riesgo empírico el riesgo real y de la minimización del riesgo estructural. SVM se basa en la minimización del riesgo estructural (SRM) el cual no se limita a una única función, consiste en encontrar el subconjunto de funciones que minimiza la cota del error actual. Mientras que las redes Página 111 de 162 Detección Multiusuario para DS-CDMA basado en SVM Redes Neuronales neuronales basan su funcionamiento en la minimización de una función error (minimización del riesgo empírico). Los resultados mediante SRM son mucho mejores. Figura 9.4: Minimización del riesgo empírico y el intervalo de confianza al mismo tiempo Principio inductivo de Minimización Estructural del Riesgo (SRM). Su objetivo es el de minimizar el riesgo empírico y el intervalo de confianza al mismo tiempo, eligiendo el elemento Sk más apropiado y que minimiza el borne: R(ζ ) ≤ Remp (ζ ) + h(log(2 N / h) + 1) − log( ρ / 4) N Debido a todo lo mencionado en párrafos anteriores, con la técnica de SVM podemos tener una mayor generalización, no obstante tendríamos las limitaciones mencionadas en el apartado 7.6.2 Página 112 de 162