Retropropagando recuerdos

Dados los siguientes patrones:

  • Normalizar la imagen hasta obtner una imagen de tamaño 25 * 25 (Utilice la técnica de normalización de Güdsen).
  • Extraer un vector de características apropiado para cada patrón de acuerdo con la siguiente arquitectura neuronal:
    • Capa neuronal de entrada: 25 neurones
    • Capa neuronal de escondida 1: 4 neurones
    • Capa neuronal de escondida 4: 3 neurones
    • Capa neuronal de salida: 6 neurones
  • Hacer una barrida empleando el algoritmo de retropropagación como el algoritmo de entrenamiento, reportando el error total por cada barrida y teniendo en cuenta las siguientes cuestiones:
    • Las salidas deseadas para cada patrón son las siguienes:
      • D1 = {1, 0, 0, 0}
      • D2 = {0, 1, 0, 1}
    • Emplear un coeficiente de aprendizaje de 0.6

Binarización

Binarización

Normalización

Algoritmo de Güdsen por columnas, WB=25

Algoritmo de Gudsen por columnas

Algoritmo de Güdsen por renglones, WB = 25

Algoritmo de Guden por renglones

Algoritmo de Güdsen para el logo 1

Este algoritmo no se realizé para los primeros 7 renglones ya que el resultado es cero. Para el renglón 8 del logo 1:

Paso 1. Definir tamaño de la imagen original (WA) y tamaño deseado de la imagen (WB) tanto para renglones como para columnas.

Tamaño original

Tamaño deseado

WA = 65 renglones

WA = 80 columnas

WB = 25 renglones

WB = 25 columnas

Paso 2. Para cada renglón:

  • Copiar el bit (i,j) y repetirlo WB veces. Para nuestro caso WB = 25, por lo tanto, cada bit se repite 25 veces.
  • Hacer grupos de WA porciones. Para nuestro caso WA = 65, por lo tanto, se hacen grupos de 65 porciones.
  • Sumar el contenido de tales grupos. Número de grupos = 30 

Grupos

Grupo

Suma

Grupo 1

0

Grupo 2

0

Grupo 3

0

Grupo 4

0

Grupo 5

0

Grupo 6

0

Grupo 7

0

Grupo 8

0

Grupo 9

0

Grupo 10

0

Grupo 11

0

Grupo 12

0

Grupo 13

0

Grupo 14

0

Grupo 15

0

Grupo 16

0

Grupo 17

0

Grupo 18

0

Grupo 19

0

Grupo 20

0

Grupo 21

0

Grupo 22

10

Grupo 23

65

Grupo 24

0

Grupo 25

0

Grupo 26

0

Grupo 27

0

Grupo 28

0

Grupo 29

0

Grupo 30

0

 

  • Comparar cada suma con el umbral. Si la Suma > umbral entonces corresponde en el resultado un ‘1’, en caso contrario corresponde un ‘0’. 

Grupo

Suma

WA * umbral

(65 * O.5)

Resultado

Grupo 1

0

32.5

0

Grupo 2

0

32.5

0

Grupo 3

0

32.5

0

Grupo 4

0

32.5

0

Grupo 5

0

32.5

0

Grupo 6

0

32.5

0

Grupo 7

0

32.5

0

Grupo 8

0

32.5

0

Grupo 9

0

32.5

0

Grupo 10

0

32.5

0

Grupo 11

0

32.5

0

Grupo 12

0

32.5

0

Grupo 13

0

32.5

0

Grupo 14

0

32.5

0

Grupo 15

0

32.5

0

Grupo 16

0

32.5

0

Grupo 17

0

32.5

0

Grupo 18

0

32.5

0

Grupo 19

0

32.5

0

Grupo 20

0

32.5

0

Grupo 21

0

32.5

0

Grupo 22

10

32.5

0

Grupo 23

65

32.5

1

Grupo 24

0

32.5

0

Grupo 25

0

32.5

0

Grupo 26

0

32.5

0

Grupo 27

0

32.5

0

Grupo 28

0

32.5

0

Grupo 29

0

32.5

0

Grupo 30

0

32.5

0

 

