Vous êtes sur la page 1sur 9

4

4.1 Introduccin

El Perceptrn Simple

______________________________________________________________________

Una de las caractersticas ms significativas de las redes neuronales es su capacidad para aprender a partir de alguna fuente de informacin interactuando con su entorno. En 1958 el psiclogo Frank Ronsenblant desarroll un modelo simple de neurona basado en el modelo de McCulloch y Pitts y en una regla de aprendizaje basada en la correccin del error. A este modelo le llam Perceptrn. Una de las caractersticas que ms inters despert de este modelo fue su capacidad de aprender a reconocer patrones. El Perceptrn est constituido por conjunto de sensores de entrada que reciben los patrones de entrada a reconocer o clasificar y una neurona de salida que se ocupa de clasificar a los patrones de entrada en dos clases, segn que la salida de la misma se 1 (activada) o 0 (desactivada). Sin embargo, dicho modelo tena muchas limitaciones, como por ejemplo, no es capaz de aprender la funcin lgica XOR. Tuvieron que pasar unos aos hasta que se propusiera la regla de aprendizaje de retropropagacin del error para demostrarse que el Perceptrn multicapa es un aproximador universal.

4.2 El Perceptrn simple


Supongamos que tenemos una funcin f de Rn en {-1,1}, que aplica un patrn de entrada x = (x1,x2,,xn)T Rn en la salida deseada z {-1,1}, es decir, f(x) = z. La informacin de que disponemos sobre dicha funcin viene dada por p pares de patrones de entrenamiento {x1,z1}, {x2,z2},,{ xp,zp} donde xiRn y f (xi) = zi{-1,1}, i=1,2,,p. Dicha funcin realiza una particin en el espacio Rn de patrones de entrada; por una parte estaran los patrones con salida +1 y por otra parte los patrones con salida 1. Por lo tanto, diremos que la funcin f clasifica a los patrones de entrada en dos clases. Ejemplos de funciones f de este tipo son la funcin lgica OR o la funcin par. Ahora vamos a construir un dispositivo sencillo que aprenda dicha funcin a partir de un conjunto conocido de patrones (relaciones) de entrenamiento. Para ello vamos a utilizar una unidad de proceso bipolar que como vimos es una funcin matemtica con dominio el conjunto n-dimensional {-1,1}n y rango el conjunto {-1,1}, definida por la siguiente expresin: si w1 x 1 + w2 x2 + ... + wn xn 1 f ( x1 , x2 ,..., xn ) = (1) si w1 x 1 + w2 x2 + ... + wn xn < 1

donde los parmetros w1,w2,,wn, se llaman pesos sinpticos y son los pesos con los que se ponderan los valores de entrada x1,x2,,xn, o argumentos de la funcin; la suma ponderada u = w1 x1 + w2 x 2 + ... + wn x n se llama potencial sinptico y el parmetro se llama umbral o sesgo. Tambin se puede expresar la funcin f mediante la funcin signo, es decir, f ( x1 , x 2 ,..., x n ) = sgn(u ) siendo la funcin signo, x0 1 sgn(x) = x<0 1 y diremos que en este caso la funcin de transferencia es la funcin signo. Anlogamente, se define una unidad de proceso binaria como una funcin matemtica con dominio el conjunto n-dimensional {0,1}n y rango el conjunto {0,1}, definida por la siguiente expresin: si w1 x 1 + w2 x 2 + ... + wn x n 1 f ( x1 , x 2 ,..., x n ) = (2) si w1 x 1 + w2 x 2 + ... + wn x n < 0

x1

x2

x3
Figura 1. Unidad de proceso bipolar.

Cuando la salida de la unidad de proceso es igual a 1 se dice que dicha unidad de proceso est activada o encendida y presenta el estado 1, mientras que si su salida es igual a cero se dice que est desactivada o apagada, presentando el estado 0. Funcin signo 1 x -1 f(x)

Funcin paso o De Heaviside 1

f(x)

Figura 2. Funciones de transferencia.

