Recentemente, fui apresentado ao campo de Ciência de Dados (já faz 6 meses aproximadamente) e eu comecei a jornada com o Machine Learning Course de Andrew Ng e um post que começou a trabalhar na Data Science Specialization by JHU.
No campo da aplicação prática, tenho trabalhado na construção de um modelo preditivo que previsse atrito. Até agora, usei glm, bayesglm, rf em um esforço para aprender e aplicar esses métodos, mas encontro muitas lacunas na minha compreensão desses algoritmos.
Meu dilema básico é:
Se devo me concentrar mais em aprender os meandros de alguns algoritmos ou devo usar a abordagem de conhecer muitos deles como, quando e quando necessário?
Por favor, me guie na direção certa, talvez sugerindo livros ou artigos ou qualquer coisa que você ache que possa ajudar.
Ficaria muito grato se você responder com uma idéia de orientar alguém que acabou de iniciar sua carreira no campo da Ciência de Dados e deseja ser uma pessoa que resolve problemas práticos para o mundo dos negócios.
Eu leria (o maior número possível) de recursos (livros, artigos) sugeridos neste post e forneceria um feedback pessoal dos prós e contras dos mesmos, a fim de torná-lo um post útil para pessoas que se deparam com uma pergunta semelhante no futuro, e eu acho que seria ótimo se as pessoas que sugerem esses livros possam fazer o mesmo.
fonte
Indiscutivelmente, alguém que se autodenomina cientista de dados deve saber mais sobre os meandros dos algoritmos que usa - por exemplo, o que afeta a taxa de convergência do algoritmo de pontuação Fisher no GLM - do que um estatístico comum ou de jardinagem - que pode se contentar apenas em saber que o solução de probabilidade máxima será encontrada (talvez depois de fazer uma xícara de café). De qualquer forma, é importante compreender os conceitos gerais de estatística e aprendizado de máquina, além da familiaridade com os métodos que você usa - a teoria por trás deles, as suposições que eles fazem, quais verificações de diagnóstico você deve executar, como interpretar os resultados. Evite ser essa paródia .
Você provavelmente gostaria de ler Hastie et al. (2009), The Elements of Statistical Learning .
fonte
Bem, eu diria que conhecer os meandros dos algoritmos 1 ou 2 em detalhes (como o funcionamento interno de seus parâmetros) é definitivamente melhor do que saber como executar um monte deles.
Estou na área de análise há cerca de 11 anos e sou cientista de dados há 2,5 anos e falo por experiência própria. Por outro lado, você deve estar ciente de outras coisas por aí (algoritmos mais recentes, como aprendizado profundo, SVM, XGboost etc.) que podem ser mais aplicáveis ao seu problema em questão.
Acho que o curso do Dr. Andrew Ng aborda alguns detalhes de alguns algoritmos e é um bom começo. Como outros já apontaram, http://statweb.stanford.edu/~tibs/ElemStatLearn/ é um bom livro e possui vídeos para acompanhar.
Esta é minha opinião pessoal, os algoritmos que você não deve perder são: (Conheça estes em detalhes):
1) Regressão linear múltipla 2) Regressão logística 3) Técnicas comuns de redução de dimensionalidade como PCA 4) Cluster de médias K 5) Regressão não linear 6) Métodos de otimização: métodos de pesquisa baseados em gradiente, programação linear e otimização discreta 7) Conceitos e algoritmos na engenharia de recursos 8) Métodos simples de previsão de séries temporais
Mais algoritmos esotéricos:
1) Florestas aleatórias 2) SVM 3) aprendizado profundo 4) Outros métodos de redução de dimensionalidade como LDA 5) Outros métodos baseados em kernel 6) Algoritmos genéticos 7) XgBoost 8) Regressão dinâmica 9) Métodos GARCH / ARCH 10) Modelagem de equações estruturais 11) Métodos de Box Jenkins na previsão de séries temporais 12) Teoria da informação: ganho de informação, ganho mútuo etc.
fonte
Eu estava em uma situação semelhante. Comecei com todo e qualquer algoritmo aqui (e em grandes detalhes).
No entanto, logo descobri que a academia em machine / deep learning está se movendo muito rápido e está sempre criando algoritmos mais avançados / avançados que ajudam muito a superar os algoritmos tradicionais em muitas aplicações do mundo real. . Portanto, é sempre preferível ser atualizado com as últimas tendências. Sugiro (como eu normalmente faço) para pegar uma assinatura de um bom feed de notícias (como o Medium) ou um incrível e avançado diário de pesquisa e segui-lo. Muitas vezes, algoritmos surpreendentes vêm de trabalhos de pesquisa que abordam um problema específico (provavelmente semelhante ao seu).
O ponto é que, para ser um bom cientista de dados (ou um engenheiro de ML), você precisa de uma mistura de profundidade e largura. Pessoalmente, acho útil conhecer muitos algoritmos em sua superfície (simplesmente o que eles fazem, quando são usados, prós e contras). Volto a eles quando sinto ( apenas sinto ) que eles podem me ajudar a resolver um problema específico. Eu os li em detalhes e vejo se eles se encaixam bem. Eles podem, ou podem não ser. Mas pensar nos detalhes é essencial para garantir que você não perca uma abordagem incrível ao seu problema devido à falta de conhecimento sobre essa abordagem. Por exemplo, uma vez eu estava trabalhando em algo que exigia a detecção de objetos (embora muito simples). Eu li em algum lugar sobre R-CNN, Fast-CNN, YOLO. Eu imediatamente me virei para eles para ver se eles se encaixavam bem. Naquele dia eu os conheci com mais detalhes.
Se devo me concentrar mais em aprender os meandros de alguns algoritmos ou devo usar a abordagem de conhecer muitos deles como, quando e quando necessário?
Aprender os meandros é incrível. No entanto, o mundo se move em um ritmo muito rápido. Pode haver um novo algoritmo que supera aquele que você aprendeu com grandes detalhes. É hora, portanto, de liberar esse uso e ver se o novo faz mais bem a você.
Aprenda coisas quando necessário. E quando necessário, aprenda-os em detalhes. Você poderá aplicar as coisas se achar que elas provavelmente podem funcionar. E esse insight vem do conhecimento.
Boa sorte.
fonte