¿Cómo convertirse en un ingeniero de algoritmos cualificado?
Analicemos las habilidades necesarias para convertirse en un ingeniero de algoritmos calificado y luego analicemos las habilidades necesarias para convertirse en un ingeniero de algoritmos calificado.
1. Capacidades básicas de desarrollo
El llamado ingeniero de algoritmos primero debe ser ingeniero, por lo que debe dominar algunas habilidades que todos los ingenieros de desarrollo deben dominar.
Algunos estudiantes tienen algunos malentendidos sobre esto, pensando que los llamados ingenieros de algoritmos solo necesitan pensar y diseñar algoritmos, no importa cómo se implementen estos algoritmos, alguien lo ayudará a implementar la solución de algoritmo que se le ocurra. . Esta idea está equivocada. En la mayoría de los puestos de la mayoría de las empresas, los ingenieros de algoritmos deben ser responsables de todo el proceso, desde el diseño del algoritmo hasta la implementación y el lanzamiento del algoritmo.
He visto algunas empresas implementar una estructura organizativa que separa el diseño y la implementación del algoritmo. Sin embargo, bajo esta estructura, no está claro quién es responsable del efecto del algoritmo, si es el diseñador del algoritmo o el. Desarrollador de algoritmos. Todo lleno de amargura. Las razones específicas están fuera del alcance de este artículo, pero espero que recuerde que todos los ingenieros de algoritmos deben dominar las habilidades básicas de desarrollo.
2. Conceptos básicos de probabilidad y estadística
Se puede decir que la estadística de probabilidad es una de las piedras angulares del campo del aprendizaje automático. Desde cierta perspectiva, el aprendizaje automático puede verse como una forma sistemática de pensar y conocer el mundo incierto basada en el pensamiento probabilístico. Aprender a ver los problemas desde una perspectiva probabilística y utilizar un lenguaje probabilístico para describir problemas es una de las bases más importantes para una comprensión profunda y un uso competente de la tecnología de aprendizaje automático.
La teoría de la probabilidad tiene mucho contenido, pero todo se refleja a través de distribuciones específicas, por lo que es muy importante aprender las distribuciones de probabilidad de uso común y sus diversas propiedades.
Para datos discretos, es necesario comprender la distribución de Bernoulli, la distribución binomial, la distribución polinómica, la distribución beta, la distribución de Dirichlet y la distribución de Poisson.
Para datos fuera de línea, la distribución gaussiana y la familia de distribución exponencial son distribuciones más importantes. Estas distribuciones impregnan varios modelos de aprendizaje automático y también existen en diversos datos en Internet y el mundo real. Sólo comprendiendo la distribución de los datos podremos saber cómo procesarlos.
Además, también es necesario dominar las teorías relevantes de la prueba de hipótesis. En esta llamada era del big data, lo más engañoso probablemente sean los datos. Sólo dominando teorías relevantes, como las pruebas de hipótesis y los intervalos de confianza, podremos discernir la autenticidad de las conclusiones de los datos. Por ejemplo, si realmente existe diferencia entre ambos conjuntos de datos, si realmente los indicadores han mejorado tras lanzar la estrategia, etc. Este tipo de problema es muy común en el trabajo real. Si no domina las capacidades relevantes, equivale a parpadear en la era del big data.
En estadística, también es necesario dominar algunos métodos de estimación de parámetros de uso común, como la estimación de máxima verosimilitud, la estimación máxima a posteriori, el algoritmo EM, etc. Estas teorías, al igual que la teoría de la optimización, son teorías que se pueden aplicar a todos los modelos y son la base básica.
3. Teoría del aprendizaje automático
Aunque cada vez hay más kits de herramientas de código abierto disponibles, esto no significa que los ingenieros de algoritmos puedan ignorar el aprendizaje y el dominio del aprendizaje automático. teoría. Esto tiene dos significados principales:
Solo dominando la teoría podemos utilizar de manera flexible diversas herramientas y técnicas en lugar de copiarlas ciegamente. Sólo sobre esta base podremos realmente tener la capacidad de construir sistemas de aprendizaje automático y optimizarlos continuamente. De lo contrario, solo pueden considerarse trucos de aprendizaje automático, no ingenieros calificados. El problema no se solucionará, y mucho menos se optimizará.
El propósito de aprender las teorías básicas del aprendizaje automático no es solo aprender cómo construir un sistema de aprendizaje automático, sino que, lo que es más importante, estas teorías básicas incorporan un conjunto de ideas y patrones de pensamiento, incluido el pensamiento probabilístico. pensamiento matricial y pensamiento óptimo y otros subcampos. Este conjunto de patrones de pensamiento es muy útil para el procesamiento, análisis y modelado de datos en la era actual del big data. Si no tiene este conjunto de pensamientos en mente y todavía está pensando en problemas utilizando el antiguo pensamiento escalar y no probabilístico frente a un entorno de big data, entonces la eficiencia y profundidad de su pensamiento serán muy limitadas.
La connotación teórica y la extensión del aprendizaje automático son muy extensas y no se pueden agotar en un artículo, por lo que aquí enumero algunos puntos centrales e presento algunos contenidos útiles en el trabajo práctico para que puedas explorarlos y dominarlos. aprenda estos contenidos básicos más adelante.
4. Desarrollo de lenguajes y herramientas
Hemos dominado suficientes conocimientos teóricos y necesitamos suficientes herramientas para implementar estas teorías. En esta sección, presentamos algunos lenguajes y herramientas de uso común.
5. Diseño arquitectónico
Finalmente, dedicamos un espacio a hablar sobre el diseño arquitectónico del sistema de aprendizaje automático.
La llamada arquitectura del sistema de aprendizaje automático se refiere a un sistema general que puede soportar el entrenamiento, la predicción y el funcionamiento estable y eficiente de los servicios y sus relaciones con el aprendizaje automático.
Cuando la escala y la complejidad del negocio se desarrollen hasta cierto nivel, el aprendizaje automático definitivamente avanzará hacia la sistematización y la plataforma. En este momento, es necesario diseñar una arquitectura general basada en las características del negocio y el aprendizaje automático en sí, incluido el diseño de la arquitectura del almacén de datos ascendente y el flujo de datos, la arquitectura del entrenamiento de modelos y la arquitectura de los servicios en línea. Aprender esta arquitectura no es tan simple como el contenido anterior y no hay muchos materiales didácticos ya preparados para aprender. Más importante aún, es un resumen abstracto basado en una gran cantidad de práctica y el sistema actual se desarrolla y mejora constantemente. Pero este es sin duda el trabajo más valioso en la carrera de ingeniero de algoritmos. El consejo que puedo dar aquí es practicar más, resumir más, abstraer más e iterar más.
6. Estado actual del aprendizaje automático en la ingeniería de algoritmos
Se puede decir que ahora es la mejor era para el aprendizaje automático entre los ingenieros de algoritmos. Existe una fuerte demanda de este tipo de talentos en todos. profesión. Típicos incluyen los siguientes subsectores:
Sistema de recomendación. El sistema de recomendación resuelve el problema de la comparación y distribución eficiente de información en escenarios de datos masivos. En este proceso, el aprendizaje automático juega un papel importante en la recuperación del conjunto de candidatos, la clasificación de resultados, la elaboración de perfiles de usuarios, etc.
Sistema publicitario. Los sistemas de publicidad y los sistemas de recomendación tienen muchas similitudes, pero también diferencias significativas. Además de la plataforma y los usuarios, también hay que tener en cuenta los intereses de los anunciantes. Los dos partidos se han convertido en tres partidos, lo que complica algunas cuestiones. El uso del aprendizaje automático también es similar a la recomendación.
Sistema de búsqueda. La tecnología de aprendizaje automático se utiliza ampliamente en muchos aspectos de la infraestructura del sistema de búsqueda y en las clasificaciones de nivel superior, y en muchos sitios web y aplicaciones, la búsqueda es una entrada de tráfico muy importante. La optimización del sistema de búsqueda mediante aprendizaje automático afectará directamente a la eficiencia de todo el sitio web.
Sistema de control de riesgos. El control de riesgos, especialmente el control de riesgos financieros en Internet, es otro campo de batalla importante para el aprendizaje automático que ha surgido en los últimos años. No es exagerado decir que la capacidad de utilizar el aprendizaje automático puede determinar en gran medida las capacidades de control de riesgos de una empresa financiera de Internet, y las capacidades de control de riesgos en sí mismas son la competitividad central de la garantía comercial de estas empresas. Puedes sentir la relación.
Pero como dice el refrán: "Cuanto mayor es el salario, mayor es la responsabilidad". Los requisitos de las empresas para los ingenieros de algoritmos están aumentando gradualmente. En conjunto, un ingeniero de algoritmos de alto nivel debería poder manejar todo el proceso de "recopilación de datos, capacitación del modelo de análisis de datos y modelo de optimización en línea" y optimizar continuamente cada enlace en el proceso. Cuando un ingeniero comienza, puede comenzar con un vínculo determinado en el proceso anterior y continuar ampliando su alcance de capacidades.
Además de los campos enumerados anteriormente, hay muchas industrias tradicionales que también exploran constantemente la capacidad del aprendizaje automático para resolver problemas tradicionales. El futuro de la industria tiene un enorme potencial.