¿Qué conjunto de habilidades se requieren para obtener un trabajo de aprendizaje automático?

Estas habilidades son necesarias para los trabajos de aprendizaje automático

1. Python / C ++ / R / Java: si desea un trabajo en Machine Learning, probablemente tendrá que aprender todos estos idiomas en algún momento. C ++ puede ayudar a acelerar el código. R funciona muy bien en estadísticas y gráficos, y Hadoop está basado en Java, por lo que probablemente necesite implementar mapeadores y reductores en Java.

2. Probabilidad y estadística: las teorías ayudan a aprender sobre algoritmos. Las mejores muestras son Naive Bayes, Gaussian Mixture Models y Hidden Markov Models. Debe comprender firmemente la probabilidad y las estadísticas para comprender estos modelos. Vuélvete loco y estudia la teoría de la medida. Utilice las estadísticas como medida de evaluación del modelo: matrices de confusión, curvas receptor-operador, valores p, etc.

3. Matemáticas y algoritmos aplicados: al tener una comprensión firme de la teoría de algoritmos y saber cómo funciona el algoritmo, también puede discriminar modelos como SVM. Necesitará comprender temas como gradiente decente, optimización convexa, lagrange, programación cuadrática, ecuaciones diferenciales parciales y similares. Además, acostúmbrate a mirar las sumas.

4. Computación distribuida: la mayoría de las veces, los trabajos de aprendizaje automático implican trabajar con grandes conjuntos de datos en estos días. No puede procesar estos datos con una sola máquina, debe distribuirlos en un clúster completo. Proyectos como Apache Hadoop y servicios en la nube como EC2 de Amazon lo hacen más fácil y rentable.

5. Ampliar la experiencia en las herramientas de Unix: también debe dominar todas las excelentes herramientas de Unix que fueron diseñadas para esto: cat, grep, find, awk, sed, sort, cut, tr y más. Dado que todo el procesamiento probablemente se realizará en una máquina basada en Linux, necesita acceso a estas herramientas. Aprenda sus funciones y utilícelas bien. Ciertamente han hecho mi vida mucho más fácil.

6. Aprender más sobre las técnicas de procesamiento avanzado de señales: la extracción de características es una de las partes más importantes del aprendizaje automático. Los diferentes tipos de problemas necesitan varias soluciones, es posible que pueda utilizar algoritmos de procesamiento de señal avanzada realmente geniales, como: wavelets, shearlets, curvelets, contourlets, bandlets. Aprenda sobre el análisis de frecuencia de tiempo e intente aplicarlo a sus problemas. Si no ha leído sobre el Análisis de Fourier y la Convolución, también necesitará aprender sobre esto. Sin embargo, la escalera es el procesamiento de señales 101 cosas.

7. Otras habilidades: (a) Actualizar uno mismo: debe mantenerse al día con los cambios que se avecinan. También significa estar al tanto de las novedades relacionadas con el desarrollo de las herramientas (registro de cambios, conferencias, etc.), teoría y algoritmos (trabajos de investigación, blogs, videos de conferencias, etc.). La comunidad en línea cambia rápidamente. Espere y cultive este cambio. (b) Lea mucho: Lea documentos como Google Map-Reduce, Google File System, Google Big Table, La irrazonable efectividad de los datos. Hay excelentes libros gratuitos de aprendizaje automático en línea y también debe leerlos.

Más de 25 habilidades clave requeridas para trabajos de aprendizaje automático:

Los expertos están divididos en la inteligencia artificial que se apodera del mundo. La gente común ve la amenaza en la automatización. La verdadera pregunta que uno debe hacerse es: ” ¿Qué puedo hacer para crear una ventaja sostenible sobre la IA?

Si los datos son el nuevo petróleo y la IA es la nueva electricidad , el pensamiento transformador es el nuevo acuerdo para la humanidad. Las personas en el siglo XXI necesitan mejorar por debajo de 7 habilidades de pensamiento para contrarrestar la amenaza de la IA. Las primeras cuatro de estas habilidades están basadas en el pensamiento . Los tres restantes son impulsados ​​por la empatía .

Habilidades de pensamiento crítico

