Roteiro para aprender Machine Learning - ML

Volta e meia me pedem dicas sobre como estudar machine learning (ML). Como por enquanto uso R, vai abaixo um roteiro para aprender ML via R.

-------

0. Pré-Requisitos Matemáticos

0.1. Básico de álgebra linear, incluindo autovetores, autovalores, mudanças de bases, decomposições de matrizes, etc

0.2. Básico de probabilidade e estatística: probabilidade condicional, fórmulas básicas, distribuições mais comuns, métricas básicas, regressão, rˆ2, p-valor, inferência etc

0.3. Cálculo de uma e várias variáveis

0.4. Noções de otimização analítica (e.g., convexa) e numérica (e.g., método de Newton, gradient descent e afins)

Onde estudar: dizem que o Khan Academy (<https://www.khanacademy.org/>) é ótimo pra aprender ou revisar o básico
___

I. Programação em R

O básico: funções, manipulação de dataframes e lists, baixar dados de sites/CSV/Excel etc, limpeza de dados, uso de Github ou outros tipos de version control, etc

Onde estudar:

I.1. Cursos mais básicos do DataCamp (<https://www.datacamp.com/courses/tech:r>): "Introduction to R", "Intermediate R", "Intermediate R: Practice", "Writing Functions in R", "Importing Data in R (part 1)", "Importing Data in R (part 2)", "Cleaning Data in R", "Importing and Cleaning Data in R: Case Studies", "Data Manipulation in R with dplyr", "Introduction to Git for Data Science"

I.2. Cinco primeiros cursos do "Data Science Specialization" do Coursera (<https://www.coursera.org/specializations/jhu-data-science>)
___

II. Estatística, Séries Temporais e Visualização em R

Analisar dados, rodar e plotar regressões, mexer com séries temporais etc em R

Onde estudar:

II.1. Cursos de R do DataCamp (<https://www.datacamp.com/courses/tech:r>): "Exploratory Data Analysis in R", "Exploratory Data Analysis in R: Case Study", "Exploring Pitch Data with R", "Data Visualization in R", "Data Visualization with ggplot2 (part 1)", "Data Visualization with ggplot2 (part 2)", "Data Visualization with ggplot2 (part 3)", "Introduction to Data", "Correlation and Regression", "Multiple and Logistic Regression", "Foundations of Inference", "Statistical Modeling in R (part 1)", "Statistical Modeling in R (part 2)", "Manipulating Time Series Data in R with xts and zoo", "Manipulating Time Series Data in R: Case Studies", "Visualizing Time Series Data in R", "Introduction to Time Series Analysis in R", "ARIMA Modeling in R", "Forecasting in R"

II.2. Sexto e sétimo cursos do "Data Science Specialization" do Coursera (<https://www.coursera.org/specializations/jhu-data-science>)
___

III. Machine Learning "Prático"

Como escrever e rodar os algoritmos básicos do ML em R. Exercícios em geral com datasets preparados, "limpos".

Onde estudar:

III.1. Livro "Machine Learning with R" (Brett Lanz). Bem levinho, só dá uma noção das ideias gerais por trás dos algoritmos. Os exercícios, muito simples e com datasets baixados do site da editora do livro, são ótimos pra começar a botar a mão na massa.

III.2. Cursos de Machine Learning via R do DataCamp (<https://www.datacamp.com/courses/tech:r>): "Machine Learning Toolbox", "Introduction to Machine Learning", "Unsupervised Learning in R", "Supervised Learning in R: Regression", "Supervised Learning in R: Classification", "Supervised Learning in R: Case Studies", "Machine Learning with Tree-based Models in R"

III.3. Livro e curso "Introduction to Statistical Learning" (Hastie et al): Dado / escrito por um grupo de professores de Stanford. Longe de completamente rigoroso, mas explica o funcionamento dos algoritmos com mais profundidade do que o livro do Lanz. Os exemplos são em R. O livro está disponível online de graça: <http://www-bcf.usc.edu/~gar…/…/ISLR%20Seventh%20Printing.pdf>, e cobre a mesma matéria que o curso online (<https://lagunita.stanford.edu/…/StatLearni…/Winter2016/about>)

III.4. Livro "Applied Predictive Modeling" (Kuhn e Johnson). Basicamente um manual para o pacote "caret" de machine learning. Útil para aprender a sintaxe e ganhar musculatura com os principais modelos.
___

IV. Machine Learning "Teórico"

Onde estudar:

IV.1. Livro e curso online "Learning from Data" (Yaser Abu-Mostafa): curso de Caltech filmado, com livro e exercícios. Ênfase mais em teoria do que em exercícios práticos (tanto que ele nem especifica a linguagem, os alunos podem usar a linguagem que quiserem). Bastante rigoroso. A segunda metade do livro não existe em cópia física, só online. Vídeos: <https://www.youtube.com/playlist?list=PLCA2C1469EA777F9A>; homepage (com listas de exercícios, gabarito, discussion forum etc): <https://work.caltech.edu/telecourse.html>; capítulos complementares do livro (disponíveis apenas online): <http://www.amlbook.com/support.html#_echapters>

IV.2. Livro "The Elements of Statistical Learning" (Hastie et al): versão adulta do "Introduction to Statistical Learning". Não tem curso online. Não depende de R. Mais teórico que o ISL. Entra em mais detalhes e faz a teoria a sério. Também está disponível online e de graça: (<https://web.stanford.edu/~hastie/Papers/ESLII.pdf>)

IV.3. Livro "Pattern Recognition and Machine Learning" (Christopher Bishop): um dos livros mais citados como texto-base fundamental por especialistas de ponta em ML. Bastante rigoroso do ponto de vista teórico, mas ao mesmo tempo ilustra muitas das ideias e modelos visualmente. <https://www.amazon.com/Pattern-Recognition-Lea…/…/0387310738>

-------

Observações:

1 - O roteiro acima não é o único e nem necessariamente o melhor caminho para se aprender ML via R; ele reflete a minha trajetória na área.

2 - R e Python são as duas principais linguagens para ML. R é boa para análise e prototipagem e muito usada pelo pessoal de estatística, economia e finanças. Python é mais user-friendly, serve como linguagem não apenas de análise mas também "de produção", e se encaixa mais naturalmente com plataformas voltadas para modelagem numericamente pesada (e.g., via deep learning) como o TensorFlow.

Flavio Abdenur
Economista pela PUC-Rio e doutor em Matemática pelo IMPA; sócio-proprietário da consultoria SLQ Soluções Quantitativas.

Post Original:

Volta e meia me pedem dicas sobre como estudar machine learning (ML). Como por enquanto uso R, vai abaixo um roteiro...

Publicado por Flavio Abdenur em Domingo, 15 de abril de 2018

 

Comentários

Sobre Terraço Econômico 337 Artigos
O Terraço Econômico é um espaço para discussão de assuntos que afetam nosso cotidiano, sempre com uma análise aprofundada visando entender quais são as implicações dos eventos econômicos, políticos e sociais. Desde seu início, o Terraço se compromete a oferecer conteúdo de qualidade, opinião equilibrada e imparcial, baseada em fatos passíveis de confirmação.