Sunteți pe pagina 1din 87

Computacion

inteligente
El perceptron
Nov 2005
2
Agenda
p
History
p
Perceptron structure
p
Perceptron as a two-class classifier
p
The Perceptron as a Logic Operator
p
Perceptron Learning
p
Perceptron Convergence Theorem
p
Examples
p
Perceptron Limitation
Historia
Nov 2005
4
Historia
p
1943El perceptron fue derivado del modelo de una

neurona biologica del cerebro por Mc Culloch

& Pitts
n
n
En principio las redes neuronales artificiales podrian
computar cualquier funcion aritmetica o logica.
n
n
La rede de McCulloch y Pitts no podian aprender.
p
p
1949 Hebb propone una ley de aprendizaje que

explicaba como una red de neuronas aprendia


Nov 2005
5
Historia
p
1957 Rosenblatt desarrolla el Perceptron, una red

neuronal en hardware para reconocimiento

de caracteres
n
n
Rosenblatt diseo el perceptron con vista a explicar y
modelar las habilidades de reconocimientos de
patrones de los sistemas visuales biologicos
n
p
1958 Rosenblatt se acredita con el algorimo de

aprendizaje del perceptron


Nov 2005
6 Perceptron elemental de
Rosenblatt
p
El problema consiste simplemente en
determinar si el patron de entrada es
una p o no
Nov 2005
7
Historia
p
1969 Minsky & Papert - limitacion del perceptron


n
El famoso problema de la XOR
n
Muerte de las ANNs
n
p
1974-1986 Diferentes personas resuelven

los problemas del perceptron:


n
n
Algoritmos para entrenar perceptrones multicapa
feedforward
n
Back-propagation del error (Rumelhart et al 1986)
n
Re-emergen las ANNs
Estructura del
perceptron
Nov 2005
9
Estructura del perceptron
Nov 2005
10
Estructura del perceptron
n
Patrones de entrada representados por el
vector x
n
n w
i
es un peso modificable asociado con la
seal de entrada x
i
n
n
La suma pesada de las entradas se aplica al
hard limiter, con un valor umbral b
El umbral b = w
0
puede verse como un peso entre la
unidad de entrada y una seal ficticia de valor x
0
= 1
Nov 2005
11
Estructura del perceptron
n
La suma pesada de las entradas se aplica al
hard limiter, el cual produce una salida
igual a
p

+1si su entrada es positiva,


n

-1si es negativa.

n
El hard limiter es, entonces

'
>

'

>

