2011-12-30 16 views
11

Parece que no puedo encontrar un marco ML/AI basado en C++ que implemente una gran variedad de algoritmos de redes neuronales. He usado Encog para estos fines cuando trabajo en Java, pero no veo nada similar en funcionalidad en C++. Lo más parecido que he visto es a FANN, pero le faltan algunas cosas, por ejemplo, el recocido LMA &.Marco de aprendizaje de máquinas C++

EDITAR: La mejor alternativa que he encontrado es Shark, pero como he dicho, aún falta y solo tiene las funciones más comúnmente utilizadas, sin LMA, recocido o PSO o cualquier cosa de ese nivel.

+0

El google fu es débil, pero parece que el equipo de encog tiene un spin-off: http://code.google .com/p/encog-cpp/ – AJG85

+1

@ AJG85 El último compromiso en octubre 2010, me parece bastante muerto ... – TC1

+1

@ TC1 dices muerto, digo ** final **. :) –

Respuesta

9

Ok, entonces después de algunos días de búsqueda intermitente, creo que puedo decir con bastante seguridad que no existe tal cosa. Ninguna de las librerías existentes ofrece nada que se parezca al nivel de sofisticación de Encog, y como una de las principales razones por las que lo quería en C++ era el hecho de que necesitaba algo de integración de QT, supongo que acabaré utilizando Encog. y Jambi.

De todos modos, para aquellos que tropiezan con esto un poco más adelante/de Google, hay básicamente tres marcos/bibliotecas que ofrecen características algo razonables, y realmente deberían ser suficientes si no quieres LMA, PSO, recocido o cualquiera de esas cosas más exótico:

Eso es más o menos. El resto está inmaduro/muerto o simplemente muy carente de funcionalidad, como para mencionarlo. Si alguna vez decido rodar mi propio proyecto (muy posible, ya que lo necesito para el trabajo), me aseguraré de actualizar este lugar con un enlace.

1

Aunque OpenCV se utiliza principalmente para la visión por ordenador de su machine learning library (ml) contiene clases que manejan los árboles de decisión, clasificador de Bayes, perceptrón multicapa, impulsando etc.

+0

Bastante limpio, mejor que cualquier cosa que haya encontrado, pero aún así, la sección MLP solo admite RProp .. – TC1

8

El repositorio mloss tiene un número de C++ de código abierto basado marcos de aprendizaje automático. Personalmente, creo que dlib es bastante útil.

+0

Es posible que también desee consultar la [Biblioteca MLPACK C++] (http://mlpack.org), que tiene muchos algoritmos de aprendizaje automático – mtall

2

Este es el mejor que he visto de Redes Neuronales: EBLearn

+2

Será mejor que proporcione algunos detalles. Como cómo y por qué crees que es el mejor. –