Cómo convertirse en ingeniero de aprendizaje automático

¿Qué quieres decir con “no entiendo todas las matemáticas”? Apuesto a que menos del 1% de los científicos de datos, a libro cerrado, podrían obtener las ecuaciones normales en menos de 30 minutos. Está bien. ¿Cómo es tu intuición matemática? ¿Sabes cuáles son los desafíos básicos de las redes neuronales muy profundas? (Explosión de entrada y disminución.) ¿Sabes qué son los vectores propios? ¿Qué es una SVD y por qué es importante? ¿Sabes por qué las distribuciones conjugadas anteriores (p. Ej. Beta, gamma) son importantes? ¿Por qué las optimizaciones convexas son importantes y cómo saber si un problema de regresión es convexo?

Ya está por delante del 85% de los científicos de datos profesionales y del 95% si tiene un conocimiento profundo de las principales factorizaciones de matriz y preocupaciones estadísticas.

Ya tienes lo necesario para conseguir un trabajo de ingeniero de ML. Ahora lo que se necesita es llegar a esos (pocos) lugares. Si le preocupan las credenciales, tiene tres opciones, ordenadas (en mi opinión) de mejor a peor.

  1. Software de código abierto. Comienza a hackear en el mundo de ML de código abierto. No importa si su software se implementa. Simplemente compílelo para demostrar que sabe cómo codificar una red neuronal o un SVM.
  2. Encuentre una manera de hacerlo en su trabajo actual. Encuentre un proyecto de aprendizaje automático que pueda ser valioso para su empresa. Evolucionar en un ingeniero de ML con el tiempo. Cuantas menos personas solicite permiso explícitamente, mejor. Solo trabaja en cosas geniales.
  3. Inflación de títulos. La próxima vez que su aumento anual sea pequeño (menos del 10%) solicite un aumento de título (a Data Scientist o ML Engineer). Si se rechaza, use el título de todos modos en su próxima búsqueda de empleo (nadie verifica las referencias del empleador actual). La inflación atroz del título (Administrador de software II -> VP) puede marcarse y costarle trabajos, pero la mayoría de los cambios de título autoasignados que parecen laterales (Ingeniero de software -> Científico de datos) no se considerarán un gran problema. Puede explicar que le dieron este título mientras estaba en la empresa, pero que RR.HH. aparentemente no fue informado y está usando el título que tenía al ingresar.

Has estado tomando los cursos correctos. ¿Has realizado proyectos finales en alguna de estas clases?

Hay una diferencia entre aprender teóricamente y resolver problemas del mundo real, por lo que debe tomar medidas para obtener experiencia en este último. No es solo para su currículum, sino que trabaja en casos de uso reales del cliente y la escala de datos configurará su conocimiento para prepararlo para el mundo real.

Estos son tres pasos que puede seguir para lograrlo:

  1. Aplique su conocimiento para recrear un trabajo de investigación de ML publicado. Por ejemplo, normalmente ve ejemplos de comprensión de los precios de la vivienda o algo así que apunta a un conjunto de datos. No te enseña dónde perfeccionas tus habilidades porque tu objetivo no es teórico. (Gracias a Siraj Raval de Sirajology por esta sugerencia). Encuentre un artículo de arxiv.org e intente recrear los resultados de la investigación. Primero, esto lo llevará a través de una gran cantidad de investigaciones recientes de ML y le presentará un nuevo trabajo del que puede no estar al tanto. En segundo lugar, te ayudará a descubrir qué es lo que realmente te apasiona de ML y los algoritmos que has aprendido. En tercer lugar, obtendrá confianza para manejar un gran volumen de datos a medida que recrea un resultado de investigación. Pero apuesto a que es posible que se te ocurra una idea diferente de un enfoque diferente para el mismo problema y puede llevarte a jugar con un gran conjunto de datos para resolver un nuevo problema.
  2. Mire el trabajo de otros estudiantes de ML a nivel mundial para validar lo que sabe, qué lagunas de conocimiento puede tener para aprender más y jugar con su trabajo. Es importante seguir marcando entre sus compañeros para seguir aprendiendo.

La fuente que puedo pensar para esto son:

a. Los proyectos de estudiantes de la clase Stand22 CS229 del Prof. Andrew Ng se archivan en línea a lo largo de los años. Ver enlaces de 12 años de clases, cada uno con enlaces a los proyectos.

2016, 2016 primavera, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005

Mire estos proyectos en busca de ideas y vea lo que le gustaría recrear. Estos también deberían darle ideas sobre la brecha de conocimiento de los temas que necesita aprender.

si. Github tiene un depósito de 44K bajo ML . Peine a través de ellos de la misma manera para obtener ideas para encontrar temas para aprender e investigar el código para recrear. (Algo de esto se superpondrá con los cursos de Udacity o los trabajos de investigación en otros lugares).

2. Pregunta a tus profesores. o mentores para encontrar un proyecto final (o una pasantía si es posible en persona) para hacer un proyecto de pareja para 1–2 compañías para obtener experiencia no solo en la investigación de ML sino también para tener una idea de cuál es el papel de un ingeniero de ML. Todos los cursos te enseñan algoritmos para convertirte en un investigador de ML. En un lugar de trabajo real con datos a gran escala, el papel de un investigador de ML es diferente del de un ingeniero de ML. Debes tratar de entender la diferencia y la interacción para ver dónde encajas y qué habilidades necesitas desarrollar. Además, los roles son ligeramente diferentes en diferentes compañías, así que trate de obtener al menos la experiencia de más de una compañía en diferentes geografías.