otherwise 0
0 x if 1
) x ( step
otherwise 1
0 x if 1
) x sgn(
Nov 2005
12
Estructura del perceptron
p
el hard limiter puede ser
p
n
sgn(x): la funcion signo, o, hardlims(x)
n
step(x): la funcion paso, or, hardlim(x)
p

'

>

'

>

otherwise 0
0 x if 1
) x ( step
otherwise 1
0 x if 1
) x sgn(
Matlab toolbox
Nov 2005
13 Modelo matematico del
perceptron
p
Salida de la neurona
p
p
p
p
n
Forma vectorial
1
n
i i
i
a hardlims w x b

| `
+

. ,

( )
T
a hardlims w x
b incluida
El perceptron
como un
clasificador de
dos clases
Nov 2005
15
El perceptron como un
clasificador de dos clases
p
p
El proposito del perceptron es clasificar las
entradas, x
1
, x
2
, . . ., x
n
, en una de dos
clases, digamos A
1
y A
2
.
p
p
Los patrones de entrada pertenecen a una
de dos clases.
Esto solo puede suceder cuando
ellos son linealmente separables
Nov 2005
16 El perceptron con dos
entradas
p
p
La frontera de decision
esta determinada por
1 1 2 2
0 w x w x b + +
0
T
w x
Nov 2005
17
Una frontera de decision en el
perceptron
x
1

x
2

w = (w
1
, w
2
, b)
= (1, -1, 0)
Nov 2005
18
Una frontera de decision en el
perceptron
x
1

x
2

w
T
. x = 0
=> 1. x
1
- 1. x
2
+ 0.1 = 0
=> x
1
- x
2
= 0
=> x
1
= x
2
w = (w
1
, w
2
, b)
= (1, -1, 0)
Nov 2005
19
Una frontera de decision en el
perceptron
w
T
. x = 0
=> 1. x
1
- 1. x
2
+ 0.1 = 0
=> x
1
- x
2
= 0
=> x
1
= x
2
x
1

x
2

Esta es la ecuacion para
la frontera de decision
w = (w
1
, w
2
, b)
= (1, -1, 0)
Nov 2005
20
Una frontera de decision en el
perceptron
w
T
. x = 0
x
1

x
2

w
T
. x < 0
=> x
1
- x
2
< 0
=> x
1
< x
2
Esta es la
ecuacion para
la region de
decision
region -1
w = (w
1
, w
2
, b)
= (1, -1, 0)
Nov 2005
21
Una frontera de decision en el
perceptron
w
T
. x = 0
x
1

x
2

w
T
. x > 0
=> x
1
- x
2
> 0
=> x
1
> x
2
Esta es la
ecuacion para
la region de
decision
region +1
w = (w
1
, w
2
, b)
= (1, -1, 0)
Nov 2005
22
Ejemplo numerico
p
La frontera de
decision con
1 2
1 0 p p +
1
2
1
1
1
w
w
b


Nov 2005
23 El perceptron con tres
entradas
p
p
La frontera de decision
esta determinada por
1 1 2 2 3 3
0 w x w x w x b + + +
0
T
w x
Nov 2005
24 El perceptron con n
entradas
n
En el caso de un perceptron elemental, el
espacio n-dimensional esta dividido en
dos regiones de decision por un
hiperplano.
p
n
El hiperplano esta definido por la funcion
linealmente separable:
1
0
n
i i
i
w x b

Nov 2005
25
Ejemplo: 64 entradas
-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 +1 +1 +1 +1 -1 -1
-1 -1 -1 -1 -1 +1 -1 -1
-1 -1 -1 +1 +1 +1 -1 -1
-1 -1 -1 -1 -1 +1 -1 -1
-1 -1 -1 -1 - 1 +1 -1 -1
-1 -1 +1 +1 +1 +1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1
Matriz con 64 entradas
El perceptron
como un
operador
logico
Nov 2005
27
El perceptron como un
operador
logico
p
El perceptron como una AND logica
3 b
2
2
w
]

]
]
x
1
x
2
1
1
0
1 1 1
0 1
0 1
0 0
0
0
0
x & y y x
output
inputs
Tabla de verdad
de la AND
Nov 2005
28 El perceptron como una
AND
1 1 1
0 1
0 1
0 0
0
0
0
x & y y x
output
inputs
Truth Table for
Logical AND
2x+2y-3
1 -3
y +2
x +2
if sum < 0 : 0
else : 1
e
n
t
r
a
d
a
s
p
e
s
o
s
suma
salida
Nov 2005
29 The Perceptron as a Logic
Operator
p
The Perceptron as a Logic OR
1 b
2
2
w
]

]
]
x
1
x
2
1
1
0
1 1 1
0 1
0 1
0 0
1
1
0
x | y y x
output
inputs
Tabla de verdad
de la AND
Nov 2005
30
El perceptron como una OR
1 1 1
0 1
0 1
0 0
1
1
0
x | y y x
output
inputs
Tabla de verdad
de la OR
2x+2y-1
1 -1
y +2
x +2
if sum < 0 : 0
else : 1
e
n
t
r
a
d
a
p
e
s
o
s
suma
salida
Nov 2005
31
El perceptron como un
operador
logico
p
Ejercicio
p
p
Demuestre que una neurona perceptron
con los siguientes pesos y polarizacion
implementa una compuerta OR
1
2
b
1
1
w
]

]
]
Aprendizaje en el
perceptron
Nov 2005
33 Aprendizaje en las NNs
naturales
p
Al nivel neuronal el aprendizaje ocurre por
n
n
Cambio en los pesos sinapticos,
n
Eliminacion de algunas sinapsis, y
construccion de nuevas.
n
p
Este procedimiento es llamado la regla de
aprendizaje
Nov 2005
34 Aprendizaje en las NNs
artificiales
p
Por regla de aprendizaje entendemos un
procedimiento para modificar los pesos
de una red.
p
p
p
p
p
El proposito de la regla de aprendizaje es
entrenar la red para que ejecute una
tarea.
Este procedimiento se denomina
tambien algoritmo de entrenamiento
Nov 2005
35
Paradigmas de aprendizaje
p
Aprendizaje supervisado

p
p
Aprendizaje no supervisado

p
p
Aprendizaje por reforzamiento

Classificacion

Control

Aproximacion
de
funciones

Memorias
Asociativas
p
p

Clustering
p
p

Control
Nov 2005
36
Aprendizaje supervisado
p
A la regla de aprendizaje se le proporciona
p
p
un conjunto de ejemplos (el conjunto de
entrenamiento) de la conducta apropiada
de la red
p
p
p
p

x
k
: Entrada a la red

t
k
: Salida correcta (target)
{ { {
1 1 2 2
, , , , , ,
N N
x t x t x t L
Nov 2005
37
Aprendizaje supervisado
p
Las entradas se aplican a la red, las
salidas de la red se comparan con la
salidas correctas (targets)
p
p
p
p

a
k
: Salida de la red

t
k
: Salida correcta (target)
k k k
error e a t
Nov 2005
38
Aprendizaje supervisado
p
La regla de aprendizaje se usa para ajustar
los pesos de la red para mover las salidas
de la red hacia las salidas correctas
(targets).
p
p
p
p
n
w
new
: Pesos actualizados
n
w
old
: Pesos iniciales
new old
w w w +
Los pesos se
ajustan de acuerdo
al error
Nov 2005
39
Aprendizaje supervisado
new old
w w w +
Los pesos se
ajustan de acuerdo
al error
Nov 2005
40 Entrenamiento del
perceptron
p
Como se puede entrenar una perceptron
para una tarea de clasificacion?
p
n
Tratamos de hallar los valores de los pesos
de tal manera que los ejemplos de
entrenamiento sean clasificados
correctamente.
p
n
Geometricamente, tratamos de hallar un
hiper-plano que separe los ejemplos en
dos clases
Nov 2005
41 Entrenamiento del
perceptron
p
Rosenblatt (1958) propone un algoritmo de
aprendizaje para las redes neuronales
artificiales
n
n
Comenzar con un conjunto de entrenamiento
(ejemplos de entradas y salidas deseadas
correspondientes)
n
n
Entrenar la red para que reconozca los ejemplos en
el conjunto de entrenamiento (ajustando los
pesos)
n
n
Una vez entrenada, la red puede ser aplicada a
ejemplos nuevos
p
Nov 2005
42
Algoritmo de aprendizaje del
perceptron
1. Inicializar los pesos con valores aleatorios.
2.
3. Iterar por el conjunto de entrenamiento, comparando la
salida de la red con la salida deseada para cada ejemplo.
4.
5. Si todos los ejemplos son clasificados correctamente,
PARAR.
6.
7. Si no, actualizar los pesos para cada ejemplo incorrect:
8.

Si salida = -1, pero deberia ser 1


p

Si salida = 1 pero deberia ser -1


9.
10.Volver al PASO 2
Nov 2005
43
Variables y parametros
p
Conjunto de entrenamiento S de ejemplos {x,t}

n
x es el vector de entrada
n
t la salida deseada
p
p
Ejemplo: La AND
n
n
S = {(0,0),0}, {(0,1),0}, {(1,0),0}, {(1,1),1}
Nov 2005
44
Variables y parametros
p
Variables y parametros en la iteracion k del algoritmo de
aprendizaje:
p
p
vector de entrada: x(k) = [+1, x
1
(k), x
2
(k), , x
m
(k)]
T

p
Vector de pesos:w(k) = [b(k), w
1
(k), w
2
(k), , w
m
(k)]
T

p
polarizacion: b(k)
p
p
respuesta de la red: y(k)
p
p
respuesta deseada: t(k)
p
p
Velocidad de aprendizaje: > 0
Nov 2005
45 Regla de aprendizaje del
perceptron
p
Si en la iteracion k, la salida de la red es y(k) y la salida
deseada es t(k), entonces el error esta dado por:
p
p
p
p
p
p
donde k = 1, 2, 3, . . .
p
p
p
La iteracion k se refiere aqui al k-esimo ejemplo de
entrenamiento presentado al perceptron.
( ) ( ) ( )
e k t k y k
Nov 2005
46 Regla de aprendizaje del
perceptron
p
Regla de aprendizaje del perceptron
( ) ( ) ( ) ( )
1 w k w k e k x k + +
( ) ( ) ( )
e k t k y k
p
Si el error, e(k), es positivo, se necesita
incrementar la salida del perceptron y(k), pero si
es negativo, se necesita decrementar y(k).
Nov 2005
47
Algoritmo de entrenamiento
p
Paso 1: Inicializacion
n
n
Seleccionar los pesos iniciales w
1
, w
2
,, w
m
y la
polarizacion b con numeros aleatorios.
p
p
Paso 2: Activacion
n
n
Presentar las entradas al perceptron x
1
(k), x
2
(k),,
x
m
(k). Calcular la salida de la red en la iteracion k =
1
( ) ( ) ( )
1
sgn
m
i i
i
y k x k w k b

]
+
]
]

Nov 2005
48
Algoritmo de entrenamiento
p
Paso 3: Actualizacion de los pesos
n
n
Actualizar los pesos del perceptron
n
p
p
p
p
Paso 4: Iteracion
n
n
Incrementar k en uno, volver al Paso 2 y repetir el
proceso hasta la convergencia.
( ) ( ) ( ) ( )
1 w k w k e k x k + +
( ) ( ) ( )
e k t k y k
Teorema de la
convergencia del
perceptron
Nov 2005
50
Teorema de la convergencia
p
El algoritmo de aprendizaje siempre
encontrara los pesos que clasifiquen las
entradas, si tales pesos existen.
p
Razon clave para el interes en el perceptron
x
1
x
2
0
0
1
1
1
0
1
& Minsky Papert demostraron que tales
pesos existen si y solamente si el
problema es linealmente separable
Nov 2005
51
Teorema de la convergencia
p
Teorema
p
p
Suponga que las clases C
1
, C
2
son linealmente separables.
p
p
Entonces, el algoritmo del perceptron aplicado a C
1
C
2
termina
con exito despues de un numero finito de iteraciones.
p
p
Esto es:
n
Existe un numero entero N tal que para todo k N, el
error e(k) = 0, y entonces
( ) ( )
1 w k w k +
Nov 2005
52
Teorema de la convergencia
p
Prueba:
n
p
Por simplicidad asumimos
n
n
w(1) = 0, = 1.
n
n
Y el contador de iteraciones k cuenta solamente los
pasos en los que se corrige el vector de pesos
Nov 2005
53
Teorema de la convergencia
n
Entonces
p
p
p
p
n
n
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
2 1 1 1
3 2 2 2
1
w w e x
w w e x
w k w k e k x k
+
+
+ +
( ) ( ) ( ) ( ) ( ) ( ) ( )
1 1 1 2 2 w k e x e x e k x k + + + + L
Prueba:
Nov 2005
54
Teorema de la convergencia
n
Ya que C
1
y C
2
son linealmente separables
entonces existe w* tal que clasifica
correctamente a todos los vectores de
entrada, x C.
n
n
n
n
Sea
( ) ( ) ( )
1
1
k
T T
j
w w k e j w x j

1
2
0
0
T
T
x C w x
x C w x

>
<
Prueba:
Nov 2005
55
Teorema de la convergencia
n
Ya que todos los vectores de entrada x(j)
han sido clasificados incorrectamente,
n
n
n

es estrictamente positivo.
( ) ( )
T
e j w x j

n
Si
n
n
n
n
Entonces
e(j)>0
( )
0
T
w x j

>
n
Si
n
n
n
n
Entonces e(j)<0
( )
0
T
w x j

<
( ) ( ) ( )
e k t k y k
Prueba:
Nov 2005
56
Teorema de la convergencia
n
Tenemos entonces
( ) ( ) ( )
1
1 0
k
T T
j
w w k e j w x j

+ >

( )
1
T
w w k ka

+ >
( ) ( )
( )
min
T
j
a e j w x j

Prueba:
Nov 2005
57
Teorema de la convergencia
n
Por la desigualdad de Cauchy-Schwarz
( )
( )
2
2
2
1
1
T
w w k
w k
w

+
+
( )
( )
2
2
2
1
ka
w k
w

+
Prueba:
Nov 2005
58
Teorema de la convergencia
n
Consideremos ahora otro camino:
( ) ( )
2 2
1 w j w j Q + +
( ) ( ) ( ) ( ) ( ) ( ) ( )
2 2 2
1 2
T
w j w j e j x j e j w j x j + + +
( ) ( )
2
max
j
Q e j x j
( ) ( ) ( )
0
T
e j w j x j <
Los vectores x(j) son
clasificados incorrectamente
Prueba:
Nov 2005
59
Teorema de la convergencia
n
Entonces
( )
2
1 w k Qk +
( )
( )
2
2
2
1
ka
Qk w k
w

+
2
2
1
ka
Q w

Prueba:
Nov 2005
60
Teorema de la convergencia
n
Por lo tanto k no puede ser mayor que k
max

tal que:
n
n
n
n
n
n
Entonces el algoritmo termina con exito al
menos en k
max
iteraciones
2
max
2
Q w
k
a

Prueba:
Nov 2005
61
observaciones
p
El algorimo converge a la clasificacion
correcta
n
n
si los datos de entrenamiento son
linealmente separables
n
y la velocidad de aprendizaje es lo
suficientemente pequea
n
p
La Soluion w* no es unica, ya que si w*
T
x
=0 define un hiper-plano, tambien lo
hace w* = w*.
Ejemplos
Nov 2005
63
Aprendizaje del perceptron
t=1
t=-1
w=[0.25 0.1 0.5]
x
2
= 0.2 x
1
0.5
o=1
o=-1
(x,t)=([-1,-1],1)
o=sgn(0.25+0.1-0.5)
=-1
w=[0.2 0.2 0.2]
(x,t)=([2,1],-1)
o=sgn(0.45-0.6+0.3)
=1
w=[-0.2 0.4 0.2]
(x,t)=([1,1],1)
o=sgn(0.25-0.7+0.1)
=-1
w=[0.2 0.2 0.2]
Nov 2005
64
Otro ejemplo
-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 +1 +1 +1 +1 -1 -1
-1 -1 -1 -1 -1 +1 -1 -1
-1 -1 -1 +1 +1 +1 -1 -1
-1 -1 -1 -1 -1 +1 -1 -1
-1 -1 -1 -1 - 1 +1 -1 -1
-1 -1 +1 +1 +1 +1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1
Como entrenar al perceptron para reconocer este 3?
Nov 2005
65
Otro ejemplo
p
Como entrenar al perceptron para reconocer
este 3?
p
p
Asignar
n
1 a los pesos con valores de entrada que son
iguales a 1,
n
+1 a los pesos con valores de entrada que son
iguales a +1, y
n
63 a la polarizacion.
n
p
La salida del perceptron sera 1 cuando se le
presente un tres perfecto, y al menos 1 para
cualquier otro patron.
Nov 2005
66
Otro ejemplo
-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 +1 +1 +1 +1 -1 -1
-1 -1 -1 -1 -1 +1 -1 -1
-1 -1 -1 +1 +1 +1 -1 -1
-1 +1 -1 -1 -1 +1 -1 -1
-1 -1 -1 -1 - 1 +1 -1 -1
-1 -1 +1 +1 +1 +1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1
Que pasa si el 3 a ser reconocido es ligeramente diferente?
Nov 2005
67
Otro ejemplo
p
Que pasa si el 3 a ser reconocido es ligeramente
diferente?
p
n
El 3 original con un bit corrupto produce una suma
igual a 1.
n
n
Si la polarizacion se hace igual a 61 entonces
tambien este 3 corrupto sera reconocido, asi como
todos los patrones con un bit corrupto.
n
p
El sistema es capaz de generalizar al considerar
solo un ejemplo de patron corrupto!
Limitacion del
perceptron
Nov 2005
69
Limitaciones
p
p
Se garantiza la convergencia de la regla
de aprendizaje del perceptron a una
solucion en un numero finito de pasos,
siempre que exista una solucion.
p
p
Las dos clases deben ser linealmente
separables.
p
Nov 2005
70
Limitaciones
p
Problemas no linealmente separables
Trate de dibujar una linea recta entre vectores de dos clases
Nov 2005
71
El problema de la OR exclusiva
(XOR)
p
Proposito: clasificar un vector binario de
entrada en la clase 0 si el vector tiene
un numero par de 1s o 0s, en caso
contrario asignarlo a la clase 1
X Y Clase
Par deseado i/o 1 0 0 0
Par deseado i/o 2 0 1 1
Par deseado i/o 3 1 0 1
Par deseado i/o 4 1 1 0
Nov 2005
72
Objecion de Minsky-Papert
i
2
i
1
1
?
La simple operacion de la
OR exclusive (XOR)
no puede ser resuelta
usando un perceptron lineal
con polarizacion.

Por lo tanto, probablemente


problemas mas importantes
no pueden ser resueltos con
el perceptron lineal.
Nov 2005
73
El problema XOR resuelto
p
El problema de la XOR puede ser resuelto
usando un perceptron de dos capas
neurona 2
neurona 3
neurona 1
x
2
x
1
Nov 2005
74
El problema XOR resuelto
p
El problema de la XOR puede ser resuelto
usando un perceptron de dos capas
1
1
1
1
1
-2
-1
0.5
0.5
-1
1.5
-1
(
)
(
)
(
)
Nov 2005
75
1 2 1
1 2 1
3
1
2
3
0
2
Neurona 1.
x x y
x x y
+
+ <
x
2
O
1
x
1
1
1
1.5
-1
(
)
x
1
x
2
y
1
1 1 1
1 0 0
0 1 0
0 0 0


Nov 2005
76
1 2 2
1 2 2
0.5 1
0.5 0
Neurona 2.
x x y
x x y
+
+ <
x
2
O
1
x
1
1
1
0.5
(
)
x
1
x
2
y
2
1 1 1
1 0 1
0 1 1
0 0 0


Nov 2005
77
El problema XOR resuelto
1
-2
-1
0.5
(
)

3
1 2 3
1 2 3
2 0.5 1
2 0.5 0
Neurona 3.
y y y
y y y
+
+ <
y
1
y
2
y
3
1 1 0
1 0 0
0 1 1
0 0 0


Nov 2005
78
y
1
y
2
y
3
1 1 0
1 0 0
0 1 1
0 0 0


x
1
x
2
y
1
1 1 1
1 0 0
0 1 0
0 0 0


x
1
x
2
y
2
1 1 1
1 0 1
0 1 1
0 0 0


x
2
O
1
x
1
x
2
O
1
x
1
La neurona 3 realiza la
operacin XOR.
x
2
O
1
x
1
1
O
O
O
1
Neurona 1 Neurona 2
1 2 3
1 2 3
2 0.5 1
2 0.5 0
Neurona 3.
y y y
y y y
+
+ <
Nov 2005
79
El problema XOR resuelto
p
Conclusion:
p
p
Por medio de estructuras multicapas es
posible clasificar problemas que no son
linealmente separables
El perceptron:
ejemplo en
MATLAB
Nov 2005
81
Ejemplo en MATLAB
p
PART 1: Generation of the training and
validation sets
p
= * ( - , * )- ; X 2 rand p 1 2 N 1
% Una matriz (p 1) 2N de numeros
aleatorios uniformemente distribuidos
en el intervalo [1, +1]
= ( * ); nn randperm 2 N
= ( : ); nn nn 1 N
(:, ) = ( (:, )); X nn sin X nn
% Se colorean las columnas de la
matriz X indicadas por nn
= [ ; ( , * )]; X X ones 1 2 N
% Al final de cada vector de entrada se
agrega un 1 para implementar la
polarizacion
Nov 2005
82
Ejemplo en MATLAB
p
PARTE 1: Generacion de los conjuntos de
entrenamiento y validacion
p
p
= * ( , )- ; wht 3 rand 1 p 1
= / ( ); wht wht norm wht
% Este es un vector unitario ortogonal
al plano de separacion aumentado. Es
tambien el vector de pesos a encontrar
(target).
= ( * >= ); D wht X 0
% La clasficacion para cada punto del
espacio de entrada con respecto al
numero de la clase, 0 or 1.
Nov 2005
83
Ejemplo en MATLAB
p
PARTE 2: Visualisacion de los patrones de
entrada-salida.
= [ , ]; = ( , :); pr 1 3 Xp X pr
= ([ ]); wp wht pr p % projeccion del vector de pesos
= ( == ); = ( == ); c0 find D 0 c1 find D 1
( ( , ), ( , ), plot Xp 1 c0 Xp 2 c0 o , ( , ), ( , ), Xp 1 c1 Xp 2 c1 x )
% El espacio de entrada es de dimension p, por lo tanto dificil
de visualizar. Entonce, se dibujan proyecciones de los
patrones de entrada en un plano 2D, digamos el plano (x1
x3).
Nov 2005
84
Ejemplo en MATLAB
p
PARTE 3: Aprendizaje
p
p
C = 50;
E = [C+1, zeros(1,C)];
WW = zeros(C*N,p);
c = 1 ;
cw = 0 ;
% Maximo numero de epocas de entrenamiento
% Inicializacion del vector de la suma total de
errores al cuadrado en una epoca.
% La matriz WW almacenara los vectores de
pesos wh.
% c es un contador de epocas
% cw contador de actualizaciones de pesos total
Nov 2005
85
Ejemplo en MATLAB: Aprendizaje
while (E(c)>1)|(c==1)
c = c+1 ;
% El lazo interno prueba todos los ejemplos de entrenamiento.
for n = 1:N
eps = D(n) - ((wh*X(:,n)) >= 0); % e(n) = d(n) y(n)
wh = wh + eta*eps*X(:,n); % La ley de aprendizaje
cw = cw + 1;
WW(cw,:)=wh/norm(wh); % El vector de pesos normalizado
se almacena en WW para graficar
el desempeo
E(c) = E(c) + abs(eps); % |e| = e^2
end;
Nov 2005
86
Fuentes
p
Martin Hagan, Neural Network Design Demonstrations.
PWS Publishing Company. 1994
p
Heikki Koivo, Neuro-Fuzzy Computing in Automation,
course material. Control Engineering Laboratory. Helsinki
University of Technology. Spring 2002.
p
Jeen-Shing Wang, Course: Introduction to Neural
Networks. Lecture notes. Department of Electrical
Engineering. National Cheng Kung University. Fall, 2005
p
Wen Yu, Advanced Fuzzy neural networks. Lecture notes.
Departamento de Control Automatico. CINVESTAV-IPN.
2005
p
Andrew P. Paplinski, CSE5301 Neuro-Fuzzy Computing
(Neural Networks and Fuzzy Systems). Lecture Notes.
Monash University, Australia. 1 June 2005.
Nov 2005
87
Sources
p
J-Shing Roger Jang, Chuen-Tsai Sun and Eiji Mizutani,
Slides for Ch. 5 of Neuro-Fuzzy and Soft Computing: A
Computational Approach to Learning and Machine
Intelligence, First Edition, Prentice Hall, 1997.
p
Djamel Bouchaffra. Soft Computing. Course materials.
Oakland University. Fall 2005
p
Lucidi delle lezioni, Soft Computing. Materiale Didattico.
Dipartimento di Elettronica e Informazione. Politecnico di
Milano. 2004
p
Handbook of Neural Computation. release 97/1. IOP
Publishing Ltd and Oxford University Press. 1997
p
A. S. Hodel, Neural Networks, notes of ELEC 6240 course.
Dept. ECE, Auburn University. November 19, 2003.

S-ar putea să vă placă și