Para cada una de las habilidades de pensamiento crítico que se muestran a continuación, dan una serie de declaraciones de actividad.

  • Analizando Separar o dividir un todo en partes para descubrir su naturaleza, funcionalidad y relaciones. …
  • Aplicación de normas.
  • Discriminante.
  • Buscando información.
  • Razonamiento logico.
  • Predecir
  • Transformando el conocimiento.

Habilidades de pensamiento creativo

Consume contenido que esté fuera de tu zona de confort.

  • Ve a ver una película en una sala de cine.
  • Responde una llamada telefónica con alguien que no conoces.
  • Come de manera diferente.
  • Haga el ejercicio “Lluvia de ideas sin malas ideas”.

Pensamiento computacional

El pensamiento computacional es el proceso de pensamiento involucrado en la formulación de un problema y la expresión de su (s) solución (es) de tal manera que una computadora, humana o máquina, pueda llevar a cabo de manera efectiva.

Abstracción: formulación del problema; Automatización: expresión de solución; Análisis: ejecución y evaluación de soluciones.

Habilidades cognitivas

Las habilidades cognitivas son habilidades basadas en el cerebro que necesitamos para llevar a cabo cualquier tarea, desde la más simple hasta la más compleja. Tienen más que ver con los mecanismos de cómo aprendemos, recordamos, resolvemos problemas y prestamos atención, en lugar de con cualquier conocimiento real.

El pensamiento cognitivo se refiere al uso de actividades y habilidades mentales para realizar tareas como aprender, razonar, comprender, recordar, prestar atención y más.

El pensamiento de diseño

Design Thinking es una herramienta práctica para integrar las habilidades del siglo XXI y la mentalidad de un innovador en el aula, la escuela y el lugar de trabajo. Desarrollado en Stanford d.school, Design Thinking es una metodología que enseña a las personas nuevas estrategias para resolver problemas.

Comprender las cinco categorías de inteligencia emocional (EQ)

1.) Autoconciencia . La capacidad de reconocer una emoción a medida que “sucede” es la clave de su EQ.
2.) Autorregulación . A menudo tienes poco control sobre cuándo experimentas emociones.
3.) Motivación.
4.) Empatía.
5.) Habilidades sociales.

Habilidades de diversidad

Las habilidades de diversidad son las habilidades necesarias para ser flexible y adaptarse a múltiples estilos de vida y necesidades, y para aceptar los puntos de vista y la experiencia que las diferentes personas aportan al entorno laboral.

Habilidades que necesita para convertirse en ingeniero de aprendizaje automático

Fundamentos y programación de informática

Los fundamentos informáticos importantes para los ingenieros de Machine Learning incluyen estructuras de datos (pilas, colas, matrices multidimensionales, árboles, gráficos, etc.), algoritmos (búsqueda, clasificación, optimización, programación dinámica, etc.), computabilidad y complejidad (P vs NP, problemas de NP completo, notación big-O, algoritmos aproximados, etc.) y arquitectura de la computadora (memoria, caché, ancho de banda, puntos muertos, procesamiento distribuido, etc.).

Probabilidades y estadísticas

Una caracterización formal de la probabilidad (probabilidad condicional, regla de Bayes, probabilidad, independencia, etc.) y las técnicas derivadas de ella (redes de Bayes, procesos de decisión de Markov, modelos ocultos de Markov, etc.) están en el corazón de muchos algoritmos de Machine Learning; Estos son un medio para hacer frente a la incertidumbre en el mundo real.

Modelado y evaluación de datos

El modelado de datos es el proceso de estimar la estructura subyacente de un conjunto de datos dado, con el objetivo de encontrar patrones útiles (correlaciones, grupos, vectores, etc.) y / o predecir propiedades de instancias nunca antes vistas (clasificación, regresión, detección de anomalías, etc. .). Una parte clave de este proceso de estimación es evaluar continuamente qué tan bueno es un modelo dado.

Ingeniería de Software y Diseño de Sistemas

