¿Cuál es el mejor lenguaje de programación para el aprendizaje automático? ¿Qué idioma es mejor para programar microcontroladores y otras partes de hardware?

¡Esta pregunta es como preguntar cuál es el mejor idioma para escribir poesía! La respuesta: todos.

El lenguaje es meramente sintáctico, con algunas excepciones posibles (soporte para hardware específico, paralelismo, etc.). En general, la moneda del reino en el aprendizaje automático es la teoría y los algoritmos, y los mejores algoritmos se pueden escribir con facilidad en cualquier idioma.

Una vez le preguntaron a Einstein qué haría si le dieran una hora de vida, y tenía que resolver un problema del que dependía su vida. Dijo que pensaría en el problema durante 55 minutos y que encontraría la formulación correcta del problema en ese momento. En los últimos 5 minutos, lo resolvería.

Lo que importa más que nada en el aprendizaje automático es la formulación del problema. ¿Qué género de problema es? ¿Cuál es la función objetivo que se minimiza? Esto requiere mucho arte y ciencia.

La siguiente dimensión importante es el algoritmo, que no debe intentarse hasta que la formulación del problema se haya resuelto rigurosamente. Una vez que se desarrolla el algoritmo, incluso uno inicial, se puede elegir el lenguaje de programación. En ese punto, quedaría claro si es necesario un lenguaje genérico (C ++, Python) o un lenguaje más especializado (MATLAB, Tensorflow, etc.).

Lo peor que se puede hacer es codificar cada problema en algún idioma como TensorFlow. Eso me revela que no entiendes el aprendizaje automático.

Hemos estado usando Python durante muchos años, junto con muchos otros aprendices de máquinas. Pero me gustaría algo como Python que también tiene un potente compilador que genera código eficiente, portátil (por ejemplo, en GPU) y distribuido (en clústeres). Esa fue una de las motivaciones para escribir la biblioteca Theano … (que no llegó a ser un lenguaje real, más como un conjunto de funciones para construir expresiones y un compilador para ellas).