Todo este proceso se repite para cada uno de los renglones de la imagen binarizada. Una vez que se tenga la imagen normalizada por renglones se aplica nuevamente el argoritmo de Güdsen pero ahora para columnas, hasta obtener una imagen normalizada de tamaño 25 * 25.

 

 

Vector de características: 0.0000, 0.080000, 0.040000, 0.080000, 0.360000, 0.120000, 0.080000, 0.040000, 0.080000, 0.120000, 0.120000, 0.120000, 0.240000, 0.160000, 0.160000, 0.080000, 0.040000, 0.160000, 0.040000, 0.080000, 0.040000, 0.000000, 0.000000, 0.000000, 0.000000

 

Backpropagation: Entrenamiento por pasos

 

Vector de entrada:

0.000000, 0.080000, 0.040000, 0.080000, 0.360000, 0.120000, 0.080000, 0.040000, 0.080000, 0.120000, 0.120000, 0.120000, 0.240000, 0.160000, 0.160000, 0.080000, 0.040000, 0.160000, 0.040000, 0.080000, 0.040000, 0.000000, 0.000000, 0.000000, 0.000000

 

Target: 1 0 0 0 0 0

 

Pesos W1:

0.310000, 0.100000, 0.450000, -0.040000, 0.240000, 0.170000, -0.410000, 0.360000, -0.030000, 0.150000, 0.400000, 0.340000, 0.100000, 0.340000, -0.490000, -0.490000, -0.340000, -0.490000, 0.290000, -0.200000, 0.100000, 0.180000, 0.360000, -0.440000, 0.260000, 0.300000, 0.370000, -0.350000, -0.170000, -0.040000, 0.480000, -0.370000, -0.010000, 0.220000,             -0.290000, -0.090000, 0.240000, 0.400000, 0.160000, -0.330000, 0.050000, -0.300000, -0.020000, -0.320000, -0.320000, 0.470000, -0.200000, -0.250000, -0.040000, 0.280000, 0.360000, 0.250000, 0.250000, 0.260000, 0.340000, 0.090000, -0.220000, 0.240000, -0.320000, -0.120000, 0.080000, -0.480000, 0.220000, -0.080000, 0.090000, -0.200000, 0.330000, 0.250000, -0.120000, -0.200000, -0.380000, 0.210000, -0.090000, 0.080000, -0.480000, -0.190000, -0.450000, -0.110000, 0.460000, -0.340000, -0.410000, 0.200000, 0.160000, -0.360000, -0.490000, -0.360000, 0.240000, -0.480000, -0.380000, -0.480000, 0.020000, -0.330000, -0.350000, 0.270000, -0.070000, 0.000000, 0.030000, 0.340000, -0.430000, -0.250000, -0.430000, -0.250000, 0.470000, -0.120000

 

Net Hidden:

-0.574800, -0.178400, 0.663600, -0.356400

 

Out Hidden:

0.360130, 0.455518, 0.660069, 0.411831

 

Pesos W2:

0.110000, -0.440000, -0.090000, 0.010000, 0.350000, -0.240000, 0.160000, -0.320000, 0.300000, 0.100000, -0.310000, -0.370000, -0.120000, 0.070000, 0.260000

 

Net2 Hidden:

0.070964, -0.267916, 0.163907

 

Out2 Hidden:

0.517733, 0.433419, 0.540885

 

Pesos W3:

0.350000, 0.260000, -0.340000, -0.400000, -0.080000, 0.100000, -0.320000, 0.470000, 0.480000, 0.330000, -0.430000, -0.290000, -0.130000, 0.390000, 0.220000, -0.220000, 0.390000, -0.240000, 0.070000, 0.150000, 0.110000, 0.040000, 0.000000, 0.190000

 

Net Output:

0.042198, 0.699263, 0.261006, -0.143060, -0.016844, -0.013731

 

Out Output:

0.510548, 0.668024, 0.564884, 0.464296, 0.495789, 0.496567

 

Delta2:

0.122309, -0.148146, -0.138843, -0.115482, -0.123939, -0.124136

 

Delta1:

0.032843, -0.023034, -0.014748

 

Delta0:

0.003580, -0.000896, 0.002030, 0.003975

 

Error parcial 1= 0.866435

 

Clase 1