Al final del día, la salida o entrega típica de un ingeniero de Machine Learning es software. Y a menudo es un componente pequeño que encaja en un ecosistema más grande de productos y servicios. Debe comprender cómo funcionan estas diferentes piezas juntas, comunicarse con ellas (mediante llamadas a la biblioteca, API REST, consultas de bases de datos, etc.) y crear interfaces apropiadas para su componente de las que dependerán otros. Puede ser necesario un diseño cuidadoso del sistema para evitar cuellos de botella y permitir que sus algoritmos se escalen bien con el aumento de los volúmenes de datos.

Otras habilidades útiles para el aprendizaje automático:

A continuación hay algunas cosas que he descubierto útiles:

Trabaja con mentores que saben más que tú y son excelentes para aclarar las cosas fácilmente para ti.

He aprendido muchas cosas de mis colegas a lo largo de los años sobre cómo ser un ingeniero de aprendizaje automático decente.

Sea un investigador mentalidad

Es esencial considerar lo que está haciendo como investigación, y tratar el procedimiento como lo haría si estuviera en un laboratorio de ciencias. Esto implica dar forma y probar teorías , intentar comprender lo que resulta mal y asegurarse de tener exámenes repetibles.

Graba tus ensayos

Es básico registrar lo que intentó, en qué condiciones, con qué datos y cuáles fueron los resultados. A pesar de todo, me esfuerzo por mostrar signos de mejora en esto. Ha habido un montón de veces que podríamos haber hecho un examen y necesitar mover el centro durante un mes o dos, en ese momento cuando volvimos a él, no pudimos recordar con precisión lo que había terminado. La investigación se trata tanto del procedimiento como de los resultados. Recuerde registrar las cosas que no funcionaron tan bien.

Acostumbrarse a las fallas

Un vasto nivel de las cosas que intentarás caerá de plano . Nos energizamos en exceso con cada nueva probabilidad de abordar cualquier problema que estemos eliminando. Tenemos que codificarlo, configurarlo para que se ejecute de la noche a la mañana, verificar los resultados y reconocer que simplemente no funcionó. De vez en cuando, la decepción es difícil, sin embargo, cada desilusión debe guiarlo hacia lo siguiente que puede intentar.

Analiza tus resultados / Resultados

Así que ejecutó sus datos a través de un SVM con un núcleo gaussiano en lugar de uno polinómico y su puntaje de aprobación cruzada bajó (o subió). ¿Por qué? Intentar comprender lo que fue diverso entre sus ensayos y lo que sugieren los resultados sobre esa distinción es una parte importante de hacer bien esta actividad.

Ser un escéptico

Cuando creas que has descubierto una respuesta, haz todo lo que puedas para derribar tu pensamiento. Tener socios astutos ayuda mucho aquí, a la luz del hecho de que pueden ser tu grupo rojo. Espere que tengan la capacidad de pinchar huecos en sus pensamientos. Bienvenido a la oportunidad de arreglar los agujeros o retroceder a la fase de planificación. Es más inteligente que su espléndido arreglo caiga aquí que en tiempo real.

Acercarse a los datos con respeto

Asegúrese de que sus datos estén editados. Tendrá que cambiarlo, limpiarlo, meterse con él. Trate de no dar a esos cambios la oportunidad de desarrollarse sin un registro decente de lo que le hizo.

Sigue aprendiendo continuamente

Leer, leer, leer . Descubra los documentos que salen de NIPS, ICML, etc. y léalos. En el caso de que no pueda comprender de qué se trata, tenga sentido de lo que tiene que descubrir cómo comprenderlos y descubra eso. Leer escribe también, ya que mostrarán los pensamientos en un lenguaje considerablemente más amigable.

También debe ver la Lista de 10 libros gratuitos que debe leer para el aprendizaje automático

Proyectos de código abierto

Siempre haga un compromiso con los proyectos de código abierto, no solo ampliará su enfoque y le permitirá perfeccionar aún más, sino que además lo asociará con las personas con una inversión similar en el grupo de construcción de programación ML.

Utilice un conjunto de entrenamiento muy grande e implemente su algoritmo en él.

Intente construir un sistema distribuido muy versátil con menos SLA y administrar una gran cantidad de datos. Utilice sitios grandes para probar su capacidad de aprendizaje.

Finalmente , no sobreajuste, visualice todo, no cree la solución hasta el momento en que tenga la sensación de que podría funcionar, siga analizando rápidamente para que pueda enfatizar, y así sucesivamente.

