19 votos

Programador que busca introducirse en el campo del aprendizaje automático

Soy un desarrollador de software (principalmente .NET y Python unos 5 años de experiencia). ¿Qué puedo hacer para conseguir un trabajo en el campo del aprendizaje automático o, en realidad, cualquier cosa que me permita empezar en ese campo? ¿Es el título de postgrado un requisito difícil?

2 votos

Esta pregunta parece una pregunta de wiki comunitaria.

16voto

asjohnson Puntos 282

Cada vez que he hablado con alguien sobre cómo aprender más machine learning siempre me señalan el Elementos de aprendizaje estadístico de Hastie y Tibshirani . Este libro tiene la suerte de estar disponible en línea de forma gratuita (una copia impresa tiene un cierto atractivo, pero no es necesaria) y es realmente una gran introducción al tema. Aún no he leído todo lo que contiene, pero sí gran parte y me ha ayudado a entender mejor las cosas.

Otro recurso con el que he estado trabajando es el Clase de aprendizaje automático de Stanford que también está en línea y es gratuito. Andrew Ng hace un gran trabajo al guiarte a través de las cosas. A mí me resulta especialmente útil, porque mi experiencia en la implementación de algoritmos es escasa (soy un programador autodidacta) y te muestra cómo implementar cosas en Octave (aunque R ya tiene mucho de ello implementado en paquetes). También he encontrado estas notas en las estadísticas de reddit hace unos meses, por lo que me puse a hojearlas y luego a ver el vídeo y a reflexionar sobre él con mis propias notas.

Mi formación es en estadística y tengo cierta exposición a los conceptos de aprendizaje automático (un buen amigo mío está muy metido en esto), pero siempre he sentido que me falta en el frente del aprendizaje automático, así que he estado tratando de aprenderlo todo un poco más por mi cuenta. Afortunadamente, hay una gran cantidad de recursos por ahí.

En cuanto a conseguir un trabajo en la industria o los requisitos de la escuela de posgrado no estoy en una gran posición para aconsejar (resulta que nunca he contratado a nadie), pero me he dado cuenta de que el mundo de los negocios parece gustar mucho de la gente que puede hacer cosas y están un poco menos preocupados por los pedazos de papel que dicen que puedes hacer algo.

Si yo fuera tú, dedicaría parte de mi tiempo libre a adquirir confianza en mis conocimientos de aprendizaje automático y, a continuación, pondría en práctica las cosas a medida que veas oportunidades. Es cierto que tu puesto puede no darte esa oportunidad, pero si puedes conseguir implementar algo que añada valor a tu empresa (mientras mantienes tus otras obligaciones), no puedo imaginar que nadie se moleste contigo. Lo bueno aquí es que si te encuentras haciendo un poco de aprendizaje automático en este trabajo, cuando salgas a buscar un nuevo trabajo puedes hablar de la experiencia que ya tienes, lo que ayudaría a la gente a mirar más allá de la falta de un título específico.

Hay muchos recursos y es increíblemente interesante, ¡te deseo suerte!

Otra idea: Podrías empezar un blog sobre tu proceso de aprendizaje de Machine Learning y quizás documentar algunos proyectos en los que trabajas en tu tiempo libre. Yo he hecho esto con un proyecto de programación y te permite hablar de un proyecto en el que estás trabajando en tu tiempo libre (se ve bien para el empleador) y también puedes dirigirlos al blog (obviamente mantenerlo profesional) sobre tu trabajo. Hasta ahora he enviado a bastantes personas a mi pequeño y tonto blog de programación (últimamente he sido un poco perezoso a la hora de publicar, pero lo mantenía al día cuando solicitaba puestos de trabajo) y todo el mundo con el que he hablado se ha quedado impresionado con él.

0 votos

(+1) grandes consejos, sobre todo en lo que se refiere a la clase de ML, los conocimientos/trabajo real > certificado y el blog.

0 votos

Un blog profesional parece una buena idea.

0 votos

