¿Qué tipo de habilidades de codificación se requieren para trabajar en el aprendizaje automático en empresas como Facebook, Quora, Google, Microsoft?

Le sugiero que analice estas 7 cosas y vea cuánto sabe de cada una, y practique las que le parezcan desconocidas. Estas fueron las 7 cosas más comunes que vi cuando entrevisté en grandes empresas (Facebook, Intel, Square, eBay, etc.) para puestos relacionados con la ciencia de datos.

Lenguajes de programación básicos : debe conocer un lenguaje de programación estadística, como R o Python (junto con las bibliotecas Numpy y Pandas), y un lenguaje de consulta de bases de datos como SQL

Estadísticas : debe poder explicar frases como hipótesis nula, valor P, estimadores de máxima verosimilitud e intervalos de confianza. Las estadísticas son importantes para analizar datos y seleccionar las cifras más importantes de un gran conjunto de datos. Esto es crítico en el proceso de toma de decisiones y para diseñar experimentos.

Aprendizaje automático : debe poder explicar los vecinos K más cercanos, los bosques aleatorios y los métodos de conjunto. Estas técnicas generalmente se implementan en R o Python. Estos algoritmos muestran a los empleadores que usted está expuesto a cómo la ciencia de datos puede usarse de maneras más prácticas.

Disposición de datos : debe poder limpiar los datos. Esto básicamente significa entender que “California” y “CA” son lo mismo: no puede existir un número negativo en un conjunto de datos que describa la población. Se trata de identificar datos corruptos (o impuros) y corregirlos / eliminarlos.

Visualización de datos : el científico de datos es inútil por sí solo. Necesitan comunicar sus hallazgos a los gerentes de producto para asegurarse de que esos datos se manifiesten en aplicaciones reales. Por lo tanto, la familiaridad con las herramientas de visualización de datos como ggplot es muy importante (para que pueda MOSTRAR datos, no solo hablar de ellos)

Ingeniería de software : debe conocer algoritmos y estructuras de datos, ya que a menudo son necesarios para crear algoritmos eficientes para el aprendizaje automático. Conozca los casos de uso y el tiempo de ejecución de estas estructuras de datos: colas, matrices, listas, pilas, árboles, etc.

Gestión del producto : este es definitivamente discutible, pero aquellos que entienden el producto son los que sabrán qué métricas son las más importantes. Hay toneladas de números que uno puede probar A / B, por lo que el científico de datos orientado al producto elegirá las métricas correctas para experimentar. Sepa lo que significan estos términos: pruebas de usabilidad, tramas de alambre, tasas de retención y conversión, análisis de tráfico, comentarios de clientes, registros internos, pruebas A / B.

En nuestro pequeño equipo de 13 personas, que trabajan en ML, las habilidades de codificación requeridas van desde

  • Ninguno (o simple git pull and build). Dicha persona solo necesita realizar experimentos y escribir documentos técnicos. (Revisado: quizás muy poco para demostrar cómo usar la API).
  • a la computación numérica decente en MATLAB / Python / R. Dicha persona ejecuta y modifica experimentos sobre problemas reales para los clientes. Es necesario conocer al menos uno de esos lenguajes de script para que puedan realizar tareas de ingeniería o visualización de características personalizadas que no son compatibles con la herramienta principal que creamos.
  • a buen C # o F # + gran diseño de software + varios niveles de computación numérica. Dicha persona contribuye a la base del código principal.
  • a la programación hardcore de bajo nivel. Dicha persona está obsesionada con la latencia / rendimiento, BLAS, SSE / AVX, GPU y sistemas distribuidos.

Las habilidades de codificación pueden ser bastante mínimas para implementar un algoritmo de aprendizaje automático. Lo más probable es que simplemente esté haciendo cálculos numéricos sobre algunos datos cualitativos que abstraiga una forma de cuantificar.

Lo que realmente necesita es comprender los sistemas informáticos (si desea que una máquina aprenda, debe comprender de lo que es capaz), y los algoritmos (en última instancia, todo se reduce a las matemáticas), y lo más importante, excelentes habilidades analíticas.

El problema central no es la codificación, sino la comprensión de cómo dividir un problema en un conjunto de parámetros cuantitativos.

Las compañías como Facebook / Google usan una variedad de herramientas para construir algoritmos de aprendizaje automático. El enfoque principal de estas empresas es la investigación en aprendizaje automático, por eso tienen los mejores laboratorios de inteligencia artificial. En su mayoría usan python y matlab, pero depende de usted. Vi a muchas personas implementando CNN en C ++

More Interesting

Hablando intuitivamente, ¿cuál es la diferencia entre la estimación bayesiana y la estimación de máxima verosimilitud?

¿Cuál es la diferencia entre el aprendizaje automático, el procesamiento del lenguaje natural, el aprendizaje profundo y la visión por computadora?

¿Cuáles son los principales puntos de regresión?

¿Qué tipo de problemas han funcionado bien con Bayesian Networks?

¿Puede proporcionar las tareas que se le han asignado mientras buscaba una maestría en el campo CS?

¿Existe la idea de utilizar la regularización para evitar el sobreajuste en la econometría, como lo enseñan los economistas?

¿Qué es exactamente el sobreajuste? ¿Por que sucede? ¿Cómo afecta a mi modelo?

¿Ubuntu es mejor con machine learning que mac?

Organización de la computadora: ¿Cuál es la aceleración de una versión de 5 etapas de la máquina en tubería sobre la versión sin tubería?

Cómo crear la línea de regresión de mínimos cuadrados (error cuadrático medio mínimo) en R

¿Qué debo elegir para mi tesis en Machine Learning?

¿Debo memorizar las matemáticas y los algoritmos al aprender el aprendizaje automático y el aprendizaje profundo?

¿Cuáles son las probabilidades de ingresar a un programa de posgrado de aprendizaje automático en una escuela superior si mi experiencia en investigación es en bioinformática y algo de experiencia en investigación en PNL?

Aprendí algo de teoría de la probabilidad, pero aún me cuesta leer el aprendizaje automático: una perspectiva probabilística. ¿Qué libro de texto de teoría de probabilidad me recomiendan para estudiar el aprendizaje automático?

Dado que existen marcos optimizados en línea, ¿vale la pena implementar manualmente implementaciones vectorizadas para redes neuronales complicadas?