Tienes que apreciar un proceso iterativo de mejora . En el caso de que necesite construir un marco de aprendizaje automático, debe tener la capacidad de construir una variante 0.1 utilizando un modelo extremadamente básico rápidamente. En ese punto, repita al mostrar signos de mejora en cada etapa progresiva.

También necesita un instinto decente sobre cuándo detenerse . En cualquier marco de aprendizaje automático, simplemente puede mejorar la exactitud enfatizando más en ello. En cualquier caso, tarde o temprano, el esfuerzo que le pones supera la estima que obtienes de él. Debes tener la capacidad de reconocer ese punto.

Deberías sentirte cómodo con el fracaso. Una parte de sus modelos y pruebas fracasará. Además, eso está bien.

Deberías ser impulsado por la curiosidad. Los mejores individuos son aquellos que realmente son curiosos sobre su entorno general y canalizan ese interés al intentar el aprendizaje automático.

Necesitas una buena intuición de datos . Debería ser excelente para identificar patrones en la información. Tener la capacidad de hacer representaciones rápidas de información (utilizando R, Python, Matlab o Excel, etc.) lo que hace una gran diferencia.

Debe tener una buena sensación de métrica y ser impulsado por las mediciones . Debe tener la capacidad de construir medidas que caractericen el logro o la decepción de su marco. Debería sentirse bien con experimentos ciegos y términos como exactitud, revisión, precisión, ROC, tasas de transformación, NDCG, etc.

Todos los enfoques anteriores son completamente vitales en caso de que esté asociado con un proyecto de ML.

1. Los algoritmos de aprendizaje automático predicen, clasifican y agrupan datos .

2. El aprendizaje automático es un campo excepcionalmente amplio e interdisciplinario que consolida el álgebra lineal, las estadísticas, las habilidades de piratería, las habilidades de bases de datos y las habilidades de computación distribuida .

3. La mayoría de los especialistas en aprendizaje automático que conozco y conozco se desarrollaron en el campo; es decir, no tienen doctorados en aprendizaje automático.

4. Los puntos de datos se mencionan como puntos multidimensionales en un plano o hiperplano .

5. Los algoritmos de aprendizaje automático se pueden agrupar integralmente en algoritmos de aprendizaje supervisados ​​y no supervisados.

6. El aprendizaje supervisado implica la utilización de puntos de datos etiquetados para anticipar las etiquetas de un ” conjunto de prueba ” sin etiquetar.

7. La regresión lineal es un ejemplo de aprendizaje automático supervisado.

8. Uno de los casos más comunes de aprendizaje no supervisado es la ” agrupación “, mediante la cual los puntos de datos se agrupan en agrupaciones algorítmicamente.

9. La médula del aprendizaje automático está limitando una llamada función de costo , regularmente a través de algoritmos iterativos como el descenso de gradiente.

10. El primer paso y el más básico en los problemas de aprendizaje automático es la extracción de características , lo que implica representar las entradas de manera coherente y significativa como puntos en un (hiper) plano.

11 El aprendizaje automático es una sección de ciencia , una sección de mano de obra . Saber cómo aplicar algoritmos es una gran parte de la historia. La especialidad del aprendizaje automático radica en la resolución efectiva de problemas, la extracción de funciones y el uso de trucos como aumentar y arrancar .

12. El aprendizaje automático guía un mayor número de partes de nuestras vidas de lo que la gran mayoría imagina, desde los sistemas de recomendación de Amazon / Google hasta enrutadores / interruptores y frenos de automóviles.

CONCLUSIÓN

Desde la perspectiva de un ingeniero de software :

Ese ML es una respuesta prometedora para algunos problemas, desde chatbots hasta autos autónomos, y es muy concebible que, como diseño de producto, su asociación pueda acercarlo para averiguar cómo explotarlo.

Que existen numerosas soluciones de código abierto que han dado una tremenda motivación al campo, por lo que no solo las organizaciones reales pueden explotarlo.

Ese ML es un campo de especialización que incluye la comprensión de soluciones matemáticas : gestión de datos, así como algunas habilidades de programación para implementar, probar y luego implementar las soluciones en un entorno de TI específico. Esta implementación puede implicar el desarrollo de aplicaciones o páginas web para interactuar y presentar los resultados de la solución, por lo que al menos debe comprender las entradas-salidas del algoritmo

