programacion de capas ocultas de una red neuronal multicapa
DESCRIPTION
creamos el vector de capas ocultas de una red neuronal multicapa de forma dinamicaTRANSCRIPT
Innovación y Futuro
Jair Ospino Ardila
Programación de Capas Ocultas de una Red Neuronal Multicapa
Dentro de una red neuronal lo más común es que haya más de una capa oculta,
de tal manera que es necesario programar una red que sea dinámica y se ajuste
a los cambios. La forma de mantener una red muy potente es que las entradas,
las capas ocultas y las salidas sean dinámicas, es decir que el usuario pueda
digitar por cada uno de estos campos la cantidad que considere necesaria para
que la red se entrene mucho más eficiente.
Para la programación de las capas ocultas es recomendable tener claro los
conceptos de: vectores, Matrices, ciclos, sentencias, programación básica.
Nota: Es muy importante tener claro el diseño que deseamos implementar para la red, esto nos permite que la red aprenda mucho más rápido. Es decir con cuantas capas va a trabajar, que tipo de funciones por cada capa, el tipo de algoritmo de entrenamiento, etc.
En esta guía solo se desarrollará la forma como se configuran las capas ocultas.
No se enseñara como entrenar la red. Recordemos que para desarrollar un tipo
de aplicaciones como estas es necesario desarrollarla por partes o módulos; en
esta oportunidad desarrollaremos las capas ocultas de la red.
Implementemos el siguiente diseño para nuestra aplicación.
SubRutina para cargar Lista de Funciones de Activación Esta lista va a depender al tipo de red que deseamos programar, demos el caso que sea una red BackPropagation.
Cargando lista de Funciones Para cargar la lista de las funciones basta con dar doble clic en la ventana del
formulario para cargar el evento load. Al estar dentro de él llamamos la
subrutina.
Usamos la palabra reservada call porque la rutina no devuelve ningún valor.
Al ejecutar la aplicación ya tendremos la lista de la funciones de activación.
Procedimientos para el Botón Crear Para desarrollar este procedimiento es necesario crear el vector que va a
contener las capas ocultas, por consiguiente debe ser un vector dinámico y a la
vez que pueda ser accedido desde cualquier parte del formulario.
Ahora procedemos a crear el procedimiento del botón crear. Para más dinamismo agregaremos un componente llamado ErrorProvider para
dar al usuario una información en caso de algún error o mensaje. Para no
saturar la aplicación con las ventanas de avisos que se muestran a través de
MsgBox.
Código del procedimiento
Si ejecutamos la aplicación
Ya tenemos de forma dinámica la cantidad de capas que deseemos. Mostremos
ahora un caso en que digitemos valores no especificados en la cantidad de
capas; para ver cómo funciona el ErrorProvider.
Procedimientos para el Botón Agregar Para realizar los procedimientos de este botón es necesario ir por parte para
lograr entenderlo mucho mejor, ya que en este botón hay varios
procedimientos necesarios para lograr nuestro objetivo.
Lo primero que realizaremos será verificar que dentro del listBox estén todas
las configuraciones seleccionadas y además garantizar que el vector de capas
ocultas esté lleno. También incluiremos otro ErrorProvider para el ListBox.
En el caso que no se haya terminado de llenar el vector, entonces procedemos a
ingresar la configuración de capas, para ello primero validamos que se
ingresen datos correctos en los campos y se hayan seleccionado las capas y la
función de activación por cada capa.
Si todos los datos han sido ingresados correctamente entonces procedemos a
configurar el vector de capas ocultas. A cada capa le asignamos su cantidad de
neuronas y a la vez su función de activación.
Al ejecutar la aplicación tendremos que efectivamente carga las
configuraciones que hemos programado
En caso de ingresar datos no validos tendremos
Procedimientos para el Botón Nuevo Para el procedimiento de nuevo lo que haremos es volver todos los controles al estado inicial
Llamamos el procedimiento desde el botón nuevo.
Hemos culminado con el propósito que era crear un vector de capas ocultas de
forma dinámica.
Creado por Jair Ospino Ardila Correo [email protected] Fecha 11/04/2013 Lugar Valledupar – Cesar País Colombia Creado en Visual Studio 2010 professional_x86 Lenguaje Visual Basic.NET Sistema Operativo Windows 7
Para ver más visita:
http://innovacionyfuturo.wordpress.com/tutoriales/inteligencia-artificial/