Comunidad de Machine Learning / Deep learning

gonya707

Ya sea para resolver dudas, empezar en el mundillo u organizar competiciones de machine learning, este es tu hilo.

Que es el machine learning? Via wikipedia

El aprendizaje automático o aprendizaje automatizado o aprendizaje de máquinas (del inglés, machine learning) es el subcampo de las ciencias de la computación y una rama de la inteligencia artificial, cuyo objetivo es desarrollar técnicas que permitan que las computadoras aprendan. Se dice que un agente aprende cuando su desempeño mejora con la experiencia y mediante el uso de datos; es decir, cuando la habilidad no estaba presente en su genotipo o rasgos de nacimiento. "En el aprendizaje de máquinas un computador observa datos, construye un modelo basado en esos datos y utiliza ese modelo a la vez como una hipótesis acerca del mundo y una pieza de software que puede resolver problemas".

Que es el deep learning? Via wikipedia

Aprendizaje profundo (en inglés, deep learning) es un conjunto de algoritmos de aprendizaje automático (en inglés, machine learning) que intenta modelar abstracciones de alto nivel en datos usando arquitecturas computacionales que admiten transformaciones no lineales múltiples e iterativas de datos expresados en forma matricial o tensorial.
El aprendizaje profundo es parte de un conjunto más amplio de métodos de aprendizaje automático basados en asimilar representaciones de datos. Una observación (por ejemplo, una imagen) puede ser representada en algunas formas (por ejemplo, un vector de píxeles), pero algunas representaciones hacen más fácil aprender tareas de interés (por ejemplo, "¿es esta imagen una cara humana?") sobre la base de ejemplos, y la investigación en esta área intenta definir qué representaciones son mejores y cómo crear modelos para reconocer estas representaciones.

Kaggle

Kaggle es de facto el HUB de profesionales y aficionados de data science y machine learning. Desde Kaggle podemos acceder a cursos, obtener miles de datasets con los que trabajar e incluso nos ofrecen su propia plataforma para ejecutar jupyter notebooks (Python o R) remotamente, dandonos acceso a GPUs o TPUs de manera gratuita. Además cuenta con un sistema de rangos que mejorar a través de tus trabajos, y muchas empresas lo usan como plataforma para organizar competiciones, algunas con generosos premios monetarios.

En este hilo tambien podemos compartir datasets que subamos a kaggle o códigos que hayamos publicado, asi como compartir impresiones de cursos, trabajos pasados, oportunidades de empleo, etc.

Perfiles de Kaggle/github de mediavideros:

gonya707 -> https://www.kaggle.com/gonzalorecioc

Links de utilidad:

Google Colab Plataforma de Google para ejecutar Jupyter notebooks desde tu propio google drive. Tambien con acceso a GPUs, TPUs etc
Google Dataset Search Como el propio nombre indica, buscador de datasets de Google
Machine Learning Cheatsheet Una pagina en construcción que apunta maneras para ser la mejor referencia rápida sobre diversos temas relacionados con ML
Academic torrents Buscador de torrents para datasets de gran tamaño
Awesome Public Datasets Compilación de datasets públicos de interés general organizados por temas
Papers with code Muestra el estado del arte en diversos problemas de ML, también tiene datasets
Machine Learning Glossary Glosario de términos relacionados con Machine Learning

Hilos de interés:

Aprendizaje Automático... ¡Juntos! (Coursera)
[Recursos] Aprehendiendo sobre redes neuronales

Libros / Documentación

NSFW

Competiciones en Mediavida

  1. Color de las ardillas de Central Park

  2. Futurama

    • 🥇RasTTa
    • 🥈Fco.JavierVeraOlmos
    • 🥉jparedesDS
22
gonya707

Secuestro el #2 para añadir que si quereis que ponga vuestro perfil de kaggle a #1 o quereis aportar algun link interesante me lo pongais en un [ code ] con el mismo formato

Nombre mediavida -> url
[url=google.es]Nombre[/url] Breve descripción
1 respuesta
Kike_Knoxvil

Viendo este hilo acabo de recordar que tengo que repasar el cursillo de ML de matlab porque no recuerdo nada

B

Me interesa mucho, lo meto en favs, he usado datasets de kaggle cuando aprendía spark. Podríamos proponer hacer hacer algo para ir aprendiendo y presentarnos a alguno

1 respuesta
hda

I'm in! ¡Qué buena iniciativa! ¡Muchas gracias, @gonya707!

Si quieres pon estos recursos en #1 que son de la comunidad:

https://www.mediavida.com/foro/estudios-trabajo/aprendizaje-automatico-juntos-coursera-640163

https://www.mediavida.com/foro/ciencia/recursos-aprehendiendo-sobre-redes-neuronales-627437

2 1 respuesta
gonya707

#5 He abierto nueva sección para links internos para que sean más visibles. Tengo un par de cursos de ML en udemy completados y un día de estos hare review

1
richmonde