"al mundo empresarial parece gustarle mucho la gente que sabe hacer cosas" - sí, y esto se aplica incluso con trozos de papel :) En cualquier caso, haz algo que puedas mostrarles.

3voto

Xenph Yan Puntos 20883

Además de todos los otros grandes consejos, sugiero ensuciarse las manos participando en concursos en línea, ver Sitios para concursos de modelos predictivos

En cuanto a los libros etc., debería echar un vistazo:

En cuanto a las titulaciones Estoy de acuerdo con @asjohnson en que un certificado sí importa menos, al menos puedo confirmarlo para el área en la que estoy trabajando (Minería de Datos / ML en la web). Sin embargo, podría ser diferente para áreas más "académicas" como la bioinformática. Ser capaz de demostrar que uno es a) entusiasta y b) ha hecho un trabajo real ("inteligente y haciendo cosas") mostrando un pequeño portafolio (por ejemplo, concursos en línea ... ) debería ser más eficaz IMHO.

0 votos

(+1) Para los concursos en línea. Creo que si hicieras algo de kaggle o alguno de los otros concursos que hay y mantuvieras un registro de tu código y tu proceso (estoy pensando en un blog) en un lugar donde los potenciales empleadores pudieran comprobarlo. Esto mostraría mucha iniciativa y en muchos sentidos es más fácil que pensar en tu propia pregunta de interés. Sólo tienes que elegir uno de los concursos que te interesan, entonces tienes los datos allí mismo y un lugar para enviar y comparar las respuestas.

2voto

ctcherry Puntos 15112

Lea el libro Machine Learning de Tom Mitchell. Es un buen libro que debería iniciarte en el campo del aprendizaje automático.

Una cosa a tener en cuenta: tenga en cuenta que el mismo algoritmo puede a veces funcionar mejor o peor según el escenario y los parámetros suministrados y el azar. Haga no dejarse arrastrar por la optimización de los parámetros de sus datos de entrenamiento: esto es una mala aplicación del aprendizaje automático.

Hay muchas técnicas adecuadas para determinadas aplicaciones (pero no todas las aplicaciones) y hay mucha teoría que puedes leer para entender mejor el aprendizaje automático. Para ser bueno en el aprendizaje automático hay que asegurarse de saber lo que se está haciendo, ya que de lo contrario no se puede estar seguro de que los resultados se generalicen bien.

Buena suerte.

0voto

Shawn Miller Puntos 3875

Hay un gran número de buenos libros sobre aprendizaje automático, incluidos varios de la serie O'Reilly que hacen uso de Python. Trabajar con uno o varios de ellos podría ser un buen punto de partida.

También sugeriría obtener algunos conocimientos de estadística - a través de un curso o dos, o el auto estudio, realmente no importa. La razón es que hay algunos libros de aprendizaje automático que se centran en los algoritmos y la mecánica, pero ignoran la cuestión fundamental de la probabilidad de que lo que su algoritmo le diga se deba sólo al azar. Y, esto es esencial saberlo.

Buena suerte y que se diviertan, es un gran campo.

0voto

Johan Puntos 114

Muy buena pregunta. Hay que tener en cuenta que el aprendizaje automático es tanto un arte como una ciencia e implica una limpieza meticulosa de los datos, su visualización y, finalmente, la creación de modelos que se adapten al negocio en cuestión, al tiempo que se mantienen escalables y manejables. En cuanto a las habilidades, lo más importante es centrarse en la probabilidad y utilizar métodos sencillos. métodos primero antes de saltar a las complejas. Yo prefiero la combinación de R y Perl, ya que conoces python que debería ser suficiente. Cuando trabajes en un empleo real, invariablemente tendrás que sacar tus propios datos, así que el conocimiento de SQL (o cualquier otro no-sql que tu empresa soporte) es imprescindible.

No hay nada mejor que la experiencia en el área de la ML, así que participar en sitios como stackexchange, kaggle es también una gran manera de exponerse a este campo. Buena suerte.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X