¿Se puede usar un C ++ para el aprendizaje automático? Si es así, ¿qué tan bueno es en comparación con Python y R?

Si. C ++ es en realidad una buena alternativa a Python y R si tiene que preocuparse por los detalles. Casi todas las bibliotecas principales de Machine Learning para R y Python están escritas principalmente en C ++ / C. La ventaja que ofrecen R y Python es que trabaja en una capa de abstracción más alta, por lo que tiene menos cosas de qué preocuparse (Ajustar un modelo solo es más fácil que ajustar un modelo y no tener fallas de segmentación). La cantidad de código que tiene que escribir para adaptarse a un modelo simple en Python / R en comparación con C ++ es enorme. Dicho esto, si habla de preprocesamiento y otro trabajo relacionado, C ++ será unos cientos de veces el código de C ++ / Python. Además, las bibliotecas optimizadas que obtiene en R / Python se aseguran de que la ganancia de velocidad sea insignificante para, por ejemplo, un proyecto de PoC.

Dicho esto, si desea tener control sobre el tiempo de ejecución y el rendimiento de su modelo, C ++ es una buena alternativa. Las bibliotecas de Python como Tensorflow (que están escritas en C ++) también tienen un puerto C ++ (https://www.tensorflow.org/api_d…). También hay API específicas de C ++, como una biblioteca de aprendizaje automático escalable de C ++, la biblioteca dlib C ++ y Eigen si desea escribir los algoritmos usted mismo.

Una buena compensación para tener control sobre la ejecución y tener poca cantidad de código es usar lenguajes de bajo nivel y alta productividad como el lenguaje de programación Home – D. La nueva biblioteca de Netflix Netflix / vectorflow está escrita en D.