Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Redes Neuronales - Matlab PDF
Redes Neuronales - Matlab PDF
© 2006
SUB-OBJETOS
MatLab MatLab
Toolbox de Redes Neuronales Toolbox de Redes Neuronales
| Las neuronas de una capa tienen todas la misma función de
| Objeto Red Æ número de capas transferencia indicadas en:
Æ número neuronas por capa net.transferFcn (para el peceptrón hardlim)
Æ conectividad entre capas
SUB-OBJETOS | También se indica la función de entrada (el cálculo del campo local):
net.netInputFcn (para el peceptrón netsum)
inputs: {1x1 cell} # ENTRADAS
layers: {1x1 cell} # CAPAS
outputs: {1x1 cell} # SALIDAS
| Los parámetros net.inputWeights y net.layerWeights especifican la
función de entrenamiento y sus parámetros (y otras cosas).
targets: {1x1 cell} # SALIDAS DESEADAS
biases: {1x1 cell} # UMBRALES
| Se dan las funciones de inicialización, perfomance y entrenamiento y
inputWeights: {1x1 cell} # PESOS DE LA CAPA DE ENTRADA sus parámetros
layerWeights: {1x1 cell} # PESOS DE CAPAS ESCONDIDAS
functions: parameters:
adaptFcn: 'trains' adaptParam: .passes
| Distintas funciones para crear distintos tipo de Redes: newp initFcn: 'initlay' initParam: (none)
(perceptrón), newff (feed forward), newlin (neurona lineal)... performFcn: 'mae' performParam: (none)
trainFcn: 'trainc' trainParam: .epochs, .goal,
.show, .time
1
Toolbox de Redes Neuronales Toolbox de Redes Neuronales
Funciones de entrenamiento Pesos y Umbrales
| trainFcn = ‘traingd’ (demo nnd12sd1) IW: {1x1 cell} containing 1 input weight matrix
Æ función descenso por el gradiente. Se indica el número de LW: {1x1 cell} containing no layer weight matrices
épocas (epochs), cada cuántas iteraciones se muestran los b: {1x1 cell} containing 1 bias vector
resultados (show), el mínimo esperado para la función de error
(goal), el tiempo máximo (time), los gradientes máximos y | IW (i) Æ es una matriz celda bidimensional que contiene
mínimos admitidos (min_grad, max_grad) y la tasa de los pesos de las conexiones entre las entradas y la capa i.
aprendizaje (lr).
| LW (i,j) Æ contiene la matriz de pesos de las conexiones
| trainFcn = ‘traingdm’ (demo nnd12mo)
desde la capa j hacia la capa i.
Æ función descenso por el gradiente con momento. Se indica | b (i) Æ contiene los umbrales de las diferentes capas.
además el valor de momento (mc). Otra opción permite indicar
que si una nueva evaluación del error es PEOR que otra LW (2,1)
hallada según el cociente entre ambas (max_perf_inc) los
cambios en los pesos se descartan y se hace mc = 0. IW (1)
IW (2) = 0
| trainFcn = ‘traingdx’ y trainFcn = ‘traingda’ IW (3) = 0
Æ como las anteriores pero ‘lr’ va disminuyéndose si el error va LW (3,2)
empeorando de una iteración a la otra (entrena mucho más rápido).
plotpc(Pesos, Umbrales)
Salida obtenida
Traza la recta de discriminación. para esa Entrada
2
Ejemplo: Backpropagation PREPARACIÓN
Función lógica XOR DE LOS DATOS
P Æ Entradas para entrenamiento P = [0 1 0 1 DOS VECTORES DE DATOS:
0 0 1 1] x1 = [0.1 1000 50]
T Æ Salidas Deseadas T = [0 1 1 0]
x2 = [0.3 1100 51]
net = newff([0 1; 0 1],[2 1],{'logsig','logsig'}); La tercera dimensión tiene una diferencia del 2 %.
PREPARACIÓN PREPARACIÓN
DE LOS DATOS DE LOS DATOS
LOS DOS VECTORES DE DATOS EN EL NUEVO RANGO:
| Supongamos que los rangos de las dimensiones son los
x1 = [-0.8000 0 0]
siguientes:
rangos = [1 2000 100 x2 = [-0.4000 0.1000 0.0200]
0 0 0] La tercera dimensión tiene una diferencia del 0.02 %.
La segunda dimensión tiene una diferencia del 1 %.
| Si cambiamos la escala de las variables, podemos pasar a
todos los diferentes rangos al rango [-1, 1] mediante una La primera dimensión tiene una diferencia del 100 %.
función lineal.
DISTANCIA EUCLIDEANA ENTRE AMBOS:
Rangos [0, 1] Æ [-1, +1]
[0, 2000] Æ [-1, +1] DISTANCIA = sqrt(sum((x1-x2).^2)) = 0.4128
[0, 100] Æ [-1, +1]
¡¡ Ahora la mayor diferencia es la que da la distancia !!
PREPARACIÓN PREPARACIÓN
DE LOS DATOS DE LOS DATOS
NORMALIZAR Æ modificar los datos originales a través de “ESTANDARIZACIÓN” DE LOS DATOS
transformaciones tales que queden en un rango específico. MEDIA = 0 y DESVIACIÓN STANDARD = 1
NORMALIZACIÓN LINEAL AL RANGO [-1, +1] [Pn, meanp, stdp, Tn, meant, stdt] = prestd(P, T)
[Pn, minp, maxp, Tn, mint, maxt] = premnmx(P, T);
Datos “estandarizados”. Datos originales.
DESNORMALIZACIÓN DES-ESTANDARIZACIÓN
[P, T] = postmnmx(PN, minp, maxp, TN, mint, maxt); [P, T] = poststd(PN, meanp, stdp, TN, meant, stdt);
3
Ejemplo: RECONOCIMIENTO Ejemplo: PREDICCIÓN DE LA
DE CARACTERES ESCRITOS DEMANDA ELÉCTRICA (1/4)
31
LRi − LPi MEDICIÓN DEL ERROR COMETIDO
∑
i =1 LRi LRi – es el valor REAL de la máxima demanda
MAPE = 100 eléctrica del día i del año 1999.
31
LPi – es el valor PREDICHO por la red de la
M = max( LRi − LPi ) máxima demanda eléctrica del día i del año 1999.
25.0
20.0
15.0
10.0
5.0 820
0.0
-5.0 800
-10.0
-15.0
780
1 16 31 46 61 76 91 106 121 136 151 166 181 196 211 226 241 256 271 286 301 316 331 346 361 760
Max load [MW]
680
Máxima Demanda
800
660
600
640
400
620
200
600
0
1 17 33 49 65 81 97 113 129 145 161 177 193 209 225 241 257 273 289 305 321 337 353
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Day
Días del año 1998
Ejemplo: PREDICCIÓN DE LA
DEMANDA ELÉCTRICA (4/4)
ENERO 1999 – RESULTADOS OBTENIDOS
CON DIVERSOS DISEÑOS DE REDES
900
850
800
MAX [MW]
750
700
650
600
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
Day
Original Chih Jen Lin David Esp Brockman Werner A Javier Marin