Para la determinacin de los pesos sinpticos y del umbral vamos a seguir un proceso adaptativo que consiste en comenzar con unos valores iniciales aleatorios e ir modificndolos iterativamente cuando la salida de la unidad no coincide con la salida deseada. La regla que vamos a seguir para modificar los pesos sinpticos se conoce con el nombre de regla de aprendizaje del Perceptrn simple y viene dada por la expresin: w j (k +1) = w j (k ) + w j (k ) , k = 1,2,
siendo

w j (k ) = (k )[z (k ) y (k )]x j (k )

(3)

esto nos indica que la variacin del peso wj es proporcional al producto del error z i (k ) yi (k ) por la componente j-sima del patrn de entrada que hemos introducido en la iteracin k, es decir, x j (k ) . La constante de proporcionalidad (k) es un parmetro positivo que se llama tasa de aprendizaje puesto que cuanto mayor es ms se modifica el peso sinptico y viceversa. Es decir, es el parmetro que controla el proceso de aprendizaje. Cuando es muy pequeo la red aprende poco a poco. Cuando se toma constante en todas las iteraciones, (k ) = > 0 tendremos la regla de adaptacin con incremento fijo. Cuando la funcin de transferencia usada es la funcin signo (valores bipolares) la regla de aprendizaje se puede escribir de la forma:
w j (k ) + 2x j (k ) w j (k + 1) = w j (k ) w j (k ) 2x j (k ) si y (k ) = 1 y z (k ) = 1, si y (k ) = z (k ) si y (k ) = 1 y z (k ) = 1

Por lo tanto, esta regla de aprendizaje es un mtodo de deteccin del error y correccin. Solo aprende, es decir, modifica los pesos, cuando se equivoca. Cuando tenemos un patrn que pertenece a la primera clase (z(k)=1) y no es asignado a la misma, entonces corrige el valor del peso sinptico aadindole una cantidad proporcional al valor de entrada, es decir lo refuerza, mientras que si el patrn de entrada no pertenece a esta clase y el Perceptrn lo asigna a ella, lo que hace es debilitar el peso restndole una cantidad proporcional al patrn de entrada . No modificaremos los pesos cuando el valor deseado coincida con la salida de la red. Cmo se modifica el sesgo? De la misma manera, teniendo en cuenta que el sesgo se puede considerar como el peso sinptico correspondiente a un nuevo sensor de entrada que tiene siempre una entrada igual a xn+1=1, y como peso sinptico el valor del umbral, pues w1 x1 + w2 x2 + ... + wn xn

w1 x1 + w2 x2 + ... + wn xn + wn +1 xn +1 0

cuando wn+1= y xn+1= 1. As, la red equivalente tendra n+1 sensores, su umbral sera siempre cero, los patrones de entrada ( x1 , x 2 ,..., x n ) sern ahora ( x1 , x 2 ,..., x n ,1 ),

los pesos asociados ( w1 , w2 ,..., wn ) sern ( w1 , w2 ,..., wn , wn +1 ) con wn +1 = y la regla de aprendizaje: (k ) = (k )[z (k ) y (k )] , k=1,2, (4) A partir de ahora vamos a considerar el umbral como un peso sinptico ms.

Algoritmo de aprendizaje del Perceptrn simple

Paso 0: Inicializacin Inicializar los pesos sinpticos con nmeros aleatorios del intervalo [-1,1]. Ir al paso 1 con k=1 Paso 1: (k-sima iteracin) Calcular
n +1 y ( k ) = sgn w j x j (k ) j =1

Paso 2: Correccin de los pesos sinpticos Si z(k)y(k) modificar los pesos sinpticos segn la expresin: w j (k + 1) = w j (k ) + [z i (k ) y i (k )]x j (k ) , j = 1,2,..., n + 1 Paso 3: Parada Si no se han modificado los pesos en las ltimas p iteraciones, es decir, w j (r ) = w j (k ), j = 1,2,..., n + 1, r = k + 1,..., k + p , parar. La red se ha estabilizado. En otro caso, ir al Paso 1 con k=k+1.