¡La mejor de las suertes!

Hay dos respuestas a esta pregunta mientras escribo esta, y estoy de acuerdo con ambas. Ambos dicen que apliquen sus conocimientos, y uno sugiere que aprenda cosas de la econometría y la física que lo ayudarán.

Cuando aplique su conocimiento, comience con poco e itere. Es posible que desee construir algo desde cero de vez en cuando para asegurarse de comprender el concepto. Y encuentre algunos proyectos de ML en los que pueda contribuir. Comience arreglando errores. Honestamente. Nada le da una mejor perspectiva para escribir un buen software y verificar sus suposiciones, como arreglar un software que no funciona en algunos o en todos los casos.

Mi camino hacia ML fue diferente al de la mayoría en el espacio, o al menos con el que he tenido contacto. Verá, excepto por un interludio con la física, una gran parte de mi licenciatura era pura matemática. Y esto me dio una tremenda ventaja en mi educación en estadística, ya que pensaba en las cosas de manera diferente (y mucho más rigurosa) que mis compañeros de estadísticas principales.

No creo que sea el mejor camino para muchas personas. Hay dos conclusiones que me gustaría que consideraras. Si eres matemático en tu enfoque, una cosa de la que siempre eres consciente es de los supuestos que estás haciendo. Esto es tan importante en ML como lo es en matemáticas. En segundo lugar, mirar un problema de manera diferente realmente puede mejorar su comprensión del problema.

Mi “mejor” consejo para cualquiera que quiera resolver problemas para ganarse la vida, y esa es una de las cosas que un ingeniero de ML podría hacer, es que intentes cambiar tu comprensión y mirar los problemas de varias maneras. Esto mejorará su comprensión del problema y las soluciones, en general. También lo ayudará a hablar con las personas sobre la solución que ha elegido de diferentes maneras, para que puedan entender mejor … algo realmente bueno cuando hablen con la gerencia.

Como ha implementado los algoritmos, debe tener una buena comprensión de los conceptos básicos. Para conseguir un trabajo, hay algunas cosas que puede hacer aparte de las ya mencionadas:

  1. Cree proyectos en el lateral: participe en algunas de las competencias de Kaggle si puede. Es mejor si forma un equipo con miembros mejor que usted. También puede probar muchos de los conjuntos de datos disponibles en línea para construir algunos proyectos.
  2. Comparta sus proyectos en línea: hay 2 ventajas: puede agregar los enlaces en su currículum para que los reclutadores y los científicos de datos lo examinen y puede obtener comentarios de las personas sobre sus proyectos.

Deberá comprender las matemáticas, ya que esta es la base para crear nuevos algoritmos. Recomiendo tomar cálculo, álgebra lineal y un curso avanzado de estadística (realmente no es necesario derivar ecuaciones rápidamente de la memoria, pero comprender los conceptos y cómo derivar el libro abierto es clave). Eso debería darle una base suficiente para comprender las matemáticas detrás de los algoritmos.

Parece que tienes suficientes cimientos para saltar directamente. Hay algunas áreas que te ayudarán. Física y economía, para comprender los fundamentos del modelo subyacente y la naturaleza de los errores. Computación de alto rendimiento para trabajar con conjuntos de datos más grandes. Sin embargo, puedes recogerlos a medida que avanzas.

Su mejor apuesta es comenzar a hacerlo. Elige un pequeño problema y hazlo. Elige el siguiente para que sea un poco más complicado y hazlo. Puede tener un problema y obtener una solución aceptable y luego optimizar para el dominio en el que está trabajando. Simplemente comience a hacer y mejorar.

Buena suerte.

Aquí mi artículo que te puede ayudar. https://www.linkedin.com/pulse/h

More Interesting

¿Cuáles son las diferencias entre Data Science y Data Mining, son las mismas?

¿Cuál es la diferencia entre las notaciones big oh, big omega y big theta?

¿Por qué es tan importante el Big Data?

Cómo usar Python para ciencia de datos

¿Tengo la oportunidad de trabajar en San Francisco como científico de datos?

¿Cómo se obtiene el conocimiento de dominio requerido al obtener un título en matemática aplicada o ciencia de datos?

¿Qué significa "casi todas las herramientas de software estadístico disponibles para los científicos alientan el modelado paramétrico y, por lo tanto, el diseño de experimentos basados ​​en suposiciones sobre la distribución de datos que están equivocados"?

¿Debo incluir kaggle en mi Cv?

Hicimos una prueba A / B. La prueba ganó, así que hicimos el cambio en el sitio para todos los usuarios, pero después de esperar un tiempo, nos dimos cuenta de que la nueva versión del sitio no estaba funcionando mejor que la anterior. ¿Cuál podría ser la razón?

¿Cuál es la mejor hoja de ruta para aprender Ingeniería de Datos?

Ya no estoy dispuesto a ir a los Estados Unidos para obtener una maestría. ¿Dónde debería estudiar ciencia de datos y aprendizaje automático?

¿Cuánta variedad hay en un puesto de ciencia de datos?

¿La ciencia de datos se preocupa por la causalidad?

¿Vale la pena hacer un curso de PGP en ciencia de datos de la escuela de negocios Aegis?

¿Cuál puede ser un buen comienzo para una persona que no es de TI como yo en el campo de los datos?