distancia 1 = 1.308767

distancia 2 = 1.182335

distancia 3 = -107374176.000000

 

Reconoce Clase 1 = 0

Reconoce Clase 2 = 0

Reconoce Clase 3 = 0

 

Vector de entrada:

0.000000, 0.000000, 0.000000, 0.080000, 0.040000, 0.000000, 0.040000, 0.040000, 0.080000, 0.080000, 0.160000, 0.080000, 0.040000, 0.040000, 0.200000, 0.120000, 0.120000, 0.120000, 0.080000, 0.040000, 0.080000, 0.040000, 0.000000, 0.000000, 0.000000

 

Target: 0 1 0 0 0 0

 

Pesos W1:

0.310000, 0.100000, 0.450000, -0.040000, 0.240200, 0.169950, -0.409886, 0.360223, -0.029900, 0.149975, 0.400057, 0.340111, 0.100200, 0.339950, -0.489886, -0.489777, -0.339098, -0.490226, 0.290511, -0.198998, 0.100301, 0.179925, 0.360171, -0.439666, 0.260200, 0.299950, 0.370114, -0.349777, -0.169900, -0.040025, 0.480057, -0.369889, -0.009800, 0.219950, -0.289886, -0.089777, 0.240301, 0.399925, 0.160170, -0.329666, 0.050301, -0.300075, -0.019830, -0.319666, -0.319699, 0.469925, -0.199830, -0.249666, -0.039399, 0.279849, 0.360341, 0.250668, 0.250401, 0.259900, 0.340227, 0.090445. -0.219599, 0.239900, -0.319773, -0.119555, 0.080200, -0.480050, 0.220114, -0.079777, 0.090100, -0.200025, 0.330057, 0.250111, -0.119599, -0.200100, -0.379773, 0.210445, -0.089900, 0.079975, -0.479943, -0.189889, -0.449800, -0.110050, 0.460114, -0.339777, -0.409900, 0.199975, 0.160057, -0.359889, -0.490000, -0.360000, 0.240000, -0.480000, -0.380000, -0.480000, 0.020000, -0.330000, -0.350000, 0.270000, -0.070000, 0.000000, 0.030000, 0.340000, -0.430000, -0.250000, -0.427494, -0.250627, 0.471421, -0.117218

 

Net Hidden:

-0.535489, -0.225928, 0.435250, -0.339168

 

Out Hidden:

0.369238, 0.443757, 0.607127, 0.416012

 

Pesos W2:

0.118279, -0.445807, -0.093718, 0.020472, 0.342655, -0.244702, 0.175175, -0.330643, 0.293186, 0.109468, -0.316640, -0.374251, -0.097010, 0.053876, 0.249677

 

Net Hidden:

0.107642, -0.291145, 0.128792

 

Out Hidden:

0.526884, 0.427724, 0.532154

 

Pesos W3:

0.394326, 0.206310, -0.390319, -0.441852, -0.124917, 0.055011, -0.282892, 0.425053, 0.437876, 0.294964, -0.467602, -0.327662, -0.083692, 0.333909, 0.167431, -0.263724, 0.343074, -0.287000, 0.155616, 0.046298, 0.012810, -0.040837, -0.086757, 0.103105

 

Net Output

0.197844, 0.514495, 0.083546, -0.287821, -0.170010, -0.160788

 

Out Output:

0.549300, 0.625860, 0.520874, 0.428537, 0.457600, 0.459890

 

Delta2:

-0.135990, 0.087608, -0.129992, -0.104946, -0.113577, -0.114232

 

Delta1:

0.024673, 0.025049, 0.017472

 

Delta0:

-0.002210, 0.001306, 0.000434, -0.002750

 

Error Parcial 2 = 0.658781

 

Clase 2

distancia 1 = 1.212716

distancia 2 = 1.147851

distancia 3 = -107374176.000000

 

Reconoce Clase 1 = 0

Reconoce Clase 2 = 1

Reconoce Clase 3 = 0

 

Error Anterior = 1000.000000

Error Total = 1.515216

 

MEJORA

 

TERMINÓ ENTRENAMIENTO CON 1 épocas

Deja un comentario

Archivado bajo Escuela, Recuerdos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s