Yo tengo algunos libros O'reily sacados de la empresa en PDF, puedo mirar de subirlos a mi drive personal, y os paso los enlaces para subirlos aquí. Si encuentro cosas de interés os las linkeo :)

Muy buena iniciativa!

2
Kike_Knoxvil

https://jakevdp.github.io/PythonDataScienceHandbook/

1
richmonde

Cuando tenga tiempo los ordeno y escondo con "Spoiler" para ponerlos en las familias que toquen (Tensor, Hadoop, Spark, Deep Learning, Machine Learning, etc...), que ahora he de prepararme la cena!

@gonya707 si quieres organizarlos o ponerlos arriba para que quien los quiera los pueda bajar, feel free!

Si hay alguno que no esté aquí y os molaría tener, decidmelo y lo busco en el repositorio del curro, que es probable que lo tengamos. Y si no, lo "compro" con el budget de formación que tengo y lo comparto por aquí en PDF.

Libros / Documentación

NSFW
7
gonya707

Los dejo en NSFW para que no sean susceptibles de indexado en buscadores y que no se pueda acceder sin login

5
AddeL1749

Llevaba tiempo buscando algo de esto y me viene perfecto!

¿Qué es lo que me recomendáis al principio para aprender?

1 respuesta
NocAB

Hay canales de telegram con muchos libros de DS aunque con los que se han puesto diría que ya hay suficientes. xd

De los libros que hay yo destacaría Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow (segunda edición) porque lo usé en una asignatura introductoria de DL y me pareció muy bueno y práctico.

Y creo que no está The Elements of Statistical Learning que es muy famoso y de acceso gratuito (aunque no lo he leído, lo tengo pendiente desde hace tiempo).

Igual también se podría añadir el repositorio de UCI que diría que tiene datasets muy conocidos para ir aprendiendo: UCI Machine Learning Repository.

Personalmente suelo consultar bastante Towards Data Science y Machine Learning Mastery.

3
gonya707

#11 Personalmente mi primer contacto con algo puramente de machine learning fue con este curso

Tiene sus más y sus menos que puedo detallarte algo mas a fondo si ves que te interesa pero la sensación general tras terminarlo es muy positiva, y te lleva desde el planteamiento de un problema hasta su despliegue en una web, todo en el mismo sitio, que los jupyter notebooks estan muy bien pero luego esto hay que usarlo en una app de algun modo.

El curso en teoría te enseña lo fundamental de python para que te las arregles si no sabes antes, pero de eso ni idea porque yo venia de hacer los 100 days of code bootcamp y lo tenia fresquisimo

ps: nunca pagues mas de 14 euros por un curso de udemy, espera que haya rebajas, que hay cada 2 semanas o asi

5
bLaKnI

Si a alguna conclusión llego, es que despues de haber "jugado" en Python con Keras y demás, esto del ML es la cosa mas random que te puedes echar en cara.
Construyes un modelo y cuando acepta tus entradas y da salidas que crees pueden estar OK, empiezas a añadir capas, hidden, bias, cambiar las funciones de activación y alteración, cutoffs, numero de neuronas en las layers, etc...
Mirando los modelos para ver que se acerque al minimo posible y no se sobreentrenen las capas y ale...
Ensayo error, hasta que das con "un modelo altamente capacitado para predecir posibles X..." y lo vas vendiendo por ahí como la panacea...

A pesar de ello, mola.

EDIT: hablo por supuesto de lo "basico". Deep learning aplicado. No de algoritmos "bio" ni geneticos por descendientes, que molan cantidad!

1 1 respuesta
Unonueve

#4 baia baia mira quién está por aquí

1 respuesta
NocAB

#2 Se me pasó contestar a esto, tengo perfil de Kaggle pero no le he dado ningún uso más allá de algún curso básico cuando empecé a estudiar DS hará unos dos años así que no sé si tiene mucho sentido compartirlo.

De todas formas si se hace alguna cosa y puedo sacar tiempo me gustaría participar, que seguro que es interesante y se aprende.

#14 Creo que lo que comentas se podría decir solamente del aprendizaje profundo aplicado a problemas sencillos y en esos casos no veo lógico usar DL porque además de ser muy complejo pierdes la explicabilidad del modelo, no creo que sea algo que se pueda extender a todo el aprendizaje automático.

El DL me parece algo muy complejo que tiene sentido usarlo para tratar de resolver problemas complejos (como la visión por computador y el procesamiento del lenguaje natural) y en estos problemas no veo nada adecuado usar el sistema de prueba y error sin tener un buen conocimiento de lo que se hace porque los tiempos de entrenamiento suelen ser muy largos.

Seguro que alguien con más conocimientos puede aportar mucho más a esto.

1 respuesta
gonya707

#16 en el futuro próximo me gustaría organizar alguna competición privada para los cuatro gatos de aquí, haré algún dataset y podemos ponernos a predecir cosas

