¿Qué habilidad extra de programación debo aprender antes de sumergirme en el aprendizaje automático?

Dado su experiencia en C ++ y Java, hay algunas bibliotecas que puede aprender a usar.

C ++:

  • Shogun: biblioteca ML con enfoque en los métodos SVM y Kernel.
  • mlpack: proporciona algoritmos ML como simples programas de línea de comandos y clases de C ++ que pueden integrarse en soluciones ML a gran escala.
  • MultiBoost: un marco rápido de C ++ que implementa algunos algoritmos de impulso como AdaBoost.

Java:

  • Apache Mahout: marco ML construido sobre Hadoop
  • Apache Spark: Lo mejor para el análisis de datos. También contiene MLLib ahora que tiene un buen número de algoritmos ML como clasificación, agrupación y generación de recomendaciones, etc.
  • WEKA: es un software basado en GUI en Java, que contiene la mayoría de los algoritmos ML populares. Bueno para la visualización. Bueno para entender ML sin hacer mucha programación.
  • MALLET: un paquete basado en Java para procesamiento estadístico de lenguaje natural, clasificación de documentos, agrupación en clústeres, modelado de temas, extracción de información y otras aplicaciones de aprendizaje automático en texto.

El aprendizaje automático se puede hacer mejor usando Python & R, ya que estos dos lenguajes tienen una sólida biblioteca integrada dedicada a la realización de análisis de datos y LD. Las bibliotecas contienen la mayoría de los algoritmos y las extensiones de escalado de modelos.

Por razones de eficiencia, mi sugerencia personal sería implementar ML en uno de esos dos idiomas. También espero que te hayas familiarizado con la teoría básica de esos algoritmos ML que planeas implementar. Sería bueno hacer una investigación sobre ellos antes de sumergirse en la codificación.

¡Feliz aprendizaje! \metro/,

Debes aprender Python o R idiomas. Especialmente debería sentirse cómodo trabajando con grandes conjuntos de datos. Yo diría que puede dominar esto entendiendo los detalles internos de los paquetes estadísticos. Como ejemplo, calcular la media directamente utilizando pandas no es equivalente a encontrarla mediante la iteración de todas las filas. En el primer caso, los pandas hacen uso de los núcleos disponibles y distribuyen el trabajo y combinan el resultado. Estos dos métodos tienen una gran diferencia de rendimiento. Por lo tanto, tener este conocimiento es útil si desea escribir código eficiente.

Hay tantas maneras de lograr lo mismo. Elegir la mejor manera de separar programador a gran programador.

De los dos que mencionas, C ++ sería más útil que Android, pero estoy de acuerdo con los otros encuestados en que Python es el camino a seguir.

Mire las clases gratuitas en Coursera, pero no cometa el error que cometió uno de nuestros solicitantes de tener una página completa de clases MOOC en su currículum: enumere las habilidades que ha aprendido, con una breve explicación de dónde las adquirió. A los empleadores les gusta ver a las personas que están dispuestas y son capaces de aprender por su cuenta.

Contribuir a un proyecto de código abierto relacionado es una buena manera de obtener (y demostrar) experiencia cuando intenta obtener una apertura en el campo. Las solicitudes de extracción en github te dan la oportunidad de mostrar lo que puedes hacer.

No menciona si tiene un título universitario, o en qué: en la mayoría de las empresas de EE. UU., El tipo de trabajo que está buscando requerirá uno.

Antecedentes: trabajo en un departamento de I + D donde utilizamos múltiples enfoques de aprendizaje profundo y de máquina.

El aprendizaje automático es un subconjunto de la inteligencia artificial. Necesitas estudiar la teoría de la IA y su aplicación. Luego, comienza a aprender Python y R, ya que son fundamentales para el aprendizaje profundo y ML.

Python / R. No creo que apenas puedas encontrar algún contenido de AI / ciencia de datos en línea escrito en algo que no sea python o R. Son los GO TO.