Tradução de: Learning Path : Your mentor to become a machine learning expert
Autor: SUNIL RAY
Machine learning não é um assunto simples de se dominar!
Não só existe uma infinidade de recursos disponíveis, eles também se tornam obsoletos muito rápido. Junte a isso um monte de jargões técnicos e você pode ver por que as pessoas se perdem ao tentar aprender machine learning. No entanto, isto é apenas parte da história. Você não pode obter domínio sobre machine learning sem passar pelo sofrimento do processo de aprendizagem. Você tem que gastar horas para compreender as nuances de manipulação de recursos, a sua importância e o impacto que pode ter em seus modelos.
Através desta lista de estudo, esperamos fornecer uma resposta para este problema. Montamos esta lista de estudo com uma série de projetos práticos. Afinal, não dá para você dominar machine learning sem um trabalho árduo! Mas uma vez que você o faça, você passará a ser muito procurado por todos ao seu redor.
Dado que este é um assunto complexo, recomendamos que você siga rigorosamente as etapas em ordem sequencial. Considere isso como sendo seu mentor de machine learning. Apenas pule uma etapa se você já conhece o assunto mencionado.
Aquecendo – qual a utilidade de machine learning?
Se você é um completo novato em machine learning, aqui está uma boa palestra de Jeremy Howard para entender como machine learning está a mudando o mundo. Jeremy discute várias aplicações de machine learning e deep learning. Jeremy, também discute algumas maneiras em que machine learning pode impactar este mundo.
Ainda não tem certeza?, confira este curto vídeo de treinamento de uma máquina para jogar Super Mario.
Animado sobre o que machine learning pode alcançar? Vamos olhar para a lista de estudo que irá torná-lo num especialista em machine learning.
Leitura opcional: Noções básicas de machine learning para um novato
Passo 0: Noções básicas de R / Python
Existem várias linguagens de programação que possibilitam usar machine learning. Além disso, há um trabalho em ritmo acelerado de desenvolvimento acontecendo em várias linguagens. Atualmente “R“ e “Python“ são as linguagens mais usadas e há bastante suporte/comunidade disponível para ambas. Antes de entrar para o mundo da ML, eu recomendo que você escolha uma das duas linguagens (R ou Python), o que pode ajudar a se focar em machine learning (O que é melhor? – R ou Python).
Mantenha seu foco na compreensão dos conceitos básicos da linguagem, bibliotecas e estrutura de dados. Aqui está o guia passo a passo para aprender R e Python:
a) Lista de estudo em R: Passo 0 para a Etapa 2
b) Lista de estudo sobre Python: Passo 0 para a Etapa 2
Outras linguagens que você pode ter em consideração: Scala, Go/Julia por vir
Passo 1: Aprenda estatística descritiva e inferencial básicas
Vamos começar ou atualizar nossa aprendizagem estatística. É bom ter entendimento sobre a estatística descritiva e inferencial antes de iniciar a sério o desenvolvimento de machine learning. Udacity oferece curso de estatística descritiva e estatística inferencial. Ambos os cursos fazem uso do Excel para ensinar-lhe todos os elementos básicos de estatística. Se você já sabe, você pode atualizar ou pular esta etapa.
Atribuição: Você pode executar as atribuições de ambos os cursos usando sua escolha de linguagem (R / Python). Você pode consultar respectivas bibliotecas e métodos estatísticos para ambas as linguagens abaixo.
R: Estatísticas
Leitura obrigatória: Diferença entre machine learning e modelagem estatística?
Passo 2: Exploração/limpeza/preparação de Dados
O que diferencia uma machine learning boa e profissional de uma média é a qualidade da engenharia de recurso e limpeza de dados que acontece nos dados originais. Quanto mais tempo de qualidade que você tiver aqui, melhor fica. Esta etapa também leva a maior parte do seu tempo e, portanto, ajuda a colocar uma estrutura em torno dele. Você pode consultar a série de artigos abaixo para aprender diferentes fases de exploração de dados.
- Identificação de variáveis, análise uni e multivariada
- Tratamento de valores ausentes
- Tratamento de pontos fora (outliers)
- Engenharia de recursos
Você também pode consultar os métodos de exploração de dados em R e Python:
Exercício/dever de casa:
Tome-se o problema de sobrevivência titânica da Kaggle, construa um conjunto de hipóteses e, em seguida, limpe os dados e adicione novos recursos ao conjunto de dados existente. Pense em qual é a melhor maneira de imputar idade faltante?
Da mesma forma, pegue o problema de previsão de demanda de bicicletas compartilhadas e repita o ciclo mencionado acima.
Passo 3: Introdução ao Machine learning
Agora você deve abrir as portas para Machine Learning. Existem vários recursos disponíveis para começar com técnicas de machine learning. Gostaria de sugerir que você escolha uma das 2 maneiras seguintes, dependendo do seu estilo de aprendizagem:
- Opção 1: Se você é alguém que gosta de aprender a um passo de cada vez e precisa de mais ajuda, você deve começar a partir do curso de machine learning de Andrew Ng: É um bom curso para iniciantes e fácil de entender. Professor Ng é incrível em fazer conceitos difíceis soarem fáceis. O curso abrange todos os algoritmos básicos e também apresenta alguns tópicos avançados, como redes neurais, sistema de recomendação e aplicação de machine learning em grandes bancos de dados usando Map Reduce. Ele escolhe usar Octave / MATLAB em vez dos mais populares R ou Python para ensinar machine learning. Depois de concluído, você deve proceder para os exercícios e trabalhos de casa fornecidos na opção 2.
- Opção 2: Se você é mais independente, gosta de desafios e podem encarar desafios maiores, você deve fazer o curso Learning from Data do Prof. Yaser Abu-Mostafa: Este curso traz um tratamento surpreendente dos conceitos por trás de machine learning, mas cuidado com este curso pois é bastante pesado em matemática e na teoria por trás de ML (coisas como a dimensão VC). Ele também requer mais conhecimento de programação e é, portanto, mais avançado nesse sentido. Este curso é carregado com trabalhos de casa (o que não é necessariamente uma coisa ruim).
Agora, você deve ter uma boa compreensão sobre os algoritmos e técnicas. Vamos olhar para as bibliotecas ou pacotes disponíveis em R ou Python. Você pode consultar caminho (passo 6) de R (adicionalmente, algoritmos ML em R) e Python para explorar esses pacotes e as opções relacionadas.
Passo 4: Participar de competição de conhecimento no Kaggle
Agora, você tem todas as ferramentas que precisa para participar de competições de conhecimento Kaggle. Estas competições de conhecimento têm menor nível de dificuldade em relação aos desafios com prêmios. Você também pode encontrar vários recursos relacionados para iniciar sua jornada científica de dados. Abaixo estão a lista de competições atualmente ativas:
- Titanic: Machine learning a partir do desastre
- Classificação de crimes em San Francisco
Leitura obrigatória: Como faço para iniciar minha jornada no Kaggle?
Passo 5: Machine Learning Avançado
Agora que você já aprendeu a maioria das técnicas de machine learning, é hora de explorar técnicas avançadas de machine learning para compreender diferentes estruturas de dados como Deep Learning e Machine Learning com Big Data.
Deep learning
Você está ciente sobre o deep learning? Se não, aqui está uma breve introdução sobre o assunto e mais detalhes sobre deep learning nesse vídeo. Abaixo estão a lista de recursos de deep learning que vão ajudar você a começar:
O recurso mais abrangente é deeplearning.net. Você vai encontrar tudo aqui – palestras, conjuntos de dados, desafios, tutoriais.
Outro curso de Geoff Hinton, uma tentativa de compreender os conceitos básicos de Redes Neurais, reconhecimento de padrões usando Python (Resource 1, Recurso 2, Recurso 3) e R (Resource 1), Text Mining usando Python (Resource) e R (Resource 1, Resource 2)
Modelagem Ensemble
Este é o lugar onde um expert mostra-se diferente de um profissional na média. Ensembling pode adicionar muito poder aos seus modelos e tem sido uma técnica muito bem sucedida em várias competições Kaggle. Aqui está um dos melhores guias sobre modelagem emsemble que encontramos.
Machine learning com Big Data
Como você sabe, o tamanho dos dados está a aumentando em ritmo exponencial, mas dados brutos não são úteis até que você começe a gerar inteligência a partir deles. Machine learning não é nada a não ser aprendizer a partir de dados, gerar inteligência ou identificar padrões no conjunto de dados disponível. Existem várias aplicações de algoritmos de machine learning como “detecção de spam”, “classificação de documentos web”, “detecção de fraudes”, “sistema de recomendação” e muitos outros. Abaixo estão a lista de tutoriais para lidar com grandes volumes de dados, utilizando machine learning.
- Machine Learning escalável
- Pacotes para Big Data em Python (Pydoop, PyMongo) e R (Resource1, Resource2)
Passo 6: Participe das competições principais do Kaggle
Agora você tem a maioria das habilidades técnicas e estatísticas. É hora de começar a aprender junto com outros data scientist ao competir com eles. Kaggle é um lugar como o que queremos, uma plataforma mais ativa, engajada e competitiva. Data scientists são apaixonados pelo ranking e desempenho do seus modelos. Vá lá, pule de cabeça numa das competições atualmente em execução no Kaggle e teste o que você aprendeu! Boa sorte!
Etapa opcional: a mineração de texto e de bases de dados
Se você precisa aplicar o machine learning para mineração de texto, você pode olhar para o guia a seguir para limpar dados de texto e construir modelos a partir dele. Você também pode olhar para o seguinte concurso Kaggle:
A parte divertida
Agora que você sabe o que e onde aprender a se tornar um profissional de machine learning, aqui está uma pequena simulação de como um robô baseado em algoritmo genético aprenderia a andar
E algumas coisas sérias
Agora que você sabe o potencial de machine learning, imagine o impacto que poderia ter sobre o mundo de hoje. A palestra de Jeremy menciona brevemente sobre isso. O seguinte artigo fala sobre essa evolução a partir de uma perspectiva diferente: Parte 1 e Parte 2
Espero que tenha gostado desta lista de estudo em machine learning e do impacto que poderá ter sobre o nosso futuro. Se você tiver alguma sugestão para melhorar este lista de estudo, por favor, fique a vontade para compartilhá-los através dos comentários a
Veja também:
- Fundamentos dos Algoritmos de Machine Learning (com código Python e R)
- Conceitos Python – Funções lambda
- Guia de Acesso Rápido ao Pandas