Voy a dar una perspectiva diferente a la mayoría de las otras respuestas y le diré que sí, es una buena idea usar C ++ para aprender aprendizaje automático. Por supuesto, esto supone que ya tiene un buen conocimiento práctico del idioma. Pero, si lo hace, usar C ++ para aprender aprendizaje automático me parece una buena idea. Aquí hay algunas razones de por qué:
Como mencioné en mi respuesta a ¿Cómo aprendo el aprendizaje automático ?, uno de los pasos importantes para aprenderlo si usted es un ingeniero es implementar algoritmos desde cero. Creo que muchas otras respuestas no entienden este punto porque suponen que solo quieres convertirte en un usuario de aprendizaje automático. En ese caso, estoy de acuerdo en que hay idiomas con mejores bibliotecas listas para usar. Pero, si va a implementar un algoritmo desde cero y está familiarizado con C ++, ¿por qué no usaría ese lenguaje? La única razón obvia es que C ++ es un lenguaje mucho más difícil de manejar que, por ejemplo, Python. Sin embargo, una vez más, si está familiarizado con las complejidades del idioma (asignación de memoria, punteros, referencias, plantillas, etc.), creo que en realidad es una ventaja que use C ++ en lugar de un lenguaje más “fácil de usar”.
Otra razón es que, como usted menciona, C ++ es más eficiente que la mayoría de los otros lenguajes. Y, bibliotecas importantes como TensorFlow y Torch se implementan en C ++ debajo del capó. De hecho, muchas empresas (incluidas en Quora) implementan sus algoritmos de aprendizaje automático en C ++. Claro, también usarán Python y R para experimentación y creación de prototipos, pero muchos de los algoritmos de producción terminarán en C ++.
Como nota final, si puede aprender el aprendizaje automático en C ++, se convertirá en un objetivo de contratación muy deseable. No es que no lo estarías si usaras cualquier otro idioma. Pero, la verdad es que ML + C ++ es una gran combinación que probablemente le dará acceso a posiciones muy interesantes. (Envíame un mensaje una vez que estés allí y estoy seguro de que puedo conseguirte una entrevista)
- Todavía tengo dos semanas antes de los exámenes finales, ¿qué debo hacer para finalizar la preparación y memorizar todas mis lecciones?
- Aprendí a leer música de manera incorrecta. ¿Cómo revertir 15 años de malas prácticas?
- Elijo un tema nuevo rápidamente, pero cuando se trata de una revisión, me tomo por lo menos 3 veces. ¿Qué hago al respecto? Necesito una gran cantidad de aprendizaje de memoria.
- Quiero aprender un nuevo idioma. ¿Hay algún consejo y cosas que no se puedan hacer que puedan ofrecer las personas que han intentado esto? ¡Gracias!
- Codifico en Java. ¿Necesito aprender Python para aprender aprendizaje automático?