En la búsqueda de esta herramienta tuve el placer de encontrar AFORGE.net
Fragmento extraído de la documentación oficial:
AForge.NET Framework is a C# framework designed for developers and researchers in the fields of Computer Vision and Artificial Intelligence - image processing, computer vision, neural networks, genetic algorithms, machine learning, etc.
Como lo dice el fragmento anterior Aforge.NET es un marco de trabajo para C# diseñado para desarrolladores e investigadores en los campos de visión artificial, inteligencia artificial, procesamiento digital de imágenes, redes neuronales, algoritmos genéticos y maquinas de aprendizaje, además de otras características que se van a agregando al proyecto que es por supuesto open source y todos podemos contribuir.
El siguiente es un ejemplo de como se utiliza el framework para entrenar un perceptron multicapa comúnmente utilizado para reconocer patrones
// initialize input and output values
double[][] input = new double[4][] {
new double[] {0, 0}, new double[] {0, 1},
new double[] {1, 0}, new double[] {1, 1}
};
double[][] output = new double[4][] {
new double[] {0}, new double[] {1},
new double[] {1}, new double[] {0}
};
// create neural network
ActivationNetwork network = new ActivationNetwork(
SigmoidFunction( 2 ),
2, // two inputs in the network
2, // two neurons in the first layer
1 ); // one neuron in the second layer
// create teacher
BackPropagationLearning teacher = new BackPropagationLearning( network );
// loop
while ( !needToStop )
{
// run epoch of learning procedure
double error = teacher.RunEpoch( input, output );
// check error value to see if we need to stop
// ...
}
Colorized by: CarlosAg.CodeColorizer
Por ultimo les dejo el link del framework para los que quieran investigar un poco mas
http://www.aforgenet.com/framework/
excelente post chahco
ResponderEliminar