Dois anos atrás, comecei a aprender máquinas online por conta própria. Partilhei a minha viagem através do YouTube e do meu blog. Não tinha ideia do que estava a fazer. Nunca tinha codificado antes, mas decidi que queria aprender a aprendizagem de máquinas.
Quando as pessoas encontram o meu trabalho, por vezes estendem a mão e fazem perguntas. Não tenho todas as respostas, mas respondo ao máximo que posso. A pergunta mais comum que recebo é “por onde começo?”. A próxima pergunta mais comum é “quanto é que preciso de saber de matemática?”
Respondi a algumas destas perguntas esta manhã.
Uma pessoa disse-me que tinha começado a aprender Python e que queria entrar na aprendizagem de máquinas mas não sabia o que fazer a seguir.
Eu aprendi Python, o que devo fazer a seguir?
Eu juntei alguns passos na resposta e estou a copiá-los aqui. Pode considerá-los um esboço rudimentar para passar de não saber codificar a ser um profissional de aprendizagem de máquinas.
O meu estilo de aprendizagem é codificar primeiro. Ponha o código a funcionar primeiro e aprenda a teoria, matemática, estatística e o lado da probabilidade das coisas quando precisar, e não antes.
Remmbrar, se está a começar a aprender a aprendizagem de máquinas, pode ser assustador. Há muita coisa. Leve o seu tempo. Marque este artigo para que possa referir-se a ele à medida que vai.
Sinto-me inclinado a usar Python porque foi com isso que comecei e continuo a usar. Poderia usar outra coisa mas estes passos serão para Python.
O email disse que já tinham feito algum Python. Mas este passo é também para alguém que é completamente novo. Passe alguns meses a aprender o código Python ao mesmo tempo que diferentes conceitos de aprendizagem de máquinas. Vai precisar de ambos.
Aprendendo código Python, pratique usando ferramentas de ciência de dados como Jupyter e Anaconda. Passe algumas horas a mexer nelas, para que servem e porque deve utilizá-las.
Recursos para a aprendizagem
- Elementos de IA – visão geral dos principais conceitos de inteligência artificial e aprendizagem de máquinas.
- Um Guia de Campo de 6 Passos para Projectos de Aprendizagem de Máquinas de Construção – visão geral de muitos passos práticos que pode dar para começar a utilizar a aprendizagem de máquinas numa variedade de diferentes problemas empresariais.
- Python for Everybody on Coursera – aprenda Python de raiz.
- Aprenda Python por FreeCodeCamp – todos os principais conceitos de Python num só vídeo.
- Anaconda Tutorial por Corey Schafer – aprenda Anaconda (o que vai usar para configurar o seu computador para a ciência dos dados e aprendizagem de máquinas) num só vídeo.
- Tutorial Jupyter Notebook for Beginners Tutorial by Dataquest – aprenda a utilizar os cadernos Jupyter num só artigo.
- Tutorial Jupyter Notebook by Corey Schafer – aprenda a utilizar os cadernos Jupyter num só vídeo.
Aprenda a análise de dados, manipulação & visualização com Pandas, NumPy Matplotlib
Após ter alguns conhecimentos de Python, vai querer aprender a trabalhar e a manipular dados.
Para o fazer, deverá familiarizar-se com pandas, NumPy e Matplotlib.
p>pandas ajudá-lo-ão a trabalhar com dataframes, estas são tabelas de informação como veria num ficheiro Excel. Pense em filas e colunas. Este tipo de dados chama-se dados estruturados.
NumPy irá ajudá-lo a realizar operações numéricas sobre os seus dados. A aprendizagem da máquina transforma tudo aquilo em números e depois encontra os padrões nesses números.
Matplotlib irá ajudá-lo a fazer gráficos e visualizações dos seus dados. Compreender uma pilha de números numa tabela pode ser difícil para os humanos. Preferimos muito ver um gráfico com uma linha a passar por ele. Fazer visualizações é uma grande parte da comunicação das suas descobertas.
Recursos de aprendizagem
- Ciência de Dados Aplicada com Python on Coursera – comece a adaptar as suas capacidades Python à ciência de dados.
- pandas em 10 minutos – uma rápida visão geral da biblioteca de pandas e de algumas das suas funções mais úteis.
- Python Pandas Tutorial por Codebasics – série YouTube passando por todas as principais capacidades dos pandas.
- NumPy Tutorial por freeCodeCamp – aprenda NumPy num vídeo YouTube.
- Matplotlib Tutorial por Sentdex – série YouTube ensinando todas as características mais úteis do Matplotlib.
Aprenda a aprendizagem de máquinas com scikit-learn
Agora tem capacidades para manipular e visualizar dados, é altura de encontrar padrões nele.
scikit-learn é uma biblioteca Python com muitos algoritmos de aprendizagem de máquinas úteis incorporados prontos a usar.
Também apresenta muitas outras funções úteis para descobrir até que ponto o seu algoritmo de aprendizagem aprendeu bem.
Focaliza a aprendizagem do tipo de problemas de aprendizagem de máquinas, tais como, classificação e regressão, e que tipo de algoritmos são melhores para aqueles. Ainda não se trata de compreender cada algoritmo do zero, aprender a aplicá-los primeiro.
Recursos de aprendizagem
- Aprendizagem de máquinas em Python com scikit-learn da Data School – lista de reprodução do YouTube que ensina todas as principais funcionalidades em scikit-learn.
- Uma Introdução Suave à Análise Exploratória de Dados por Daniel Bourke – junte o que aprendeu nas duas etapas acima mencionadas num projecto. Vem com código e vídeo para o ajudar a entrar no seu primeiro concurso Kaggle.
- caderno de análise exploratória de dados de Daniel Formosso com scikit-learn – versão mais aprofundada do recurso acima, vem com um projecto de ponta a ponta usando o acima referido.
Aprender redes neurais de aprendizagem profunda
Aprender profundamente e as redes neurais funcionam melhor em dados sem muita estrutura.
Dataframes têm estrutura, imagens, vídeos, ficheiros de áudio e texto em linguagem natural têm estrutura mas não tanto.
Tidbit: Para a maioria dos casos, vai querer usar um conjunto de árvores de decisão (Florestas Aleatórias ou um algoritmo como XGBoost) para dados estruturados e vai querer usar aprendizagem profunda ou transferir aprendizagem (tomando uma rede neural pré-formada e usando-a no seu problema) para dados não estruturados.
Poderia começar uma nota com pequenas notas como esta para si próprio e recolhê-las à medida que avança.
Recursos para aprendizagem
- aprendizagem profunda.ai por Andrew Ng on Coursera – aprendizagem profunda ensinada por um dos melhores profissionais da indústria.
- cursos de aprendizagem profunda quick.ai por Jeremy Howard – uma abordagem prática à aprendizagem profunda ensinada por um dos melhores profissionais da indústria.
Extra curriculum & livros
Durante o caminho, seria ideal se praticasse o que estava a aprender com pequenos projectos próprios. Estes não têm de ser coisas elaboradas que mudam o mundo, mas algo que se pode dizer “Eu fiz isto com X”. E depois partilhe o seu trabalho através do Github ou de um post no blogue. Github é usado para mostrar o seu código, um post de blogue é usado para mostrar como pode comunicar o seu trabalho. Deve procurar divulgar um de cada um para cada projecto.
A melhor maneira de se candidatar a um trabalho é já ter feito as coisas que necessita. Partilhar o seu trabalho é uma excelente forma de mostrar a um potencial futuro empregador aquilo de que é capaz.
Depois de estar familiarizado com a utilização de algumas das diferentes estruturas para a aprendizagem de máquinas e aprendizagem profunda, poderá tentar cimentar os seus conhecimentos construindo-os a partir do zero. Nem sempre terá de fazer isto na produção ou num papel de aprendizagem de máquinas, mas saber como as coisas funcionam a partir do interior ajudá-lo-á a construir sobre o seu próprio trabalho.
Recursos de aprendizagem
- Como iniciar os seus próprios projectos de aprendizagem de máquinas por Daniel Bourke – iniciar os seus próprios projectos pode ser difícil, este artigo dá-lhe algumas indicações.
- rápido.ai aprendizagem profunda das fundações por Jeremy Howard – uma vez que tenha ido de cima para baixo, este curso irá ajudá-lo a preencher as lacunas de baixo para cima.
- Grokking Deep Learning by Andrew Trask – este livro ensinar-te-á como construir redes neurais a partir do zero e por que razão deves saber como.
- Estes livros ajudar-te-ão a aprender a aprendizagem de máquinas por Daniel Bourke – YouTube video passando por alguns dos melhores livros sobre aprendizagem de máquinas.
Quanto tempo para cada passo?
Podes passar 6 meses ou mais em cada um deles. Não tenha pressa. A aprendizagem de coisas novas leva tempo. A principal habilidade que está a construir como cientista de dados ou engenheiro de aprendizagem de máquinas é como fazer boas perguntas de dados e depois usar as suas ferramentas para tentar encontrar respostas.
alguns dias vai sentir-se como se não estivesse a aprender nada. Mesmo andando para trás. Ignore-o. Não compare o seu progresso dia após dia. Compare o seu progresso ano após ano.
Onde posso aprender estas competências?
Listei alguns recursos acima, estão todos disponíveis online e a maioria deles são gratuitos, mas há muitos mais.
DataCamp é um óptimo local para fazer a maioria destes. Caso contrário, a minha base de dados de recursos de Aprendizagem de Máquinas e Inteligência Artificial contém um bom arquivo de materiais de aprendizagem gratuitos e pagos.
Remember, parte de ser um cientista de dados ou engenheiro de aprendizagem de máquinas está a resolver problemas. Trate a sua primeira tarefa como se descobrisse mais sobre cada um dos passos aqui e criasse o seu próprio currículo para o ajudar a aprendê-los.
Se quiser saber como é um exemplo de currículo de auto-aprendizagem de máquinas, consulte o meu Mestrado em IA Autocriado. É o que eu costumava fazer desde a codificação zero até ser engenheiro de aprendizagem de máquinas em 9 meses. Não é perfeito mas é meu, é por isso que funcionou.
E as estatísticas? E quanto à matemática? E quanto à probabilidade?
Vai aprender estas coisas ao longo do caminho. Comece primeiro pelo código. Ponha as coisas a funcionar. Tentar aprender todas as estatísticas, toda a matemática, toda a probabilidade antes de executar o seu código é como tentar ferver o oceano. Isto irá atrasá-lo.
Nada das estatísticas, a matemática e a probabilidade importam se o seu código não correr. Ponha algo a funcionar, e depois use as suas capacidades de pesquisa para descobrir se está correcto.
E as certificações?
Certificações são boas, mas você não anda atrás delas. Está atrás de competências.
Não cometa o erro que cometi e pense que mais certificações é igual a mais competências. Eles não.