Estudo de algoritmos de aprendizado de máquina: profundidade de entendimento versus número de algoritmos

13

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.

Vinay Tiwari
fonte

Respostas:

9

Eu recomendaria limitar-se a alguns algoritmos testados e confiáveis. Eu não recomendaria Elementos de aprendizagem estatística (como um primeiro livro). É muito teórico, direcionado a estudantes de pós-graduação, com exercícios perguntando como provar X ou Y ... Eu acho que o ISL é mais apropriado, com conselhos mais práticos (em qualquer caso, ambos os livros são gratuitos como downloads em pdf).

Além das estatísticas, eu me certificaria de que você se sinta confortável com o design experimental / testes AB e com Business Intelligence / Visualização.

seanv507
fonte
Apreciaria se você pudesse sugerir alguns algoritmos que não devem ser perdidos, ou melhor, dizer que são os mais úteis para resolver problemas práticos de negócios. Se possível, por favor mencionar as melhores maneiras de aprender-los (livros particulares, artigos de auto-ajuda ou pode ser tentativa e erro)
2
Eu diria praticamente todos os algos do ISL: regressão linear, regressão logística, métodos baseados em árvore, SVM; Cluster e redução de dimensão, por exemplo, PCA. Leia o livro e veja o curso on-line correspondente ( online.stanford.edu/course/statistical-learning-winter-2014 - talvez no youtube?).
precisa saber é o seguinte
Great Resource, bom ter um livro e vídeos sobre os mesmos pelos próprios autores. Muito obrigado pelo link, não estava ciente disso.
Vinay Tiwari
Sinto muito, mas este é um péssimo conselho. Um cientista de dados nunca deve confiar em alguns algoritmos. Você precisa confiar em suas próprias habilidades de dados e análise e não há dois problemas de dados iguais. Alguns serão resolvidos com X, outro com Y. Simplesmente não é razoável esperar que o universo de dados se conforme com seus poucos algoritmos. Seja curioso, flexível, experiente e use a ferramenta certa para o trabalho, não apenas as que você conhece.
I_Play_With_Data
5

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 .

Scortchi - Restabelecer Monica
fonte
Certamente vai lê-lo! Gostei muito da última linha ... acho que o desejo e, às vezes, a pressão para obter os resultados o mais rápido possível, muitas vezes levam a essas paródias. E é igualmente importante evitar o oposto disso, no qual se aprofunda tanto no aprendizado que se torna inútil para os problemas do mundo real. Enquanto crescer / aprender, às vezes, é mais importante saber o que NÃO fazer, muito obrigado pela orientação e espero ter mais idéias que possam esclarecer a mim e a outras pessoas em uma jornada semelhante.
"o que afeta a taxa de convergência do algoritmo de pontuação Fisher no GLM" - acho que você perdeu 99% dos cientistas de dados aqui.
@Momo: Bem, "cientista de dados" é um daqueles termos estrelados que mal ganhou dinheiro antes de começar a ser desvalorizado.
Scortchi - Restabelece Monica
2

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.

ML_Passion
fonte
0

Eu estava em uma situação semelhante. Comecei com todo e qualquer algoritmo aqui (e em grandes detalhes).

insira a descrição da imagem aqui

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.

Nimish Mishra
fonte