Habilidades difíceis de encontrar em aprendizes de máquina?

71

Parece que a mineração de dados e o aprendizado de máquina se tornaram tão populares que agora quase todo estudante de CS conhece classificadores, agrupamentos, PNL estatística ... etc. Portanto, parece que encontrar mineradores de dados não é algo difícil hoje em dia.

Minha pergunta é: Quais são as habilidades que um minerador de dados poderia aprender que o tornariam diferente dos outros? Para fazer dele um tipo de pessoa não tão fácil de encontrar.

Jack Twain
fonte
6
Embora seja uma resposta a uma pergunta diferente, vários dos pontos em uma antiga resposta minha podem ser carregados aqui. Assad faz algumas observações semelhantes em sua resposta muito agradável abaixo.
cardeal

Respostas:

62

Já vi várias vezes desenvolvedores usarem técnicas de ML. Este é o padrão usual:

  1. baixar biblioteca com nome sofisticado;
  2. gaste 10 minutos lendo como usá-lo (ignorando estatísticas, matemática, etc);
  3. alimente-o com dados (sem pré-processamento);
  4. meça o desempenho (por exemplo, precisão, mesmo que as aulas estejam totalmente desequilibradas) e diga a todos o quão impressionante é com sua precisão de 99%;
  5. implantar na produção com resultados épicos de falha;
  6. encontre alguém que entenda o que está acontecendo para ajudá-lo, porque o manual de instruções não faz nenhum sentido.

A resposta simples é que (a maioria) engenheiros de software são muito fracos em estatísticas e matemática. Essa é a vantagem de quem quer competir com eles. É claro que as pessoas estão fora de sua zona de conforto se precisarem escrever um código de produção. O tipo de papel que se torna realmente raro é o do Data Scientist. É alguém que pode escrever código para acessar e brincar com a enorme quantidade de dados e encontrar o valor neles.

iliasfl
fonte
14
LOL em "dizer a todos o quão incrível é com a sua precisão de 99%"
Jack Twain
2
+1 Eu concordo com tudo. "[...] Data Scientist. É alguém que pode escrever código para acessar e brincar com a enorme quantidade de dados e encontrar valor neles". O que, para mim, sugere que deveria permanecer naturalmente raro, pois parece inviável para a maioria dos mortais lidar com questões estatísticas e fundacionais complexas, além de transformar algo em um código de produção. Ele também explica por que temos cirurgiões cardiovasculares, anestesiologistas, neurologistas, enfermeiros, administradores hospitalares etc. Ou civil aeronáutica, mineração, químicos, engenheiros mecânicos etc.
Thomas Speidel
2
Para mim, isso não é realmente uma descrição do que alguém precisa para ser um candidato a destaque na ML - mais como uma festa de ML. Parece que você está descrevendo alguém que está muito focado em obter "a resposta" antes mesmo de ter certeza do que é a pergunta. Basicamente, sua pessoa "típica de ML" é alguém com poucas habilidades de planejamento e alguém que não discute o que pretende fazer com o "cliente" antes de seguir adiante e voltar com "a resposta". Isso não é algo que é ajudado por ter boas estatísticas / matemática - é algo que requer boas habilidades de comunicação.
probabilityislogic
61

Do que se trata

Apenas conhecer técnicas é semelhante a conhecer os animais em um zoológico - você pode nomeá-los, descrever suas propriedades, talvez identificá-los na natureza.

Compreender quando usá-los, formular, criar, testar e implantar modelos matemáticos funcionais em uma área de aplicação, evitando as armadilhas - essas são as habilidades que distinguem, na minha opinião.

A ênfase deve estar na ciência , aplicando uma abordagem sistemática e científica aos problemas comerciais, industriais e comerciais. Mas isso requer habilidades mais amplas do que a mineração de dados e o aprendizado de máquina, como Robin Bloor argumenta de maneira persuasiva em "A Data Science Rant" .

Então, o que se pode fazer?

Áreas de aplicação : aprenda sobre várias áreas de aplicação próximas ao seu interesse ou do seu empregador. A área geralmente é menos importante do que entender como o modelo foi construído e como foi usado para agregar valor a essa área. Modelos bem-sucedidos em uma área geralmente podem ser transplantados e aplicados a diferentes áreas que funcionam de maneira semelhante.

Competições : experimente o site da competição de mineração de dados Kaggle , de preferência se juntando a uma equipe de outras pessoas. (Kaggle: uma plataforma para competições de modelagem preditiva. Empresas, governos e pesquisadores apresentam conjuntos de dados e problemas e os melhores cientistas de dados do mundo competem para produzir as melhores soluções.)