Que este campo está progresando y cambiando todos los días, por lo que debe mantenerse al tanto. Aunque los keyalgorithms son maduros, los marcos y métodos todavía están aumentando.

Hay una máxima en ML ” No es quién tiene el mejor algoritmo que gana. Es quién tiene la mayor cantidad de datos “. Sin embargo, en la medida en que sé que generalmente no se aplica debido a que depende del grado de sesgo en sus datos. Por otra parte, el viejo GIGO se aplica absolutamente aquí. Necesita los datos correctos y, además, los datos correctos ( calidad de los datos).

¡¡Buena suerte!!

A menudo, las personas relacionan los trabajos de aprendizaje automático con los de los ingenieros analistas de datos. Es importante comprender las diferencias entre un analista de datos y un ingeniero de aprendizaje automático.

La distinción clave tiene que ver con el objetivo final. El analista de datos analiza los datos disponibles para contar una historia y producir ideas procesables. El énfasis está en la difusión: gráficos, modelos, visualizaciones. Típicamente, el análisis es realizado y presentado por seres humanos, a otros seres humanos que pueden tomar decisiones comerciales basadas en lo que se ha presentado. Esto es especialmente importante de notar: la “audiencia” para la producción es humana.

Sin embargo, como ingeniero de Machine Learning, la “salida” final es la “audiencia” de software para esta salida que a menudo consiste en otros componentes de software que se ejecutan de forma autónoma con una supervisión humana mínima.

Por lo general, las habilidades requeridas para el ingeniero de aprendizaje automático son:

  • Comprender claramente los fundamentos y la programación de la informática
  • Conocimiento de probabilidad y estadística: probabilidad condicional, regla de Bayes, probabilidad, independencia, etc., técnicas como redes de Bayes, procesos de decisión de Markov, modelos de Markov ocultos, etc.
  • Modelado y evaluación de datos: el modelado de datos es el proceso de estimar la estructura subyacente de un conjunto de datos determinado, con el objetivo de encontrar patrones útiles (correlaciones, grupos, vectores propios, etc.) y / o predecir propiedades de instancias nunca antes vistas (clasificación, regresión) , detección de anomalías, etc.). Una parte clave de este proceso de estimación es evaluar continuamente qué tan bueno es un modelo dado. Dependiendo de la tarea en cuestión, uno tendrá que elegir una medida de precisión / error adecuada (por ejemplo, pérdida de registro para clasificación, suma de errores al cuadrado para regresión, etc.) y una estrategia de evaluación (división de prueba de entrenamiento, secuencial vs. validación cruzada aleatorizada, etc.).
  • Aplicación de algoritmos y bibliotecas de aprendizaje automático: las implementaciones estándar de algoritmos de aprendizaje automático están ampliamente disponibles a través de bibliotecas / paquetes / API (por ejemplo, scikit-learn, Theano, Spark MLlib, H2O, TensorFlow, etc.). Los ingenieros de aprendizaje automático los aplican de manera efectiva, lo que implica elegir un modelo adecuado (árbol de decisión, vecino más cercano, red neuronal, máquina de vectores de soporte, conjunto de modelos múltiples, etc.), un procedimiento de aprendizaje para ajustar los datos (regresión lineal, descenso de gradiente, algoritmos genéticos, embolsado, refuerzo y otros métodos específicos del modelo), así como comprender cómo los hiperparámetros afectan el aprendizaje.

http://bigdata-madesimple.com/7-…

5 habilidades que necesitas para convertirte en ingeniero de aprendizaje automático | Udacity

Si está comenzando un doctorado ahora y para cuando termine, la tendencia en el mercado cambiará a técnicas de aprendizaje profundo por completo (con suerte).

Las habilidades requeridas pueden no estar limitadas a la programación en Python usando las bibliotecas Tensorflow o Keras. Algunos solicitan programación en lenguaje R dependiendo de los requisitos de la compañía.

Redes neuronales de convolución, redes neuronales recurrentes para el reconocimiento de patrones. La máquina de Boltzmann restringida y los codificadores automáticos son otras opciones en el aprendizaje profundo.

