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