Espacio de Dario Quintana

What are payday loans Payday Loans UK How much can you borrow

Por un Framework para hacer BPN

Estuve jugando un poco en un framework para hacer BPN (BackPropagation Networks). Todavía sigo en etapa de diseño e implementación, así que llevará su tiempo para que esté completamente operacional.

Que le podríamos pedir a un framework similar? Estuve bosquejando como se vería el aprendizaje y convergencia de la red y salió algo similar:

Configuration cfg = new Configuration(); cfg.SetLearningRate(0.2); cfg.SetMomentRate(0.1); cfg.SetPatternError(0.001); cfg.AddNeuronsAtInput(4); //4 inputs cfg.AddHiddenNeuronsAt(1,5,typeof(SigmoidalNeuron)); // 1srt level: 5 neurons cfg.AddHiddenNeuronsAt<SigmoidalNeuron>(2, 6); // 2nd level: 5 neurons cfg.AddNeuronsAtOutput(5,typeof(SigmoidalNeuron)); //5 Outputs IList<Pattern> patterns = GetPatterns(); cfg.SetPatterns(patterns); Bpn bpn = cfg.BuildNetwork(); while (bpn.Propagate()) { //do something in the middle of the step }

La función Propagate() indicaría un paso en la propagación de todos los patrones; esto correspondería con la propagación hacia adelante de 1 patrón, la propagación hacia atrás de los errores y la corrección de los pesos de la red (el aprendizaje). El bucle continuaría hasta que el error se sea menor que el Epsilon (Error por patrón) que hemos establecido con anterioridad en todos los patrones.

Algunas clases:

Pueden ir mirando el código del proyecto aquí, hay algunas pruebas e implementaciones hechas. Cualquier pregunta, duda o colaboración será bienvenida.

Comparación de Modelos de Redes Neuronales

Hoy expusimos en la Jociti 2006 (Jornadas de Ciencia, Tecnología e Innovación) en la UTN – Facultad Regional Resistencia – con Carlos Vicentin y Juan Carlos Insfrán un trabajo que realizamos en la Cátedra de Inteligencia Artificial en la primera mitad del año 2006 durante el cursado.

El Sistema es una simple implementación de 2 redes neuronales muy conocidas: Hopfield y BackPropagation.

Basicamente el sistema ayuda al soporte de decisiones sobre el otorgamiento de crédito de una entidad financiera.

Se le presenta un perfil de cliente y la red decide si el perfil es apto, no lo es, o es dudoso para el otorgamiento de un crédito.

Se necesita el Framework 2.0 de .Net para correrlo. Y está programado en C#.

Recursos:

  • Resumen [doc]
  • Filmina [ppt]
  • Ejecutables [rar]
  • Fuente: podés bajar el código fuente del repositorio SVN, te recomiendo que uses Tortoise para hacerlo, por su amigabilidad:
    • svn checkout http://iasolution.googlecode.com/svn/trunk/ iasolution