El Perceptrón - Departament d`Enginyeria Electrònica
Transcription
El Perceptrón - Departament d`Enginyeria Electrònica
UPC UNIVERSITAT POLITECNICA DE CATALUNYA ETSETB- DEPARTAMENT D’ENGINYERIA ELECTRONICA Curso de Redes Neuronales Artificiales (2000-2001) El Perceptrón $XWRU 6HUJL %HUPHMR 5HVSRQVDEOH GHO FXUVR -RDQ &DEHVWDQ\ Títol del capítol 1 1. El Perceptrón Los perceptrones son los sistemas neuronales más simples, aunque no por ello resultan exentos de utilidad ya que son, a pesar de sus inherentes limitaciones, eficientes procesadores de información. Así pues, su estudio como entidad independiente está plenamente justificado. Dado que algunas de sus características, tales como su comportamiento geométrico y estadístico, la filosofía de sus algoritmos de aprendizaje, el balance que se debe efectuar en su diseño entre el poder de aproximación y el de estimación, son extensibles a otros sistemas neuronales más complicados, el análisis en detalle de estos sencillos dispositivos puede dar una idea de las ventajas y limitaciones de otras estructuras relacionadas. 1.1. Arquitectura. El perceptrón en su forma más general (Fig.1) tiene una arquitectura que se puede descomponer en tres partes: 1. Una serie de procesadores-φ que realizan una transformación entre el espacio de entrada X de dimensión d y el espacio V de dimensión M (pre-procesado). 2. Una suma ponderada de los M componentes del vector de entrada transformado más un valor de polarización (o umbral). 3. Una transformación τ realizada sobre la suma ponderada. -1(x) -M(x) & g(x) ... ... x w1 wM + wM+1 & M g (x ) = ∑ wi φi (x ) + wM +1 i =1 τ(g(x)) f(x) τ 1 (g ) = g ; lineal k τ 2 (g ) = ; sigmoide 1 + e − βg + 1 si g ≥ 0 τ 3 (g ) = ; escalón − 1 si g < 0 Figura 1. El Perceptrón. 1.1.1. Arquitecturas típicas. La variante más utilizada es la que se deriva de no utilizar ningún procesador-φ sobre el espacio de entrada (Fig 2.). Así nos podemos encontrar con el perceptrón conocido como TLU (Threshold Logic Unit) en el que τ es la función escalón (1), mientras que los perceptrones utilizados en la estructura MLP (Multilayer Perceptron), emplean funciones derivables para sintetizar τ, siendo la más utilizada de entre estas la función sigmoide (2) + 1 si g ≥ 0 τ 3 (g ) = ; − 1 si g < 0 τ 2 (g ) = k ; 1 + e − βg (1) (2) A partir de aquí, pueden derivarse algunas variantes usando diferentes funciones g, tales como: & & & g (x ) = x − w − wd +1 2 (3) Títol del llibre 2 & d d d g (x ) = ∑ wi xi + ∑ wi + d xi + ∑ 2 i =1 x1 i =1 2 d +u i =1 j =1;i ≠ j xi x j (4) w1 ... ... x d ∑w xd wd g(x) + τ(g(x)) f(x) wd+1 g (x& ) = ∑ wi xi + wd +1 d i =1 Figura 2. El Perceptrón sin procesadores-φ. 1.1.2. Modos de operación. En el perceptrón se distinguen dos formas de operación principales, dependiendo de si la función τ toma valores discretos o continuos: 1. Como aproximador de funciones de salida binaria o clasificador. Cuando τ(g(x)) toma valores discretos (+1,-1 ó 1,0) el perceptrón se puede considerar como un clasificador de patrones que pertenecen a dos clases. Es decir que el perceptrón es una función que realiza una transformación no lineal del tipo x∈ℜd→{-1,+1} o {0,1} asignando así x a la clase 1 cuando toma el valor 1 y a la clase 2 cuando toma el valor -1 (ó 0). Un caso particular de funciones de salida binaria son las funciones lógicas que son del tipo {0,1}d→{0,1}. De esta forma se puede afirmar que un perceptrón (en su forma más general) puede implementar cualquier función del álgebra de Boole. 2. Como aproximador de funciones reales. Cuando τ(g(x)) toma valores continuos (ℜ) el perceptrón se puede utilizar como un aproximador de funciones reales. Si τ es lineal, o sea τ(g(X))=g(X), el perceptrón se convierte en un aproximador de funciones lineal teniendo {f1(x), f2(x), ..., fM(x), 1} como funciones básicas. 1.1.3. Interpretación vectorial: comportamiento geométrico del perceptrón. El espacio de entrada (ℜd) sobre el que opera el perceptrón, puede considerarse como un espacio vectorial en el que cada uno de los posibles valores de entrada son puntos (vectores) definidos sobre dicho espacio. Así un perceptrón construye una función entre el espacio de entrada y de salida realizando diversas manipulaciones y transformaciones entre los espacios vectoriales existentes (Fig. 3). En primer lugar se realiza una transformación no lineal de un espacio de entrada X de dimensión d a uno V de dimensión M, donde M≥d. Sobre dicho espacio actúa una función g, denominada discriminante lineal. Esta se puede expresar de la siguiente manera: & & & & d H (v ) w si v T w + wM +1 ≥ 0 g (v ) = & & &T & − d H (v ) w si v w + wM +1 < 0 & (5) φ1 (x ) w1 & & w = ... ; v = ... & φ M (x ) wM & donde dH(v) es la distancia mínima entre el vector v y el hiperplano H formado por la ecuación g=0. Este hiperplano H induce a su vez una hipersuperficie H' en el espacio de entrada cuya ecuación es g(x)=0. Títol del capítol 3 Finalmente g se puede volver a transformar de manera no lineal a través de la función τ con objeto, por ejemplo, de limitar el rango de la función implementada por el perceptrón, puesto que g, al ser directamente proporcional a dH, toma valores entre (-∞,+∞). Si la función τ es del tipo escalón ( U(g) o U(g)-U(-g) ), el perceptrón realiza una partición lineal del espacio φ, asignando 1 a todo patrón v por encima de H (g>0) y 0 (o -1) a todo patrón por debajo de dicho hiperplano (g<0). De esta manera podemos construir un clasificador de dos clases. 1.1.4. Capacidad aproximativa de los perceptrones cuando actúan como clasificadores. Un clasificador de dos clases, como el perceptrón, tendrá máxima capacidad aproximativa si para N patrones de entrada cualesquiera (que pueden ser por ejemplo los patrones de entrenamiento) es capaz de implementar la práctica totalidad de las posibles soluciones o dicotomías, que en el peor de los casos será 2n. Deberemos por lo tanto calcular el número de dicotomías que el perceptrón es capaz de realizar para N patrones de entrada de dimensión d, Dp(N,d), para así cuantificar su poder computacional. Puesto que el perceptrón discrimina utilizando un hiperplano H situado sobre el espacio V, Dp vendrá dado por el número de dicotomías lineales existentes en este espacio de dimensión M. Así Dp(N,d)= L(N,M) siendo L(N,M) el número de dicotomías lineales para N patrones (Fig.4). Para calcular L(N,M) deberemos de tener presente que la situación de los N patrones en el espacio V influye en el número de separaciones lineales que podemos realizar. Asumiremos el peor de los casos posibles que es que los N patrones estén en posición general en el espacio M-dimensional. Esto significa que no existe ningún subconjunto de M+1 puntos que caiga en un hiperplano (M-1)-dimensional (Fig. 5). El número de dicotomías lineales para este caso lo denominaremos LG(N,M). En general tendremos que L(N,M)≤ LG(N,M) puesto que en la práctica los patrones no tienen que estar en posición general y por lo tanto el número de dicotomías será menor. H H’ - x g>0 V τ v g dH X -∞ g>0 & & +∞ a b & & d (v ) w si v T w + wM +1 ≥ 0 & g (v ) = H & & &T & − d H (v ) w si v w + wM +1 < 0 Figura 3. El perceptrón como un procesador geométrico. DL1 DL2 DL1 DL3 DL2 DL=dicotomía lineal a) 2 b) Figura 4. Dicotomías lineales en R para dos posibles conjuntos de 3 puntos. a) Para puntos en posición general, b) Para puntos en posición no general. Títol del llibre 4 c1 c2 a) b) Figura 5. Particiones lineales de 3 puntos en ℜ2. a) Para puntos en posición general, b) Para puntos en posición no general. El número de dicotomías lineales en V para N puntos en posición general, LG(M,N), viene dada por la siguiente expresión (p.37; Nilsson, 1965): M N − 1 si N > M 2 LG (M , N ) = ∑ i i =0 2N si N ≤ M M N − 1 si N > M + 1 2 = ∑ i i =0 2N si N ≤ M + 1 (6) donde N − 1 (N − 1)! = i (N − 1 − i )!i! es el coeficiente binomial. Teniendo en cuenta que para N puntos en posición general el numero de dicotomías lineales existentes es 2N, la probabilidad de que una de estas posibles dicotomías sea implementada por el perceptrón, denominada PG(N,M) es (p.39; Nilsson, 1965): 1− N M N − 1 si N > M 2 ∑ PG (M , N ) = i i =0 1 si N ≤ M (7) Aunque esta ecuación se puede expresar también de la siguiente manera (p.70; Duda, 1973): 1− N M N − 1 si N > M + 1 2 ∑ PG (M , N ) = i i =0 1 si N ≤ M + 1 (8) Si tomamos N proporcional al número de parámetros ajustables del perceptrón, M+1, N queda como N = λ (M + 1) (9) Para λ=2 existe un efecto umbral tal que si N<2(M+1), PG(N,M)→1 a medida que M→∞ y si N>2(M+1), PG(N,M)→0 a medida que M→∞. Títol del capítol 5 1.1.5. Diseño del perceptrón: Balance entre su poder computacional y su dimensión VC. En el peor de los casos, N patrones en posición general, Dp(N,d)= LG(N,M) y la probabilidad de que una posible dicotomía pueda ser implementada por el perceptrón, Pp(N,d), es igual a PG(N,M). A tenor del apartado anterior, si queremos que el perceptrón pueda implementar cualquier posible dicotomía, lineal en V pero no lineal en X, deberemos asegurar que M sea lo suficientemente grande y que el numero de patrones N a clasificar no exceda del doble del número de parámetros del perceptrón, M+1. De esta manera podemos garantizar que un complicado problema de clasificación de patrones en un espacio de entrada de dimensión d, una vez transformado a un espacio de dimensión elevada (M→∞) sea con bastante seguridad linealmente separable ya que la probabilidad de que pueda ser implementado por el perceptrón Pp(N,d)→1, siempre y cuando el número de patrones a clasificar, N, no exceda de 2(M+1). Podemos así decir que el perceptrón podrá resolver cualquier problema de clasificación de N patrones en posición general (≡ el problema es linealmente separable en φ) si y solo si: N<2(M+1) con M grande (M>>d, M→∞) (10) Pero en general únicamente vamos a poder calcular de manera fiable los M+1 parámetros del perceptrón si el sistema de N ecuaciones (resultante de imponer un prefijado valor de la salida del perceptrón para cada uno los N vectores de entrada) está sobredeterminado (p.69; Duda, 1973), es decir cuando hay muchas más ecuaciones que parámetros: N>>M+1 (11) Dicho de otra manera, únicamente nos aseguraremos de que los parámetros calculados tengan buena capacidad de generalización (más allá de los N vectores extraídos del problema a resolver) si el error de estimación de dichos parámetros es pequeño. La teoría de aprendizaje y generalización de Vapnik (Vapnik, 1995) nos asegura que esto es así si y solo si N/h>20 donde h es la dimensión VC en este caso del perceptrón. Es fácil demostrar, empleando LG(N,M), que la dimensión VC del perceptrón es igual a M+1, esto es el número de parámetros a calcular. Por consiguiente la ecuación queda finalmente de la siguiente manera: N>20(M+1) (12) Como se puede ver existe una total incompatibilidad entre las ecuaciones (10) y (12). En la práctica no se puede introducir un número elevado de procesadores-φ (M) ya que resulta imposible estimar de manera adecuada los M+1 parámetros con un conjunto finito de datos de tamaño N. Debe existir forzosamente en el diseño del perceptrón, que implica escoger un cierto tipo y número de procesadores-φ, un balance entre su capacidad de aproximación y capacidad estimativa. Puesto que no es posible subir M indefinidamente, se deberá escoger un cierto tipo de procesadores-φ que permita implementar al perceptrón una dicotomía útil para el problema en cuestión teniendo siempre presente que los M+1 parámetros de está solución puedan ser calculados fiablemente a través de los N patrones de entrenamiento disponibles. Para concluir este apartado diremos que el análisis efectuado ha sido realizado para el peor de los casos posibles (worst-case analysis), es decir para el caso en el que se dispone de N patrones en posición general. En la práctica estamos en mejores condiciones ya que los N patrones pueden no estar en posición general. Así nos podemos encontrar que las condiciones (10) y (12) se relajen pudiendo incrementar M teniendo un N fijo por encima de lo aceptable y consiguiendo a pesar de ello un sistema con una buena capacidad de generalización. 1.2. Algoritmos de aprendizaje no paramétricos 6 Títol del llibre En este apartado hablaremos de diversos algoritmos de entrenamiento no paramétricos, es decir algoritmos que no necesitan tener conocimiento de las formas de las funciones densidad de probabilidad de los patrones de entrada y salida. De esta manera pueden ser aplicados a cualquier tipo de problema. Básicamente el problema del aprendizaje en el caso del perceptrón se puede descomponer como veremos a continuación en dos pasos: 1. Proponer una función a minimizar cuya solución implique conseguir lo que perseguimos (por ejemplo, conseguir un discriminante que separe dos clases linealmente separables o que separe dos clases linealmente no separables de la mejor forma posible). 2. Proponer un método de optimización que nos permita a través del conjunto de entrenamiento (de tamaño N) obtener la solución deseada. Esto es, un algoritmo que sea capaz de calcular (en un tiempo finito) los parámetros del dispositivo que sean solución del sistema de N ecuaciones resultantes. Puesto que se puede proponer infinidad de funciones a minimizar y métodos de optimización que minimicen dichas funciones, restringiremos nuestro estudio a varias funciones y en concreto a un único método de optimización que las minimice, el basado en el descenso (o ascenso) de gradiente estocástico. Además analizaremos dichos algoritmos para dos casos bien diferenciados: 1) Cuando τ es una función del tipo escalón y por ello no derivable (perceptrones tipo I) 2) Cuando τ es una función real, continua y derivable (perceptrones tipo II) 1.2.1. Filosofía general de los algoritmos. Antes de comenzar a estudiar diversos algoritmos de aprendizaje para perceptrones del tipo I y II, comentaremos el mecanismo general de todos ellos indicando la diferencia en el planteamiento entre los que están basados en un tipo u otro de perceptrones. Como hemos comentado, un algoritmo de aprendizaje en su forma más simple consiste en un criterio a minimizar y un método de optimización que efectivamente minimiza el criterio propuesto. Cabe decir que al no existir criterios y métodos de optimización universalmente mejores que los demás, es decir que funcionan mejor para cualquier tipo de situaciones, en la práctica para un problema particular la elección final de un algoritmo se deberá efectuar probando varios y viendo cual de ellos encaja más con los objetivos de diseño planteados (tiempo de cálculo, calidad de la solución obtenida, etc.). Teniendo presente esto, hablaremos de un cierto tipo de algoritmos que básicamente se han escogido porque son muy sencillos de entender e implementar y funcionan aceptablemente en gran variedad de situaciones. Dichos algoritmos están basados todos ellos en el método de optimización del gradiente. Cuestiones previas acerca de la forma de la función de coste J Como hemos comentado existen dos aproximaciones algorítmicas dependiendo de si el perceptrón es derivable o no. En el caso de que no lo sea (perceptrón del tipo I) y τ sea del tipo escalón U(g), τ no es derivable cuando g=0 y a la vez para g diferente de cero la derivada vale cero. Por lo tanto no se puede plantear un algoritmo basado en descenso de gradiente minimizando una función J que dependa de la salida del perceptrón. Por ello la estrategia de entrenamiento empleada para este tipo de perceptrones es minimizar funciones J que utilicen la función discriminante g(x) (Fig.7). En cambio para el otro tipo de perceptrones, la función J puede depender directamente de su salida (Fig. 8). Títol del capítol 7 w1 -1(x) -M(x) ... ... xi wM g(xi) + wM+1 i=1..N b + zi + ei $OJ $OJ $SUHQGL]DMH T={(xi,zi)} f(xi) Figura 7. Aprendizaje en un perceptrón del tipo I con τ=U(g(x)-b). -1(x) -M(x) ... ... xi w1 wM g(xi) + wM+1 T={(xi,yi)} i=1..N f(xi) yi $OJ $OJ $SUHQGL]DMH + + ei Figura 8. Aprendizaje en un perceptrón del tipo II. 1.2.2. Aprendizaje para τ no derivable. Cuando τ es del tipo escalón, el perceptrón implementa un clasificador. Si utilizamos una función τ=U(g(x)-b) (o τ=U(g(x)-b)-U(b-g(x))), donde U es la función escalón, g(x) juega el papel de un discriminante generalizado (no lineal). De esta manera el clasificador asigna a la clase 1 ("1" lógico en el caso de funciones booleanas) a todo x tal que g(x)>b y a la clase 2 ("0" lógico) a todo x tal que g(x)<b. Si g(x)=b en principio el clasificador puede no asignar el patrón de entrada a ninguna clase (estado de incertidumbre) o bien asignarla, por ejemplo, a la clase 1. A b se le conoce con el nombre de margen. Puesto que aquí el perceptrón clasifica patrones de entrada nos interesa estudiar algoritmos que den una solución en casos en los que las clases no sean linealmente separables en el espacio de entrada, ya que son este tipo de problemas los que nos vamos a encontrar en la práctica con una mayor incidencia. Como hemos visto si transformamos el espacio de entrada de dimensión d a uno de dimensión mucho mayor M el problema es más susceptible de ser linealmente separable. Idealmente si M→∞ el problema sería linealmente separable, pero como hemos visto para un conjunto finito de datos de entrenamiento de tamaño N necesitamos que el sistema de N ecuaciones (que debe ser resuelto durante el aprendizaje) esté sobredeterminado, es decir que el número de parámetros del sistema (M+1) sea mucho menor que N. Así si el problema de clasificación no es linealmente separable en X, probablemente tampoco lo será en el espacio transformado V ya que M no podrá ser demasiado grande en relación a d. Por consiguiente los Títol del llibre 8 algoritmos de aprendizaje que nos interesan deberían de ser capaces de resolver problemas linealmente no separables en el espacio transformado. Aquí nos podemos encontrar dos tipos de aproximaciones o planteamientos a seguir a la hora de diseñar dichos algoritmos de entrenamiento (Fig 9.): 1) Inicialmente se diseñan algoritmos para el caso separable y posteriormente se hacen las modificaciones oportunas para conseguir un algoritmo estable para el caso no lineal. 2) Se construyen directamente algoritmos que resuelvan el caso no separable y por extensión el caso separable. Algoritmos para patrones linealmente separables Algoritmos para patrones linealmente no separables PLR PLR termal,... Relajación Relajación termal,... LMS Figura 9. Principales algoritmos de aprendizaje basados en descenso de gradiente. PLR (Pepceptron Learning Rule) El PLR (cap.4; Nilsson, 1965, 1990) entrena perceptrones del tipo II y converge en finitas iteraciones para el caso en el que los patrones sean linealmente separables en el espacio transformado V. En caso de que esto no suceda el PLR no convergerá, oscilando indefinidamente sobre la región en la que los patrones de ambas clases se solapan. Será entonces necesario modificar ligeramente dicho algoritmo para garantizar también aquí su convergencia. Algoritmo de entrenamiento en línea sin margen (b=0). Derivación geométrica. Sea un conjunto de entrenamiento T formado por N patrones. Dicho conjunto se puede dividir en dos subconjuntos T1 y T2 formados por patrones pertenecientes a la clase 1 y 2 respectivamente. La salida del perceptrón debe ser positiva para patrones de la clase 1 y negativa (o cero) para patrones de la clase 2. Puesto que podemos utilizar cualquier tipo de procesador-φ, los patrones situados en el espacio de entrada X (pertenecientes a T1 y a T2) de dimensión d son transformados, de manera no lineal en el caso general, a un espacio V de dimensión M. Inicialmente supondremos que los patrones en el espacio transformado son linealmente separables. El problema del entrenamiento queda entonces reducido a buscar sobre el espacio de pesos de dimensión M+1 un vector tal que permita separar linealmente el conjunto de patrones transformados (U). Según lo dicho el vector de pesos que debemos buscar cumple la siguiente ecuación: & M & & & & g (x ) = ∑ wi φ i (x ) + wM +1 > 0 ∀ x ∈ T1 i =1 & M g (x ) = ∑ wi φ i (x ) + wM +1 < 0 ∀ x ∈ T2 i =1 (15) Títol del capítol 9 o expresada de manera compacta en notación vectorial: & & & & & & u T w' > 0 ∀ u ∈ U 1 u T w' < 0 ∀ u ∈ U 2 & w1 φ1 (x ) ... & ' ... & w con u = = , ; & φ M (x ) wM 1 wM +1 (16) (& ) φ1 xi j ... & & & U 1 = ui1 ,U 2 = u i2 , u i j = φ M x&i j 1 { } { } , T = x& 1 , T = x& 2 i i 2 1 ( ) { } { } donde el vector u es el vector resultante de transformar x al espacio V, aumentado en un componente cuyo valor es siempre igual a 1. Así podemos situar sobre el espacio de pesos los N vectores transformados y aumentados (Fig. 10). Dichos patrones forman N hiperplanos que dividen el espacio de pesos. Existirá en dicho espacio una región, denominada región de la solución, donde todos los pesos que allí residan serán solución de las ecuaciones (15) y (16) (Fig. 11a). El PLR debe entonces a partir de un valor inicial de los pesos (un punto sobre el espacio de pesos) alcanzar dicha región (Fig. 11b). Región de la solución H & & u T w' = 0 1 1 X 0 U 0 W’ 0 0 Figura 10. Transformaciones de espacios y lugar geométrico del vector de pesos aumentado w' que consigue separar correctamente los patrones de entrenamiento. u2 u2 u2 u2 u1 u1 w’[0] w’[∞] PLR u1 u1 a) b) Figura 11. a) Lugar geométrico de la solución (la flecha indica la zona donde el producto escalar entre ui y w' es positiva). b) Evolución del PLR hasta alcanzar una posible solución. Títol del llibre 10 Supongamos que para algún patrón u que pertenece a la clase 1 el perceptrón tiene una respuesta errónea (<0) o indeterminada (=0). Esto significa que w' está o bien situado en el lado negativo del hiperplano formado por Y o justo encima de él. Este error puede ser corregido moviendo w' al lado positivo del hiperplano. El camino más directo es a través de la línea normal a dicho hiperplano (Fig. 12a). Basta para ello sumar al vector w un vector que tenga la misma dirección y sentido que u (c*u) (Fig. 12b). De esta manera podemos llegar a plantear el PLR (en su versión en línea) tal y como sigue: Paso 1. Paso 2. Paso 3. Paso 4. Paso 5. Escoge (aleatoria o cíclicamente) un patrón x∈T. T Calcula u como [ f1(x) ... fm(x) 1] Si x∈ clase 1 y <w',u>≤0 entonces w'=w'+cu (<.,.> denota producto escalar) Si x∈ clase 2 y <w',u>>0 entonces w'=w'-cu Si todavía quedan patrones por clasificar correctamente ve a paso 1, sino acaba. u1 & u1 & − u1T w' & u1 w’[k+1] u1 w’ w’[k] u1 b) a) Figura 12. a) Geometría existente entre w', u y Hu. b) Efecto de incrementar w' con cu. En este algoritmo queda por determinar el valor de c, que determina el incremento del peso. La opción más evidente es utilizar un valor fijo de c para todos los casos. Puesto que la distancia que separa a w de pasar al otro lado del hiperplano variará mucho dependiendo de cada caso, esta solución puede hacer que el algoritmo converja más lentamente en el caso de que c sea demasiado pequeño en relación a dicha distancia o puede incluso crear cierta inestabilidad si c es demasiado grande. Por lo tanto, es conveniente utilizar un valor de c que sea proporcional en cada caso a la distancia que separa a w del hiperplano: & & c= u T w' & u 2 (17) La convergencia de este algoritmo en un número finito de iteraciones, aunque en un tiempo que crece exponencialmente con la dimensión del vector de pesos, queda garantizada para c>0 y 0≤λ≤2 siempre y cuando las clases sean linealmente separables (Ver cap. 5; Nilsson, 1965, 1990 ó cap. 11; Minsky, 1969, 1988) Algoritmo de entrenamiento en lotes con margen (b>0). Descenso de gradiente sobre la función de coste del perceptrón Jp. Definimos una función de coste a minimizar de la siguiente manera: Títol del capítol 11 & & & J p (w′; u1 ,..., u N , b ) = ∑( (−) w′ u )+ ∑( (w) ′ u ) & & T & & & & u∈U1 w′ T & (18) & u∈U 2 w′ donde U1(w') es el conjunto de muestras de entrenamiento que pertenecen a la clase 1 mal clasificadas por w' y U2(w') es el conjunto de muestras de entrenamiento que pertenecen a la clase 2 mal clasificadas por w'. Esta función Jp es siempre ≥0 y únicamente vale cero cuando todas las muestras están correctamente clasificadas. Recordemos que el perceptrón asigna un patrón de entrada x a c1 si y sólo si <w',u> ≥ b y a la c2 en caso contrario. Si calculamos el gradiente de Jp respecto a w' la ecuación iterativa queda de la siguiente manera: & & & & w′[k + 1] = w′[k ] + c ∑ u − ∑ u (19) & & & & u∈U1 (w′[k ]) u∈U 2 (w′[k ]) Como se puede apreciar el PLR en línea con b=0 es un caso particular de esta ecuación. Destacar que la ecuación (19) realiza descenso de gradiente de tipo estocástico. La aleatoriedad proviene de las muestras de entrenamiento que en el caso general, cuando no son deterministas, son representativas de una función densidad de probabilidad. El algoritmo de relajación. Definimos de una función de coste a minimizar denominada Jr: & T& & T& w w ′ u −b ′ u +b 1 + ∑ J r (w′; u1 ,..., u N , b ) = ∑ & & u&∈U (w& ′ ) 2 u&∈U1 (w& ′ ) u u 2 & & 2 & 2 (20) donde de nuevo U1(w') es el conjunto de muestras de entrenamiento que pertenecen a la clase 1 mal clasificadas por w' y U2(w') es el conjunto de muestras de entrenamiento que pertenecen a la clase 2 mal clasificadas por w'. Al calcular su gradiente respecto a w' la ecuación iterativa queda ahora de la siguiente manera: & & & & w′T u − b & w′T u + b & w′[k + 1] = w′[k ]+ c ∑ u− ∑ & 2 u = & & u&∈U1 (w& ′[k ]) u& 2 u∈U 2 ( w′ [k ]) u & & & = w′[k ]+ c ∑ d w& ′T u& =b & & u∈U1 (w′[k ]) & u & − ∑ d&T& u u&∈U 2 (w& ′[k ]) w′ u =b & u & u (21) donde d <w',u>=b(w') es la distancia mínima entre w' y el hiperplano formado por la ecuación <w',u>=b. De esta manera si c>1 cada miembro de los sumatorios contribuirá a que w' salte al otro lado del hiperplano y así la clasificación de esa muestra será ya correcta. Variantes para el caso no separable. Una situación más acorde con la realidad es aquella en la que las clases en el espacio transformado φ no se puedan separar linealmente. Entonces el objetivo del aprendizaje pasaría a ser el de encontrar un vector de pesos que separara linealmente las dos clases de manera que el número de errores cometido (o la Títol del llibre 12 probabilidad de error) fuera mínimo. Como ya se ha comentado los dos anteriores algoritmos, el PLR y el de relajación, no garantizan la convergencia hacia una solución en este caso. Si analizamos la mecánica de estos algoritmos podemos prever que el hiperplano construido por el vector de pesos quede oscilando en la zona donde está el solapamiento entre clases. Entonces, para acabar con el entrenamiento, bastaría estabilizar la solución provocando que el vector de pesos dejara de moverse. Una manera simple de hacer esto sería ir disminuyendo c a medida que el entrenamiento avance. Otra solución posible sería la comentada en (Frean, 1992) que a continuación vamos a ver en el contexto del PLR en línea, pero que puede ser aplicado en el resto de los algoritmos. PLR Termal Una sencilla solución para parar el algoritmo pasaría por mover el vector de pesos w inicialmente hacia cualquier vector u no importa cual sea la distancia entre ellos y hacer que a medida que el entrenamiento fuera avanzando, w' únicamente se moviera hacia aquellos vectores que estuvieran cada vez más cerca de él. De esta manera haríamos que el vector de pesos se situara sobre la región donde esta la frontera entre clases y que convergiera hacia un punto situado en dicha región. Llegamos entonces al PLR termal (Frean, 1992) que podría quedar como sigue: for ( it = 0; it< rlen; it++){ Paso 1. Escoge (aleatoriamente) un patrón X perteneniente a T. T Paso 2. Calcula u como [ f1(x) ... fm(x) 1] Paso 3. Calcula T (Temperatura) = To(1 - (it/rlen)) Paso 3. c'= c* exp(-|<w',u>|/T) Paso 3. Si x∈ clase 1 y <w',u>≤0 entonces w'=w'+cu Paso 4. Si x∈ clase 2 y <w',u>>0 entonces w'=w'-cu } El algoritmo LMS (Least Mean Squared) Introducción al LMS: Regresión lineal por mínimos cuadrados Supongamos que tenemos un vector aleatorio X y una variable aleatoria Y, queriendo construir un estimador de Y, i con una función f(X) que en el caso lineal tiene la siguiente expresión: d & & & & Y = f ( X ) = ∑ wi xi = wT x =x T w (22) i =1 Para calcular w necesitamos una medida que nos indique la calidad de la aproximación. Entonces podremos calcular w para que minimice (o maximice) dicha medida. En el caso de considerar el criterio de mínimos cuadrados, esta medida es la siguiente: [( D = E XY Y − Y )] 2 (23) Así debemos calcular w* tal que minimice D. Si derivamos D respecto a w e igualamos a cero obtenemos en este caso el valor de w que minimiza D. Si lo hacemos obtenemos las denominadas ecuaciones normales o de Widrow-Hopf: [ & ] & & ∂E ( y − f (x )) = −2 RYX + 2 RXX w′ = 0 & ∂w′ 2 (24) Títol del capítol 13 donde RYX es el vector de correlación cruzada entre Y y X; RXX es la matriz de autocorrelación del vector aleatorio X. La solución de esta ecuación nos da el vector de pesos óptimo que en el caso de que exista la inversa de la matriz RXX es : & −1 & w* = RXX RYX (25) Una ecuación iterativa basada en el descenso de gradiente que obtendría el mismo resultado es la siguiente: & & ∂E[( y − f (x[k ]))] & & = w[k ] + c RYX − RXX w[k ] w[k + 1] = w[k ] − η & w[k ] & ( & ) (26) Estimación de las ecuaciones normales. LMS. En la práctica la estadística de Y y X son desconocidas, y por lo tanto no se puede obtener w* empleando las ecuaciones (25) o (26) sino que obtendremos una estimación de él, gracias a estimar dichas ecuaciones a través de un conjunto de entrenamiento T= {(xi,yi)} i=0..N-1: & −1 & w* = RXX RYX (27) & & & & & ∂E[( y − f (x[k ]))] & w[k + 1] = w[k ] − η w k c R [ ] = + YX − RXX w[k ]; w[∞] → w* & w[k ] & & (28) Queda por determinar los estimadores de RXX y RYX. Los estimadores que se pueden emplear en los dos casos son aquellos que utilizan todas las muestras se entrenamiento siendo los más habituales los siguientes: 1 N −1 & & T ∑ xi xi (29) N i =0 1 N −1 & = ∑ yi xi (30) N i =0 RXX = & RYX Si se utiliza la ecuación (28) también es posible construir los denominados estimadores instantáneos que requieren únicamente un par de muestras: & &T & & RXX [k ] = xi xi (31) RYX [k ] = yi xi (32) con i=k mod N. Estas últimas dos ecuaciones junto con la (28) es lo que se conoce con el nombre de algoritmo o regla LMS. Por lo tanto, el algoritmo LMS es una técnica que busca un estimador de la solución de las ecuaciones normales a través de realizar descenso de gradiente que es en este caso estocástico, ya que los valores deterministas de RXX y RYX son aproximados con estimadores que son en sí variables aleatorias. Títol del llibre 14 De hecho el algoritmo LMS se deriva también a partir de estimar la ecuación (23), utilizando la función (y-f(x))² y aplicando la técnica del descenso de gradiente para minimizar dicha función. Igual se podría decir de las ecuaciones (28) (29) y (30) que son las resultantes de aplicar descenso de gradiente sobre la siguiente función: [ & E ( y − f (x )) 2 ] 1 = N N −1 ∑ (y i i =0 & − f (xi )) (33) 2 LMS y el perceptrón de tipo I La función a minimizar en su expresión más general, utilizando la técnica del descenso de gradiente que permita estimar la solución de las ecuaciones normales, es en el caso del perceptrón de tipo I: & & & [( & & J s (w′; (u1 , b1 ),..., (u N , bN ) ) = E b − w′T u &T& 1 ′ ui − a w ∑ N u&i∈T2 ( ) + ∑ (a + w′ u ) & 2 T & 2 j & u j∈T2 ) ]= 1 ∑ (b − w& ′ u& ) N 2 N −1 2 T i =0 i i = (34) donde bi=+a si ui∈clase 1 (T1) y bi=-a (a>0) si ui∈clase 2 (T2). Esta ecuación cuando N→∞ converge a EX[(b -<w',u>)²] (35) Si a=1 EX[(b -<w',u>)²] se puede descomponer de la siguiente manera: EX[(b -<w',u>)²]= EX[(go(x) -<w',u>)²] + (1-EX[go²(x)]) (36) donde go(x)= P(c1\x)-P(c2\x)=2P(c1\x)-1, la función discriminante que hace que la P(E) sea mínima. Por lo tanto minimizar la ecuación (35) respecto de w', puesto que (1-EX[go²(x)]) no depende de él, equivale minimizar EX[(go(x) -<w',u>)²], la diferencia promedio entre el mejor de los discriminantes posibles go(x) y el discriminante del perceptrón <w',u>. Por consiguiente podemos decir que minimizar (34) cuando a=1, implica de manera asintótica (cuando N→∞) minimizar la diferencia promedio entre el discriminante óptimo y el del perceptrón. Aunque es necesario decir que esta minimización no garantiza obtener un discriminante lineal con la menor P(e) posible ya que EX[(go(x) -<w',u>)²] pone énfasis en aquellos puntos en los que fX(x), la función densidad de probabilidad de X, es grande en lugar de en aquellos puntos en los que go(x)=0. En el caso de que exista poco solapamiento entre las clases la región G formada por puntos cercanos a go(x)=0 tendrá poco impacto en el valor de E, ya que en esa zona fX(x)→0. En cambio si existe un gran solapamiento entre las dos clases la contribución de G a la integral será considerable ya que fX(x∈G) será grande (Fig. 13). Así podemos esperar que minimizar Js funcionará mejor en aquellos casos donde el solapamiento entre clases sea considerable. El algoritmo de aprendizaje que se deriva de aplicar la técnica de descenso de gradiente a la ecuación (34) es el siguiente: & & w′[k + 1] = w′[k ] + & & & c[k ] T & & T & a − w′[k ] ui ui + ∑ a + w′[k ] u j u j ∑ & N u&i∈T2 u j ∈T2 ( ) ( ) (37) Títol del capítol 15 y su versión en línea: ( ( & ) ) & & & c[k ] a − w′[k ] ui ui si ui ∈ clase 1 w′[k + 1] = w′[k ] + con & & & & N − a + w′[k ]T ui u i si ui ∈ clase 2 & & fX(x\C1)P(C1) T fX(x\C2)P(C2) i = k mod N (38) fX(x\C1)P(C1) go(x)=0 fX(x\C2)P(C2) go(x)=0 fX(x) fX(x) go(x)=0 go(x)=0 a) b) Figura 13. a) solapamiento pequeño entre clases: la región cercana a go(x) tiene poco efecto en la integral. b) solapamiento grande entre clases: la región cercana a go(x) tiene un gran efecto en la integral 1.2.3. Aprendizaje para τ derivable. LMS. Cuando τ es una función real (continua y derivable) el perceptrón implementa a un regresor de funciones. La técnica más sencilla para conseguir un algoritmo de aprendizaje sería aplicar descenso de gradiente sobre la siguiente función: [ * ] J = E XY (y − f (x )) = 2 1 N −1 (y i − f (x& i ))2 (39) ∑ N i =0 donde {(xi, yi)} es el conjunto de entrenamiento y f(x) es la salida del perceptrón. El algoritmo iterativo que busca w' tal que minimiza J quedaría de la siguiente manera: & & w′[k + 1] = w′[k ] + c[k ] N −1 ( yi − f [k ](x&i ))τ (x&i ) ∂&g i (40) ∑ ∂w′[k ] N i=0 y en la versión en línea: ∂g & & & & w′[k + 1] = w′[k ] + c[k ]( yi − f [k ](xi ))τ (xi ) & i con i = k mod N (41) ∂w′[k ] [ * ] Puesto que J estima E XY ( y − f (x ))2 en el caso de que sea un buen estimador, la solución obtenida de minimizar sobre J será cercana a la que se hubiera obtenido de minimizar E XY ( y − f (x* ))2 (Fig. 14). Si tenemos en cuenta que: [ ] Títol del llibre 16 [ [ ] ] [ ] E XY ( y − f (x )) = E XY (EY \ X [y x ] − f (x )) + E XY (y − EY \ X [y x ]) , * 2 * * 2 * 2 [ *] * minimizar dicha esperanza implica minimizar el error cuadrático medio entre EY \ X y x y f (x ) . En el caso de que y valga 1 si x∈clase 1 y valga 0 si x ∈clase 2: EY \ X [y x ] = P(X ∈ c1 x ), * * ( * ) por lo que minimizando J se puede construir un estimador de P X ∈ c1 x , necesario en el caso de construir un estimador del clasificador de Bayes (el clasificador con la P(E) mínima)) para dos clases. [ ] [ 1 N −1 2 & 2 J = E (y − f (x* )) = ∑ (yi − f (xi )) N i =0 & w*′ = arg min J & w′ D = E XY (y − f (x* )) 2 ] [ ] 2 w* = arg min D ≡ arg min EXY ( f o (x& )− f (x& )) ; f o (x& ) = EY \ X [y x* ] & & w′ w′ &′ si J ≈D & w *′ ≈ & w *′ si & & & f (x ; w*′ )≈ f o (x ) ( ) & & & f = f x ; w*′ ≈ f o (x ) Figura 14. Relaciones existentes entre lo deseado y lo obtenido utilizando el LMS. 1.3. El perceptrón como clasificador Gaussiano. Antes de finalizar el estudio del perceptrón vamos a estudiar un caso de inferencia estadística íntimamente ligado con el perceptrón. Sean dos clases gaussianas cuyas funciones densidad de probabilidad están definidas de la siguiente manera: & f X C (x ) = j & 1 (2π ) d 2 K 1 2 e − ( 1 & & x −m j 2 )T K −1 (x& −m& j ) j = 1,2 (42) donde m j es la esperanza de clase j y K es una matriz de covarianzas común para las dos clases. Se puede demostrar que en este caso la probabilidad a posteriori de pertenecer a la clase 1 es igual a: P (C1 x ) = & 1 & & ; a = wT x + wo ; −a 1+ e 1&T 1 & T & & & & & P(C1 ) w = K −1 (m1 − m2 ); wo = − m1 K −1m1 + m2 K −1 m2 + ln 2 2 P (C2 ) (43) Por lo tanto una función discriminante tal que minimize la probabilidad de error en la clasificación será igual a: Títol del capítol 17 1 − e−a ; g o1 (x ) = P(C1 x )− P(C 2 x ) = 2 P (C1 x ) − 1 = 1 + e −a & & & 1 ; g o 2 (x )∈ [0,+1] g o 2 (x ) = P(C1 x ) = −a 1+ e & & & & & g o1 (x )∈ [− 1,+1] (44) donde en el primer caso el umbral de decisión estará en 0 y en el segundo en ½. Como vemos la forma de la función discriminante necesaria para construir un discriminante óptimo (en el caso de dos clases gaussianas con idéntica matriz de covarianzas) es igual que la del un perceptrón con una función de activación del tipo sigmoide. En el caso de utilizar como algoritmo de entrenamiento el LMS puesto que * * dicho algoritmo construye un estimador de EY \ X y x = P X ∈ c1 x (en el caso de que y valga 1 si [ ] ( ) x∈clase 1 y valga 0 si x ∈clase 2), el perceptrón podrá ser un buen estimador del discriminante óptimo siempre que haya suficientes datos para entrenar al sistema. Referencias (Duda, 1973) Duda, R.O. & Hart, P.E. "Pattern Classification and Scene Analysis", Wiley-Interscience, 1973 (Frean, 1992) Frean, Marcus. "A Thermal Perceptron Learning Rule", Neural Computation, Vol. 4, pp. 946-957, 1992 (Kosko, 1992a) Kosko, Bart. "Neural Networks for Signal Processing", Prentice-Hall, 1992 (Minsky, 1969, 1988) Minsky, Marvin L. & Papert, Seymour A. "Perceptrons. An introduction to Computational Geometry", 1988 Expanded Edition, MIT Press, 1988 (Nilsson, 1965, 1990) Nilsson, Nils J. "The Mathematical Foundations of Learning Machines", Morgan Kaufmann, 1990