Ahora surge la cuestin: Dado un conjunto de patrones de entrenamiento, puede el Perceptrn aprender a clasificarlos correctamente? Solamente si los patrones son linealmente separables. Ello reduce considerablemente el campo de aplicaciones del Perceptrn simple puesto que ni siquiera es capaz de implementar la funcin lgica XOR dada por la siguiente relacin: Entradas Salidas (1, 1) 1 (1, 1) 1 (1, 1) 1 (1,1) 1

(a)

(b)

Figura . (a) Patrones separables linealmente. (b) Patrones no separables linealmente.

Decimos que dos conjuntos de puntos A y B son linealmente separables en un espacio n-dimensional si existen n+1 nmeros reales w1 , w2 ,..., wn , , de manera que cada punto
n i =1 i i n

(x1 , x2 ,..., xn ) A satisface w x y cada punto (x1 , x2 ,..., xn ) B satisface w x < . A continuacin vamos a estudiar la convergencia del Perceptrn simple,
i =1 i i

es decir, bajo que condiciones un Perceptrn es capaz de encontrar una solucin en un nmero finito de iteraciones.

w1x1+w2x2

w1x1+w2x2<

w1x1+w2x2=
Figura . Semiespacios que define el Perceptrn.

Teorema 1 (de convergencia del Perceptrn) Si el conjunto de patrones de entrenamiento, {x1,z1}, {x2,z2},,{ xp,zp}, es linealmente separable entonces el Perceptrn simple encuentra una solucin en un nmero finito de iteraciones, es decir, consigue que la salida de la red coincida con la salida deseada para cada uno de los patrones de entrenamiento.

Demostracin: En efecto, como los patrones son linealmente separables existirn unos valores * * * w1 , w2 ,..., wn+1 tales que

w x
j =1 n * j j =1 * j

> wn+1 para los patrones de la clase 1 y


j

w x

< wn+1 para los patrones de la clase 2.

Obsrvese que wn+1 es el umbral . Supongamos que en la iteracin k la red tiene que modificar los pesos sinpticos segn la regla de aprendizaje, puesto que la salida de la red y(k) no coincide con la salida deseada z(k). Tendremos que:

(w (k + 1) w ) = (w (k ) + [z (k ) y(k )]x (k ) w )
n +1 j =1 j * 2 j n +1 j =1 j j

* 2 j

Desarrollando,
= w j (k ) w* j
j =1 n +1

+ 2 [z (k ) y (k )]
n +1 j =1

x (k )
j =1 j

n +1

+ 2 [z (k ) y (k )] w j (k ) w* x j (k ) j

(5)
= w j (k ) w* j
j =1 n +1

+ 2 [z (k ) y (k )]
n +1 j =1

x (k )
j =1 j

n +1

+
n +1 j =1

+ 2 [z (k ) y (k )]( w j (k ) x j (k )) 2 [z (k ) y (k )] w* x j (k ) j

Obsrvese que [z (k ) y (k )] w j (k ) x j (k ) < 0, puesto que si


j =1

n +1

w
j =1

n +1

(k ) x j (k ) > 0 entonces

y(k)=1 y como la salida es incorrecta tiene que ser z(k)=1, y si

w (k ) x (k ) < 0
j =1 j j

n +1

entonces y(k)=1 y como la salida es incorrecta, z(k)=1. Dicho trmino se puede escribir de la forma:
2 w j (k )x j (k )
j =1 n +1

Asimismo, el trmino

[z (k ) y(k )] w*j x j (k ) > 0


j =1

n +1

es positivo puesto que si

w x (k ) > 0 entonces la salida deseada es z(k)=1 y la salida


j =1 * j j

n +1

incorrecta de la red tiene que ser y(k)=1, y si

w x (k ) < 0
j =1 * j j

n +1

entonces z(k)=1 y la

salida incorrecta de la red tiene que ser y(k)=1. As, tambin se puede escribir de la forma:
2 w* x j (k ) j
j =1 n +1

Por lo tanto tenemos que

(w (k + 1) w ) (w (k ) w )
n +1 j =1 j * 2 j n +1 j =1 j

* 2 j

+ 4 2 x j (k ) 4 w* x j (k ) j
2 j =1 j =1

