Camí d'aprenentatge de dalt a baix: Machine Learning per a Enginyers de Programari¶
Inspirat per Google Interview University.
Què és?¶
Aquest és el meu pla d'estudi de diversos mesos per passar a enginyer de machine learning.
El meu objectiu principal era trobar un enfocament per estudiar Machine Learning que sigui principalment pràctic i que abstregui la major part de les matemàtiques per al principiant.
Aquest enfocament és poc convencional perquè és l'enfocament de dalt a baix i de resultats primers, dissenyat per a enginyers de programari.
Taula de continguts¶
- Camí d'aprenentatge de dalt a baix: Machine Learning per a Enginyers de Programari
- Què és?
- Taula de continguts
- Per què fer-lo servir?
- Com fer-lo servir
- No et sentis poc intel·ligent
- Coneixements previs
- El pla diari
- Motivació
- Visió general del machine learning
- Domini del machine learning
- El machine learning és divertit
- Machine learning: una guia aprofundida i no tècnica
- Històries i experiències
- Llibres per a principiants
- Llibres pràctics
- Competicions de coneixement de Kaggle
- Sèries de vídeo
- MOOC
- Recursos
- Convertir-se en col·laborador de codi obert
- Comunitats
Per què fer-lo servir?¶
Reflexiona sobre el meu interès en el machine learning:
- Puc aprendre i trobar feina en Machine Learning sense estudiar un màster i un doctorat en CS?
- Pots, però és molt més difícil que quan jo vaig entrar al camp.
- Com puc trobar feina en Machine Learning com a programador de programari que estudia ML per compte propi, però mai ha tingut l'oportunitat de fer-lo servir a la feina?
- Estic contractant experts en machine learning per al meu equip i el teu MOOC no t'aconseguirà la feina (hi ha millors notícies a baix). De fet, moltes persones amb un màster en machine learning no aconseguiran la feina perquè ells (i la majoria dels que han fet MOOCs) no tenen una comprensió profunda que m'ajudi a resoldre els meus problemes.
- Quines habilitats es necessiten per als llocs de treball en machine learning?
- Primer, has de tenir una base decent en CS/Matemàtiques. El ML és un tema avançat, de manera que la majoria dels llibres de text assumeixen que tens aquesta base. Segon, el machine learning és un tema molt general amb moltes subespecialitats que requereixen habilitats úniques. Potser voldràs consultar el pla d'estudis d'un programa de màster en Machine Learning per veure els cursos, el pla d'estudis i els llibres de text.
- Estadística, Probabilitat, computació distribuïda i Estadística.
Que jo sàpiga, hi ha dues cares del machine learning:
- Machine Learning Pràctic: Tracta de consultar bases de dades, netejar dades, escriure scripts per transformar dades i enganxar algorismes i biblioteques, i escriure codi personalitzat per extreure respostes fiables de les dades per satisfer preguntes difícils i mal definides. És el desordre de la realitat.
- Machine Learning Teòric: Tracta de matemàtiques i abstraccions, escenaris idealitzats, límits i bellesa, i informa del que és possible. És molt més ordenat i net, i allunyat del desordre de la realitat.
Crec que la millor manera per a una metodologia enfocada a la pràctica és alguna cosa com 'pràctica — aprenentatge — pràctica', és a dir, on els estudiants primer s'enfronten a alguns projectes existents amb problemes i solucions (pràctica) per familiaritzar-se amb els mètodes tradicionals de l'àrea i potser també amb la seva metodologia. Després de practicar amb algunes experiències elementals, poden aprofundir en els llibres i estudiar la teoria subjacent, que serveix per guiar la seva pràctica avançada futura i millorarà la seva caixa d'eines per resoldre problemes pràctics. Estudiar teoria també millora la seva comprensió de les experiències elementals i els ajudarà a adquirir experiències avançades més ràpidament.
Com fer-lo servir¶
Tot el que hi ha a continuació és un esquema, i hauries d'abordar els elements en ordre de dalt a baix.
Faig servir el format especial de markdown de Github, incloent llistes de tasques per comprovar el progrés.
- Crea una nova branca per poder marcar els elements com aquest, simplement posa una x entre els claudàtors: [x]
Més sobre el markdown de Github
No et sentis poc intel·ligent¶
Em desanimen els llibres i cursos que em diuen, tan aviat com poden, que el càlcul multivariat, l'estadística inferencial i l'àlgebra lineal són prerequisits. Encara no sé com començar...
- I si no sóc bo en matemàtiques?
- 5 tècniques per entendre els algorismes de Machine Learning sense base en matemàtiques
- Com aprenc machine learning?
Coneixements previs¶
Aquesta breu secció eren prerequisits/informació interessant que s'hauria d'aprendre abans de començar el pla diari.
- Quina és la diferència entre Analítica de Dades, Anàlisi de Dades, Mineria de Dades, Ciència de Dades, Machine Learning i Big Data?
- Aprendre a aprendre
- No trenquis la cadena
- Com aprendre per compte propi
El pla diari¶
Cada tema no requereix un dia sencer per poder-lo entendre completament, i pots fer-ne diversos en un dia.
Cada dia agafo un tema de la llista a continuació, el llegeixo de principi a fi, prenc notes, faig els exercicis i escric una implementació en Python.
Motivació¶
Visió general del machine learning¶
- Una introducció visual al Machine Learning
- Una guia suau al Machine Learning
- Conceptes bàsics de Machine Learning per a un nouvingut
Domini del machine learning¶
- El mètode de domini del Machine Learning
- Machine Learning per a programadors
- Machine Learning aplicat amb Machine Learning Mastery
- Mini-curs de Machine Learning amb Python
- Mini-curs d'algorismes de Machine Learning
El machine learning és divertit¶
- El Machine Learning és divertit!
- Part 2: Usar Machine Learning per generar nivells de Super Mario Maker
- Part 3: Deep Learning i xarxes neuronals convolucionals
- Part 4: Reconeixement facial modern amb Deep Learning
- Part 5: Traducció de llenguatge amb Deep Learning i la màgia de les seqüències
Machine learning: una guia aprofundida i no tècnica¶
- Visió general, objectius, tipus d'aprenentatge i algorismes
- Selecció, preparació i modelatge de dades
- Avaluació, validació, complexitat i millora del model
- Rendiment del model i anàlisi d'errors
- Aprenentatge no supervisat, camps relacionats i machine learning a la pràctica
Històries i experiències¶
- Machine Learning en una setmana
- Machine Learning en un any
- Camí d'aprenentatge: el teu mentor per convertir-te en expert en machine learning
- Tu també pots convertir-te en una estrella del Machine Learning! Sense doctorat
- Com convertir-se en Científic de Dades en 6 mesos: un enfocament hacker per a la planificació de la carrera
- 5 habilitats que necessites per convertir-te en enginyer de Machine Learning
- Ets un enginyer de machine learning autodidacta? Si és així, com ho vas fer i quant de temps et va portar?
- Com pot algú convertir-se en un bon enginyer de machine learning?
Llibres per a principiants¶
- Data Smart: Using Data Science to Transform Information into Insight, 1a edició
- Data Science for Business: What you need to know about data mining and data analytic-thinking
- Predictive Analytics: The Power to Predict Who Will Click, Buy, Lie, or Die
Llibres pràctics¶
- Machine Learning for Hackers
- Python Machine Learning
- Programming Collective Intelligence: Building Smart Web 2.0 Applications
- Machine Learning: An Algorithmic Perspective, Segona edició
- Introduction to Machine Learning with Python: A Guide for Data Scientists
- Data Mining: Practical Machine Learning Tools and Techniques, Tercera edició
- Machine Learning in Action
- An Introduction to Statistical Learning
Competicions de coneixement de Kaggle¶
- Competicions de Kaggle: com i on començar?
- Com un principiant va usar petits projectes per començar en Machine Learning i competir a Kaggle
- Domina Kaggle competint de manera consistent
Sèries de vídeo¶
- Machine Learning for Hackers
- Fresh Machine Learning
- Machine Learning Recipes with Josh Gordon
- Tot el que necessites saber sobre Machine Learning en 30 minuts o menys
MOOC¶
- Introducció al Machine Learning d'Udacity
- Supervisat, no supervisat i reforçat d'Udacity
- Fonaments de Machine Learning: un enfocament d'estudi de casos
- Machine Learning de Coursera
Recursos¶
- Machine Learning per a Desenvolupadors
- Consells de Machine Learning per a Desenvolupadors
- Machine Learning per a Principiants Absoluts
- Recursos d'autoestudi de Machine Learning
- Puja de nivell en el teu Machine Learning
- Prou Machine Learning per fer Hacker News llegible de nou
Convertir-se en col·laborador de codi obert¶
- tensorflow/magenta: Magenta: generació de música i art amb intel·ligència de màquines
- tensorflow/tensorflow: Computació usant gràfics de flux de dades per a machine learning escalable
- cmusatyalab/openface: Reconeixement facial amb xarxes neuronals profundes
- tensorflow/models/syntaxnet: Models neuronals de sintaxi