Sobre lo otro, en general si que el procedimiento habitual de diseño de modelo DL es mucho ensayo-error, pero entendiendo los datos y el problema que tienes se puede optimizar el proceso. Y en efecto los tiempos de entrenamiento pueden irse de madre, pero una técnica habitual es hacer tus tests en un 10% del dataset y las mejoras de resultados que consigas en ese subset deberían trasladarse cuando uses el dataset completo

2 1 respuesta
Maaarc

Añade el canal de YouTube statQuest, yo lo uso mucho.

Por cierto estoy con una práctica del máster y no consigo hacer un Bag of Words en python. Alguien lo ha hecho alguna vez?

También voy perdidisimo con las lambda x de Python que me da que las necesito.

Para cualquier cosa me apunto al hilo que estoy haciendo un máster en el tema actualmente.

2 respuestas
NocAB

#17 siempre hay que hacer ajustes pero por como lo decía le había entendido que se refería a ir probando cosas random sin saber lo que ocurre, por eso me parece una locura para cosas complejas. De todas formas mis conocimientos de DL son básicos.

#18 he hecho cosas con palabras (nada complejo de NLP) pero no me queda claro lo que necesitas hacer. Igual te ayuda lo que explican en el libro "Introduction to Machine Learning with Python".

Apo_powa

#18 Menda, usa el método getdummies() de pandas sobre una variable categórica y siente el poder de los 1 y 0 (así de memoria pasale el arg extend como true)

1
Exor720

Esto es algo que cuanto más leo menos entiendo xD, me lo marco a favoritos

B

.

1
Jastro

Gracias por el curro #1

le echare un ojo que me parece interesante y aun no me he metido de lleno

1
microxarth

Por curiosidad, ¿Cuánto tiempo puede llevar de ser alguien que está en un nivel entry hasta pasar a poder encontrar el primer trabajo? (Hablándo en número de horas)

2 respuestas
gonya707

#24 No cuento con datos especificos pero se que en el curriculum de "Become a Machine Learning Engineer" de Zero To Mastery despues de completar el primer curso (43h) en el que te explican de que va toda la vaina y te introducen unos cuantos algoritmos, ya te animan a empezar a echar curriculums

https://zerotomastery.io/career-paths/become-a-machine-learning-engineer/
Por cierto esto de los career paths me parece cojonudo para tener un poco enfilado a donde quieres llevar tu curriculum. Los cursos que ponen en estos paths estan tambien disponibles en udemy por mejor precio

No se como de optimistas son esas previsiones pero puedes tener eso de referencia.

Mi primera experiencia con ML fue de la mano del bootcamp de App Brewery de machine learning, tambien de unas 40 horas. Cubria los fundamentos que hay detras y te introducia en algunos aspectos shallow y deep learning (linear regression, naive-bayes, introduccion a DNN...). Fue una buena experiencia pero es probable que no fuese lo mas optimizado en el tiempo, se tiraba muchas horas explicando cosas puramente teoricas y que en muchos casos son transparentes cuando creas un modelo

Por cierto hay 3 dias de ofertas en udemy bastante decentes, asi que es probablemente el mejor momento para pillar un curso si te interesa.

Mis experiencias con cursos de ML son el curso de app brewery mencionado antes que está bien como introducción en todos los palos, y luego el de ZTM para sacar el certificado de tensorflow que estoy terminando ya. Este ultimo es unicamente de deep neural nets y tiene información muy valiosa, pero tambien se solapa con casi todo lo de deep neural nets del de app brewery (aunque con una perspectiva mas centrada en la práctica). El otro curso de ZTM es mas de enseñarte los diversos algoritmos que hay y es algo que aprendi por mi cuenta mirando articulos en https://www.analyticsvidhya.com/

3 1 respuesta
Erterlo

Trabajo en lo que antes era IBM y tengo acceso a todos los cursos de Udemy por la pata, me he registrado en todos los que he visto sobre el tema. Mi plan es ver los cursos los fines de semana.
Aunque en mi caso es más por curiosidad, dudo que pueda conseguir curro de algo relacionado.

1 respuesta
Apo_powa

#25 curras de ML Engineer?

1 respuesta
gonya707

#27 qué va, estudio todo esto por placer, sin presiones. Mi linea de trabajo es radicalmente distinta

Leos

Me quedo de stalker por este hilo, siempre he querido meter el pie, pero nunca se por donde empezar y planificarme.

Estoy haciendo algo parecido al scraper de @overflow con el scraper de mv y la idea era utilizar algo de machine learning para ciertas cosillas :new_moon_with_face:

1 1 respuesta
B

#29 Todo por culpa de @hda ... yo ahora me veo aprendiendo como crear modelos para entrenarlos con Stanza...
y veo cosas como esta: https://raw.githubusercontent.com/declare-lab/MELD/master/data/MELD/train_sent_emo.csv y me pregunto... ¿me tengo que poner a mano a valorar los textos? Tengo algo más de 200.000 comentarios de MV para analizar... igual abro una web para quien quiera ayude a valorar los textos.
Es tedioso de narices el tema del NLP :/

1 3 respuestas