Fundamentos : Existem quatro: (1) sólida base em estatística, (2) razoavelmente boas habilidades de programação, (3) compreensão de como estruturar consultas de dados complexas, (4) construção de modelos de dados. Se houver algum fraco, é um ponto importante para começar.


Algumas citações a esse respeito:

`` Aprendi muito cedo a diferença entre saber o nome de algo e saber algo. Você pode saber o nome de um pássaro em todas as línguas do mundo, mas quando terminar, não saberá absolutamente nada sobre o pássaro ... Então, vamos olhar para o pássaro e ver o que ele está fazendo. o que conta. '' - Richard Feynman, "A criação de um cientista", p14 em O que você se importa com o que as outras pessoas pensam, 1988

Tenha em mente:

`` A combinação de habilidades necessárias para realizar esses projetos de ciência de negócios [ciência de dados] raramente reside em uma pessoa. Alguém poderia de fato ter adquirido amplo conhecimento nas áreas triplas de (i) o que a empresa faz, (ii) como usar estatísticas e (iii) como gerenciar dados e fluxos de dados. Nesse caso, ele ou ela poderia realmente afirmar ser um cientista de negócios (também conhecido como "cientista de dados") em um determinado setor. Mas esses indivíduos são quase tão raros quanto os dentes de galinha. '' - Robin Bloor, A Data Science Rant , agosto de 2013, Inside Analysis

E finalmente:

`` O mapa não é o território ''. - Alfred Korzybski, 1933, Science & Sanity.

Os problemas aplicados mais reais não são acessíveis apenas a partir do `` mapa ''. Para fazer coisas práticas com a modelagem matemática, é preciso estar distraído com detalhes, sutilezas e exceções. Nada pode substituir o conhecimento do território em primeira mão.


Assad Ebrahim
fonte
6
+1. As soluções prontas para uso raramente funcionam para um problema comercial específico da sua organização. Você precisa adaptar e melhorar e, para isso, precisa entender o que está por trás.
Zhubarb 24/06
4
@Zhubarb - acho que isso é apenas parcialmente verdadeiro. As soluções "prontas para uso" podem ser usadas com grande efeito, não apenas o tempo todo, e também geralmente não para concluir uma tarefa do início ao fim. O truque é saber quando você pode se safar do uso de "soluções prontas para uso" e quando é necessária uma abordagem mais personalizada.
probabilityislogic
41

Eu concordo com tudo o que foi dito. O que se destaca para mim são:

  1. Quão poucos "especialistas" em aprendizado de máquina estão realmente interessados ​​no assunto ao qual desejam aplicar o ML
  2. Quão poucos realmente compreendem a precisão preditiva e as regras de pontuação adequadas
  3. Quão poucos entendem os princípios de validação
  4. Quão poucos sabem quando usar uma caixa preta versus um modelo de regressão tradicional
  5. Como nenhum dos "especialistas" parece ter estudado a decisão ideal da Bayes ou as funções de perda / utilidade / custo [essa falta de entendimento é exibida quase sempre que alguém usa a classificação em vez do risco previsto]
Frank Harrell
fonte
3
Você se importaria de elaborar o 4? Eu não entendo muito bem o que quer dizer
17
Eu teria pensado que esse item era o mais fácil de entender. Aqui está um exemplo: em um campo específico de estudo, suponha que tivéssemos experiência anterior de que a maioria das variáveis ​​opera de maneira aditiva. Ajustar um modelo de regressão aditivo que não pressupõe que os preditores operem linearmente (por exemplo, usando splines de regressão) fornecerá um modelo estatístico interpretável e útil. Usar svm ou florestas aleatórias, por outro lado, será muito difícil de interpretar, não terá efeitos separáveis ​​e não será melhor previsto do que o modelo aditivo não linear.
Frank Harrell
7
Sim, verdadeiramente à superficialidade do assunto. Nem mesmo no mundo da ML, vejo muitas vezes essa tendência a querer colocar dados brutos em uma caixa mágica e ter uma visão maravilhosa. O que essas pessoas estão procurando é um cérebro artificial.
darenw
3
+1 para o item 1, especialmente. A evidência de falta de interesse no domínio é que a aplicação do conhecimento do domínio exigirá saber como "abrir" a caixa preta e modificar. Por caixa preta, quero dizer, para grande parte do ML básico, até as técnicas básicas de modelagem estatística estão nessa caixa preta. Se o interesse / habilidade não existe, é muito mais difícil aplicar o conhecimento do domínio.
precisa
7
@ DarenW: A tendência também se reflete no nome: "Machine Learning" com a conotação que a máquina aprende ... por si só ... apenas carrega dados brutos. Compare o nome menos charmoso (mas IMO mais preciso) escolhido por Hastie, Tibshirani, et.al .: "Aprendizado Estatístico". Conotação diferente, explicações diferentes, todas referentes aos princípios estatísticos.
Assad Ebrahim
11