Como doctorado, no estás limitado a aprender nada 😛

La técnica actual de aprendizaje automático en toda la industria está utilizando SVM. Algunos otros usan KNN, ANN dependiendo de lo que la compañía está siguiendo.

Gracias, Elizabeth Porco, por este A2A.


Las habilidades para realizar el aprendizaje automático son muchas.

Pero voy a cortar el meollo del asunto.

Capacidad de análisis:

Una de las habilidades más subestimadas en términos de resolución de problemas y asignaturas relacionadas con las matemáticas, a las que ML es, principalmente …

Es la capacidad analítica.

Ver, lo difícil, no siempre es detectar el patrón, detectar el problema o estructurarlo.

Más bien, para analizar los detalles, el estado correlacional y el diferencial entre ellos, de modo que encuentre la verdadera perspectiva real del problema en cuestión y lo que resolvería mejor dichos problemas.


Habilidades comunicativas:

Este, no hace falta decirlo. Tienes que poder hablar, y lo más importante:

Trabajo, diplomáticamente.

Con demasiada frecuencia, ¿escucho las historias y veo cómo las personas trabajan en cosas similares a ceder el ego o someter a su equipo a la tierra, para ser una estrategia ganadora.

La cuestión es que tenemos que dar cuenta de nuestros compañeros humanos, en un asunto correcto.

El respeto. Cooperación.

Centrarse en las tareas reales.


Codificación:

Lo mismo que para entender las matemáticas.


Adaptabilidad social:

Entonces, este es un poco extraño. Pero es cierto, no obstante.

Quieres ser socialmente flexible.

Combina esto con la sed de aprender, como siempre ser pragmático.

Y estás listo.

Básicamente, es importante mantener intacto el pensamiento intuitivo en el dominio de ML en el que está trabajando. Eso es una habilidad.

En segundo lugar, sentirse cómodo con los conjuntos de datos implica habilidades de observación, habilidades de discusión de datos y la capacidad de capturar cada detalle de patrón de datos. La mayor parte del tiempo en ingeniería de ML se dedica a comprender los conjuntos de datos y a garantizar que los datos sean consistentes.

Para adquirir esas habilidades mencionadas, se sugiere ensuciarse las manos con los conjuntos de datos. 🙂 Consulte los datos de Kaggle y ML-India.Org. Utilice el motor de búsqueda con prudencia para adquirir recursos del conjunto de datos.

¿La mejor manera de comenzar a aprender habilidades esenciales? Inscríbase en el analista de datos de Udacity ND. Cubre Python, Estadística para Ciencias de la Computación, Álgebra Lineal, Teoría de ML, discusión de datos, visualización de datos y varios algoritmos de ML que se usan popularmente.

Vaya a través de este enlace y de varios hilos similares en HN. Pregúntele a HN: ¿Qué matemáticas son críticas para la búsqueda de ML / AI ?, explicarán cuán crucial es AlgoDS, las matemáticas de la universidad son esenciales para realmente hacer una diferencia.

La capacidad de aprender a hacer cualquier habilidad. Machine Learning es 99% entendiendo la tarea que desea automatizar y 1% haciendo la automatización / capacitación.

¿Crees que un programador de computadoras va a resolver el diagnóstico de cáncer? No No saben cómo hacerlo, por lo que no entrenará su IA con el cerebro del tamaño de un gusano fácil.

Autos sin conductor. Eso es fácil, todos sabemos cómo conducir.

La radiología no tanto.

Obtener trabajos de aprendizaje automático requería muchas habilidades que se enumeran a continuación, lo que ayuda a conseguir un trabajo

  1. Requerido material breve sobre los fundamentos de la informática y la programación.
  2. Probabilidades y estadísticas
  3. Modelado y evaluación de datos.
  4. Aplicación de algoritmos y bibliotecas de aprendizaje automático
  5. Ingeniería de Software y Diseño de Sistemas

Para obtener más información: BEPEC | ¿Por qué ciencia de datos? Bangalore

Cálculo y estadísticas básicas de primer año, cualquier lenguaje de programación, pasión básica por el procesamiento de datos es todo lo que necesita.