Constrúyase un programa en el lenguaje de programación, que mejor estime oportuno, para simular el aprendizaje de un perceptrón multicapa con las siguientes muestras:

    Cada muestra está caracteriza un vector de 40 componentes más otro (salto de línea entremedias) de dimensión 10, ya que se trata de clasificar en 10 categorías.

    El objetivo final de esta práctica es visualizar la evolución del aprendizaje, para lo cual se ha de generar una tabla, en la que aparezcan las siguientes columnas:

   

Época Tasa de aciertos (entrenamiento) Error total (verificación)  Error máximo por muestra (verificación) Tasa de aciertos (verificación)
         

 

    A modo orientativo, escoja un tamaño de capa oculta ente 30 y 40, así como un número de épocas igual a 100 y no olvide inicializar los pesos aleatoriamente en el intervalo [-0.5, 0.5]. Con la tabla obtenida, represente las tasas de acierto (aprendizaje y verificación) frente al número de épocas. Repítase esto mismo con los errores total y máximo por muestra. Obsérvese, si se puede, el efecto del sobreentrenamiento y determínese la máxima tasa de aciertos.

    A continuación repita este experimento con el resto de tamaño de capa oculta entre 30 y 40. Hágase lo mismo pero variando este parámetro entre 10 y 100 a saltos de 10 en 10.