n +1

n +1

puesto que hemos prescindido de un trmino negativo en la derecha de la expresin. Sea


D(k + 1) = w j (k + 1) w* j
j =1 n +1

D(k ) = w j (k ) w* j
j =1

n +1

n+1 2 L = max x j (k ) 1 k p j =1 n +1 T = min w* x j (k ) j 1 k p j =1

entonces la expresin anterior se reduce a D(k + 1) D(k ) + 4 2 L 4T


D(k + 1) D(k ) + 4 [L T ]

Si tomamos L T < 0 , es decir,

<

T L

T L hace que D(k) disminuya al menos en la cantidad constante (L 2T ) en cada iteracin con correccin. Si el nmero de iteraciones con correccin fuese infinito entonces llegaramos al absurdo de alcanzar en una momento determinado un valor negativo del trmino D(k) que evidentemente es no negativo.

entonces D(k+1)<D(k). Esto significa que eligiendo un valor de tal que 0< <

La siguiente cuestin que vamos a abordar es estudiar cul sera el valor mejor que debemos elegir del parmetro de aprendizaje de forma que se consiga ms rpidamente la convergencia de la red. Se trata de elegir de manera que D(k+1) sea lo menor posible y as conseguir un mayor acercamiento de los pesos de la red a la solucin. Como D(k+1) es una funcin cuadrtica del parmetro solo tenemos que derivar e igualar a cero para encontrar el valor de dicho parmetro que corresponde al mnimo de la expresin D(k+1).

E ( ) = D(k + 1) = D(k ) + 4 2 x j (k ) 4 w j (k )x j (k ) 4 w* x j (k ) j
2 j =1 j =1 j =1 n +1 n +1 n +1 E ( ) 2 = 8 x j (k ) 4 w j (k )x j (k ) 4 w* x j (k ) = 0 j j =1 j =1 j =1

n +1

n +1

n +1

El valor de que verifica dicha ecuacin es

opt =

w (k )x (k ) + w x (k )
j =1 j j j =1 2 * j j

n +1

n +1

2 x j (k )
j =1

n +1

Sin embargo el segundo trmino del numerador no lo conocemos puesto que no conocemos los valores w *j . Si aproximamos dicho trmino por el anterior tenemos que un valor aproximado de la tasa de aprendizaje ptima es el siguiente:

opt

w (k )x (k )
j =1 j j

n +1

x (k )
j =1 j

n +1

Como hemos visto anteriormente,


2 w j (k ) x j (k ) = [z (k ) y (k )] w j (k ) x j (k )
j =1 j =1 n +1 n +1

y as ~ opt = [z (k ) y (k )] w j (k )x j (k )
j =1 n +1

2 x j (k )
j =1

n +1

Sustituyendo este valor del parmetro en la regla de aprendizaje (cuando y(k)z(k)) obtenemos,

w j (k + 1) = w j (k )

[z (k ) y(k )] w j (k )x j (k )
j =1

n +1

2 x j (k )
j =1

n +1

[z (k ) y(k )]x j (k )

es decir,

w j (k + 1) = w j (k ) 2

w (k )x (k )
j =1 n +1 j =1 j j

n +1

x (k )
j

x j (k )

(6)

puesto que [z(k)y(k)]2 = 4 cuando y(k)z(k). Dicha regla se conoce con el nombre de regla del Perceptrn normalizada, pues si partimos de un vector de pesos normalizado, es decir, w (k ) = 1, entonces todos los pesos que se van obteniendo segn la regla de aprendizaje se mantienen normalizados. En efecto,
w (k + 1) = w j (k + 1) 2
2 j =1 n +1

n +1 n +1 w j (k ) x j (k ) w j (k ) x j (k ) n+1 n +1 n +1 j =1 4 j =1 = w j (k ) 2 + x j ( k ) 2 2 n +1 w j (k ) x j (k ) n +1 j =1 j =1 x j (k ) 2 x j (k ) 2 i =1 j =1 j =1

= w j (k ) 2 = 1
j =1

n +1

Vous aimerez peut-être aussi