En el futuro cercano, el ecosistema DotNet (c #, vb.net) será una perspectiva viable para el aprendizaje automático utilizando el kit de herramientas CNTK (Microsoft / CNTK). La versión actual solo permite la evaluación del modelo en C #, pero pronto se entregará una interfaz de C ++ y Python. La versión de C # debería seguir poco después. Sugiero este kit de herramientas y lenguaje, ya que el rendimiento y la posibilidad de usar múltiples GPU de computadora están actualmente por encima de los otros marcos. Accord.NET Machine Learning Framework también es un excelente marco de aprendizaje automático con múltiples modelos de aprendizaje automático. Aunque el marco no admite muy bien el aprendizaje profundo.

Según yo es su pitón. Algunas personas usan R, pero para mí Python es más adecuado para el aprendizaje automático con una gran cantidad de bibliotecas como NumPy, Pandas, Sci-Kit Learn y Matplot Lib para trazar gráficos. Python es fácil de aprender y en el aprendizaje automático también es fácil programar la sintaxis. La lógica será la misma para todos los lenguajes de programación. Entonces, ¿por qué no usar el más fácil? Por lo tanto, mi elección es siempre Python y apuesto a que cada gran tutoroal que verá en Internet se basará en Python.

En mi opinión, no hay un mejor lenguaje de programación para todos los escenarios de aprendizaje automático. Tenemos que seleccionar cuidadosamente el idioma en cada paso del aprendizaje automático, comenzando desde la selección de funciones hasta el manejo de la retroalimentación del modelo, según las necesidades de programación de ese paso.

El siguiente artículo proporciona una idea de los factores que debemos buscar al seleccionar un lenguaje de programación para una actividad de aprendizaje automático.

Cómo seleccionar un lenguaje de programación para el aprendizaje automático

Existen diferentes lenguajes de programación para diferentes propósitos, por lo tanto, no hay ningún lenguaje de programación específico para el aprendizaje automático.

Pero le recomendaría que vaya a Python ya que, según mi experiencia, es un todo terreno para el aprendizaje automático.

Gracias por leer.

#SEGUIR

¡Pitón! ¿Por qué?

1, fácil de estructurar datos de texto sin formato;

2, archivos de texto fáciles de analizar

3, muchas bibliotecas y marcos de aprendizaje automático implementados en Python

4, expresivo

5, toneladas de bibliotecas de visualización

Hasta ahora no he escuchado sobre el aprendizaje automático integrado, porque la ROM (memoria) que tiene en el microcontrolador puede no ser suficiente para implementar algoritmos de aprendizaje automático.

Pero recientemente Google lanzó una biblioteca de aprendizaje automático que proporciona API para la página de lenguaje C en tensorflow.org
Revíselo y vea si es útil para usted.

Existen diferentes lenguajes de programación por diferentes razones, no existe ningún lenguaje de programación específico para el aprendizaje automático.

Según mi experiencia, te sugiero que elijas Python para el aprendizaje automático. Para saber más al respecto, sigue este enlace

Introducción al aprendizaje automático con beneficios

Gracias por leer.

Para ML sugiero que Python es uno de los mejores lenguajes. Porque es muy fácil de aprender y comprender, menos estructura de codificación, una gran biblioteca. Esta es la razón principal por la cual los científicos de datos consideran que Python es la mejor lengua para ML. (También puede leer este artículo: https://www.ibm.com/developerwor …)

Consulte este video tutorial para aprender Python desde cero: https://www.udemy.com/learn-basi… .

Python es un lenguaje muy popular porque es simple y hay muchas bibliotecas útiles que se pueden usar. Java es otra opción popular porque ofrece una manera fácil de codificar algoritmos, DL4J está escrito en Java, lo que lo hace compatible con cualquier lenguaje JVM como Clojure, Scala o Kotlin, y se integra con Hadoop y Spark.

Principalmente se utilizan 2 idiomas para ML, es decir, Python y R. La elección depende de su experiencia.

Python: fácil de entender, fácil de escribir.

R: Ligeramente difícil de escribir que Python, pero tiene mejores bibliotecas de visualizaciones.

Diría que ambos son igualmente poderosos, pero R es muy útil con un conjunto de datos en comparación con Python.

No hay una respuesta simple a la pregunta “¿Qué idioma?”. Depende de lo que intente construir, cuál es su experiencia y por qué se involucró en el aprendizaje automático en primer lugar. Por ejemplo, Python tiene prioridad en aplicaciones donde Java no lo es. http://vmob.me/MLbpquora

Recomiendo Python primero y C ++ para el segundo. Python tiene muchas bibliotecas y es fácil de escribir y leer, pero no es tan rápido en los cálculos. C ++ es más difícil de aprender que Python, pero también tiene varias bibliotecas y funciona rápido.

El mejor lenguaje de programación para el aprendizaje automático: dominio del aprendizaje automático

Pitón

Debido a las bibliotecas casi infinitas disponibles.

Python es un lenguaje científico popular y es el mejor para el aprendizaje automático

Python es el mejor hasta donde yo sé. Scala es bueno pero poco difícil de entender. Es bueno para el procesamiento del lenguaje.

More Interesting

¿En qué se diferencia el estado oculto (h) de la memoria (c) en una celda LSTM?

¿Es útil el aprendizaje automático en el campo de la ingeniería eléctrica?

¿Puede el desarrollador de hadoop aprender el aprendizaje automático?

¿Por qué una red neuronal no es propensa al sobreajuste a pesar de tener tantos parámetros?

Cómo hacer la clasificación y agrupamiento de documentos en rapidMiner

¿Cuál es el mejor método de selección de características cuando los datos del tren tienen más características que el número de puntos de datos? ¿Asumir que los datos son muy grandes?

¿Qué conjunto de datos público está disponible para hacer reconocimiento facial?

Cómo elegir el mejor kit de desarrollador de sistemas integrados para el proyecto My Image Processing y Machine Learning

¿Se recomienda que un desarrollador Java experimentado aprenda y pase al aprendizaje automático? ¿Qué tan difícil / fácil es?

¿Se podría denominar al PageRank como un algoritmo de aprendizaje automático?

¿Qué significa esto exactamente: 'Hay dos estrategias principales para el reconocimiento facial: comparación de características y coincidencia de plantillas'?

¿Cuáles son los mayores desafíos al hacer análisis de big data?

¿Qué algoritmos de aprendizaje automático no requieren escalado de características?

¿Qué trabajo se ha hecho para aplicar la detección de nuevos eventos a eventos sociales en los que los usuarios estarían interesados ​​(es decir, conciertos)?

¿La red neuronal convolucional (CNN) tiene que ver con la arquitectura de red y factores como la tasa de aprendizaje, la función de pérdida utilizada, etc.