Professional Documents
Culture Documents
Se expone una gua detallada para crear una red Perceptron Multicapa con Retropropagacion para resolver el pro-
blema de identificacion de cancer cerebral, combinados con tecnicas de agrupamiento difuso como Fuzzy C-mean. El
documento contiene toda la formulacion matematica, graficos por etapa y codigo en Matlab.
1. La siguiente red neuronal esta disenada para resolver el problema de clasificacion de la com-
puerta XOR. Como mnimo necesitamos dos neurodos en la capa oculta hidden layer, una
neurona en la capa de salida output layer, y evidentemente dos entradas. La funcion de acti-
vacion es una funcion sigmoidea (ver Figura 1).
Figura 1: Modelo base de Red Neuronal Perceptron Multicapa. a)Red Perceptron multicapa. b)
Funcion sigmoidea
Diseno de la red
2. Para cada entrada de la red neuronal (ver Figura 2). hay asociado un peso, este peso conecta la
entrada con la capa oculta y es denominado Wh (j, i) sus dimensiones corresponden al numero
de neurodos por fila y al numero de entradas por columna. Para cada neurona de la capa
oculta hay un Bias y un peso asociado denominado W bh (j, 1) sus dimensiones corresponden
al numero de neurodos de la capa oculta por fila y una sola columna. Para cada neurona de la
capa de salida existe un peso asociado denominado Wo (t, j) donde t es el numero de neurodos
en la capa de salida. Finalmente hay un Bias y un peso asociado denominado W bo (t, 1) sus
dimensiones corresponden al numero de neurodos de salida por fila y una sola columna. (ver
Figura 3).
No X
salidas
In H(j) = W hji Entradai + BiasW bhj (1)
i=1
1
I(j) = (2)
1 + eIn H(j)
El codigo en Matlab que se encarga de realizar esta operacion se muestra en la Figura 4
Figura 4: Codigo en Matlab para determinar el valor de salida despues de la capa oculta
N eurodos
X
In O(k) = W hkj Ij + BiasW bok (3)
j=1
1
O(k) = (4)
1+ eIn O(k)
5. El error entre el resultado esperado y lo que obtuvimos con los pesos iniciales de la red se
define por el error cuadratico medio como sigue:
No X
Salidas
1
E= (Out(k) O(k))2 (5)
2
k=1
El objetivo es actualizar los pesos de la capa de salida y la capa oculta respecto al error medio
cuadratico, por esta razon se deriva el error respecto a los pesos de salida W o:
E O(k)
= (Out(k) O(k))( ) (6)
W o W o
Donde
O 1
= ( ) (7)
Wo W o 1 + eIn O(k)
1 eIn O(k)
( ) = (8)
W o 1 + eIn O(k) (1 + eIn O(k)) )2
eIn O(k) 1 1
= (1 ) (9)
(1 + eIn O(k) )2 1 + eIn O(k) 1 + eIn O(k)
E
= (Out(k) O(k))(O(k)(1 O(k))) I(j) (10)
W o
No X
salidas
E
= (I(j)(1I(j)))Entrada(i) (Out(k)O(k))(O(k)(1O(k)))W o(j) (12)
W h
k=1
simplificando
No X
salidas
E
= (I(j)(1 I(j))) Entrada(i) o (K) W o(j) (13)
W h
k=1
No X
salidas
h (j) = (I(j)(1 I(j))) o (K) W o(j) (14)
k=1
Actualizacion de pesos
Consideraciones importantes
7. Se deben crear dos funciones, la primera funcion se usa para el calculo de los pesos de la red,
denominada entrenamiento tiene los siguientes parametros:
f unction [Wh Wb h Wo Wb o] = P erceptroT raining(Entrada, Salida, N eurodos, Epocas, Bias)
Recuerde realizar
La segunda funcion sirve para probar con un dato de entrada y los pesos precalculados, la
salida esperada, la estructura es:
f unction Y = P erceptronT esting(In, W h, W bh, W o, W bo, bias)
La funcion de pruebas completa se muestra en la figura 8.