Aqui estão algumas coisas para fazer você se destacar da multidão:

  • Entenda o domínio ou domínios do aplicativo. Ou seja, o ambiente de negócios ou outro contexto.
  • Entenda o quadro geral. Isto é muito importante! As pessoas que estudam o aprendizado de máquina geralmente se perdem nos detalhes. Pense na imagem geral em que seus modelos de ML se encaixam. Freqüentemente, a parte ML é apenas um pequeno segmento de um sistema muito maior. Entenda todo o sistema.
  • Estude a teoria da utilidade e da decisão e a inferência bayesiana, e não apenas o que agora é considerado "o usual" modelos de ML. A inferência bayesiana é apenas uma maneira de formalizar a noção de trazer todas as informações contextuais para um problema. A teoria da utilidade e da decisão é trazer valores à cena.

A mensagem geral que se aplica aos três pontos: Olhe para o quadro geral, não se perca nos detalhes.

Robert Dodier
fonte
4

A habilidade que diferencia um minerador de dados de outros é a capacidade de interpretar modelos de aprendizado de máquina. A maioria constrói uma máquina, relata o erro e depois para. Quais são as relações matemáticas entre os recursos? Os efeitos são aditivos ou não aditivos ou ambos? Algum dos recursos é irrelevante? A máquina é esperada sob a hipótese nula de que existem apenas padrões de chance nos dados? O modelo generaliza para dados independentes? O que esses padrões significam para o problema que está sendo estudado? Quais são as inferência? Quais são as idéias? Por que um especialista em domínio deve ficar animado? A máquina levará o especialista do domínio a fazer novas perguntas e a projetar novos experimentos? O minerador de dados pode comunicar efetivamente o modelo e suas implicações para o mundo?

Jason Moore
fonte
8
+1 Concordado - embora o que você descreve seja chamado de estatística.
Thomas Speidel
4

Eu colocaria lá fora a noção de "soft skills".

  • reconhecer quem é o "especialista" para o método X e ser capaz de explorar o conhecimento deles (você não deve saber ou saber tudo sobre o que está acontecendo). A capacidade e vontade de colaborar com os outros.

  • a capacidade de traduzir ou representar "o mundo real" com a matemática usada no ML.

  • a capacidade de explicar seus métodos de diferentes maneiras para diferentes públicos - sabendo quando focar nos detalhes e quando voltar atrás e visualizar o contexto mais amplo.

  • pensando em sistemas, sendo capaz de ver como sua função se alimenta em outras áreas da empresa e como essas áreas se alimentam de seu trabalho.

  • uma apreciação e compreensão da incerteza e ter alguns métodos estruturados para lidar com isso. Ser capaz de declarar claramente quais são suas suposições.

probabilityislogic
fonte
4

Ser capaz de generalizar bem

Essa é a essência de um bom modelo. E é a essência do que faz os melhores profissionais da arte do aprendizado de máquina se destacarem da multidão.

Entendendo que o objetivo é otimizar o desempenho em dados invisíveis, não minimizar a perda de treinamento. Saber evitar o excesso e o mal encaixe. Apresentando modelos que não são muito complexos, mas não muito simples, na descrição do problema. Extrair a essência de um conjunto de treinamento, em vez do máximo possível.

É surpreendente quantas vezes, mesmo os praticantes experientes de aprendizado de máquina, deixam de seguir esse princípio. Uma razão é que os humanos não conseguem apreciar duas grandes diferenças de magnitude da teoria versus prática :

  • Quão maior é o espaço de todos os exemplos possíveis em comparação com os dados de treinamento disponíveis, mesmo quando os dados de treinamento são muito grandes.
  • Qual é o tamanho do "espaço de hipótese" completo : número de modelos possíveis para um problema, comparado ao "espaço de solução" prático: tudo o que você pode pensar e tudo o que seu software / ferramenta é capaz de representar.

N2N2N

É também o que a maioria das respostas acima disse de maneiras mais específicas e concretas. generalizar bem é apenas a maneira mais curta em que pude pensar, para colocá-lo.

arielf
fonte
2

Vejo que há duas partes ao lidar com o aprendizado de máquina na prática

  1. Engenharia (que abrange todos os algoritmos, aprendendo diferentes pacotes, programação).

  2. Curiosidade / raciocínio (capacidade de fazer melhores perguntas aos dados).

Eu acho que 'curiosidade / raciocínio' é a habilidade que distingue um dos outros. Por exemplo, se você vir os quadros de líderes das conclusões do kaggle, muitas pessoas podem ter usado algoritmos comuns (semelhantes), o que faz a diferença é como questionar os dados e formulá-los logicamente.

Chitrasen
fonte