Engenheiros de aprendizado de máquina: mitos versus realidades
Publicados: 2018-05-08O aprendizado de máquina é o que fornece aos computadores a capacidade de aprender e melhorar iterativamente em suas tarefas. Ele se concentra no desenvolvimento de algoritmos dinâmicos que podem mudar (se modificar) quando expostos a um novo conjunto de dados. Falando em termos simples, o aprendizado de máquina é o que faz o Facebook dizer “você quer marcar seus amigos nesta foto?” , sempre que carregar uma foto de grupo. As pessoas que trabalham nos bastidores para fazer tudo isso acontecer são humildemente conhecidas como Engenheiros de Aprendizado de Máquina.
Agora, como em todos os outros domínios sob o amplo guarda-chuva da ciência de dados, o Machine Learning também tem muitos equívocos sobre isso. E eliminá-los é precisamente o nosso objetivo para hoje. Mas é crucial que primeiro o conduzamos pela vida de um engenheiro de aprendizado de máquina, incluindo as habilidades e ferramentas que eles possuem.
Primeiro, vamos primeiro demarcar claramente o aprendizado de máquina da ciência de dados.
Índice
Os engenheiros de aprendizado de máquina são cientistas de dados?
A ciência de dados é um termo abrangente, mas há algo fundamentalmente diferente na maneira como o aprendizado de máquina funciona. A ciência de dados e os analistas exploram essencialmente os dados e tentam encontrar abordagens ou modelos que atendam aos seus requisitos de negócios.
O aprendizado de máquina, por outro lado, muda completamente esse modelo. Os engenheiros de aprendizado de máquina não estão lidando diretamente com os dados. Eles sabem os resultados que desejam, mas estão deixando os algoritmos fazerem o trabalho por eles. O aprendizado de máquina cria uma máquina que supera os campeões do Go, ou que marca fotos ou que traduz entre idiomas. Esses objetivos não são alcançados por meio da exploração cuidadosa dos dados – ao contrário do caso da análise de dados. Há muitos dados para explorar e muitas dimensões para lidar (por exemplo, qual é a dimensionalidade de um jogo Go? Ou uma linguagem?) A promessa do aprendizado de máquina é que ele constrói o próprio modelo: ele faz sua exploração de dados e afinação.
A diferença entre Data Science, Machine Learning e Big Data!
Como resultado, os engenheiros de aprendizado de máquina não “exploram” tanto quanto os cientistas de dados ou analistas – pelo menos não no verdadeiro sentido da palavra. Seu objetivo não é encontrar significado em seus dados – eles acreditam que o significado já existe. Em vez disso, eles visam construir um modelo/algoritmo/máquina/sistema que possa analisar os dados e produzir resultados. Ou, para criar uma rede neural que funcione – que pode ser ajustada para produzir resultados confiáveis em qualquer conjunto de dados de entrada.
Vejamos alguns pontos cruciais que giram em torno de engenheiros de aprendizado de máquina:
- Eles têm habilidades de engenharia de software mais fortes do que os analistas/cientistas de dados típicos. Os engenheiros de aprendizado de máquina trabalham com engenheiros responsáveis pela manutenção dos sistemas de produção. Portanto, eles precisam entender a metodologia de desenvolvimento de software, as práticas ágeis e as mais modernas ferramentas de desenvolvimento de software. Eles precisam ser completos com tudo, desde IDEs como Eclipse ou IntelliJ até os componentes de um pipeline de implantação de software.
- Os engenheiros de aprendizado de máquina se concentram em fazer os produtos de dados funcionarem na produção. Como resultado, eles são holísticos em sua abordagem. Eles formam uma parte central de qualquer equipe de desenvolvimento de software e, portanto, sabem o que é o teste A/B. Eles não apenas “entendem”, mas também sabem como realizar testes A/B em sistemas de produção. Eles entendem a importância do registro e da segurança para o destino de qualquer aplicativo.
- Eles estão atentos quando se trata de monitorar produtos de dados em produção. Embora existam muitos recursos para automatizar o processo de monitoramento de aplicativos, os requisitos de aprendizado de máquina vão um passo além. Pipelines de dados, modelos, algoritmos ou mesmo sistemas podem ficar obsoletos e precisam ser treinados novamente. Um sistema de aprendizado de máquina pode ser facilmente distorcido ao comprometer os pipelines de dados que o alimentam. Portanto, os engenheiros de aprendizado de máquina sempre precisam saber como detectar esses comprometimentos.
Algumas habilidades necessárias para um engenheiro de aprendizado de máquina bem-sucedido:
- Conhecimentos básicos de informática e programação
- Probabilidade e estatísticas
- Modelagem e avaliação de dados
- Encontrar a biblioteca de ML certa para usar e ajustá-la conforme e quando necessário
- Engenharia e modelagem de software

Mito 1: Engenheiros de aprendizado de máquina fazem os sistemas pensarem exatamente como humanos.
Embora este seja um objetivo final eventual, está longe de ser verdade no momento. Compare brevemente o processo de aprendizado de uma criança com o de uma máquina e você perceberá que o aprendizado de máquina ainda está em sua infância. Por exemplo, um bebê não precisa observar centenas de humanos para coisas simples como andar ou comer. Eles definem seus próprios objetivos, percebem outros humanos ao redor, criam intuitivamente sua estratégia de aprendizado e a refinam por meio de tentativa e erro até que tenham sucesso. Mesmo sem muita intervenção ou orientação externa, um bebê pode aprender a andar com sucesso, além de outras coisas essenciais.
As máquinas, por outro lado, exigem supervisão em cada etapa do aprendizado. Além disso, uma criança combina sem esforço várias entradas recebidas de vários órgãos dos sentidos de forma holística e eficiente. Por exemplo, uma criança será capaz de reconhecer imagens em um instante e também entender qualquer texto escrito sobre elas. Mas, para ensinar a mesma coisa a uma máquina, precisamos de algoritmos sofisticados separados, cada um para reconhecer dados, identificar ruídos e entender o texto.

Mito 2: Todos os dados são úteis para engenheiros de aprendizado de máquina.
Não há dúvida de que os engenheiros de aprendizado de máquina também precisam de dados, mas nem todos são relevantes para o aprendizado de máquina. Eles precisam de dados representativos que cubram os padrões e resultados que seu sistema precisará lidar. Os dados não devem ter padrões irrelevantes incluídos porque o modelo de aprendizado de máquina refletirá esses padrões não relacionados e os procurará nos dados com os quais será usado.
Todos os dados que você usa para treinamento precisam ser bem rotulados e rotulados com os recursos que correspondem às perguntas que você fará ao sistema de aprendizado de máquina, o que exige muito trabalho. Todos esses dados precisam ser bem rotulados com os recursos que correspondem às perguntas que você fará ao seu sistema. Também deve ser puro e livre de quaisquer inconsistências ou erros. Portanto, todos os dados não são valiosos para engenheiros de aprendizado de máquina – apenas os dados relevantes são!
Fique de olho na próxima grande novidade: aprendizado de máquina
Mito 3: Os engenheiros de aprendizado de máquina ignoram o conhecimento pré-existente.
Especialistas em muitos campos descartam o aprendizado de máquina por adotar uma abordagem de “tábula em branco” em seus algoritmos de aprendizado. Eles assumem que todos os algoritmos de aprendizado de máquina começam do zero – sem conhecimento de dados pré-existentes. Os engenheiros de aprendizado de máquina entendem melhor que o aprendizado é um processo longo que requer monitoramento constante. Não pode ser imitado apenas alimentando os dados em um algoritmo. Portanto, nem todos os algoritmos de aprendizado começam do zero; alguns usam conjuntos de dados para refinar um conjunto pré-existente de conhecimento. No final do dia, depende dos requisitos de negócios da organização.
Mito 4: Modelos de aprendizado de máquina mais simples são sempre mais precisos.
Isso está de acordo com a navalha de Occam. Mas, digamos que a navalha apenas diz que explicações mais simples são preferíveis, não por quê. Eles são preferidos porque são mais fáceis de entender, lembrar e lidar. No entanto, quando se trata de aprendizado de máquina, às vezes a hipótese mais simples consistente com os dados é menos precisa para previsão do que uma mais complicada. Alguns dos algoritmos de aprendizado mais potentes produzem modelos que parecem gratuitamente elaborados – às vezes até mesmo continuando a adicioná-los depois de ajustarem corretamente os dados – mas é assim que eles superam os menos poderosos.

Aprenda ML Course Online das melhores universidades do mundo. Ganhe Masters, Executive PGP ou Advanced Certificate Programs para acelerar sua carreira. Como o Aprendizado de Máquina faz parte da Ciência de Dados, uma combinação de Ciência da Computação e Matemática, o conhecimento de matemática é uma obrigação para os engenheiros de Aprendizado de Máquina. Você precisará de conhecimento de conceitos matemáticos como álgebra linear, cálculo, otimização, probabilidade e estatística para criar e entender os algoritmos de Machine Learning. Para ser mais exato, você precisará ter uma ideia básica das operações matemáticas que ajudam na análise de dados. Mas a melhor parte é que você pode aprender esses conceitos básicos de matemática com o tempo enquanto aprende Machine Learning, e a maioria desses conceitos é moderadamente fácil de entender. Sabemos que a Ciência de Dados e o Aprendizado de Máquina estão intrinsecamente ligados, então o Aprendizado de Máquina só será tão bom quanto os dados fornecidos e a capacidade dos algoritmos de ingeri-los. Os cientistas de dados serão obrigados a ter uma compreensão básica de Machine Learning. Os cientistas de dados extraem conhecimento útil de grandes quantidades de dados. Eles revelam tendências e auxiliam no desenvolvimento de soluções para automatizar determinadas operações de negócios. Para previsões e estimativas precisas, os Cientistas de Dados devem entender o Machine Learning. Isso pode ajudar os robôs a fazer melhores julgamentos e ações mais sábias em tempo real, sem a necessidade de interação humana. A mineração e a interpretação de dados estão sendo transformadas pelo Machine Learning. Os procedimentos estatísticos tradicionais foram substituídos por conjuntos automatizados mais precisos de algoritmos genéricos. Python é a linguagem mais utilizada para análise de dados e Machine Learning. A maioria dos engenheiros de Machine Learning escolhem Python para desafios de NLP, R ou Python são preferidos para trabalhos de análise de sentimentos e Java é usado para outros aplicativos de Machine Learning, como segurança e detecção de ameaças. O Python se tornou a linguagem preferida para análise de dados, aprendizado de máquina e inteligência artificial (IA) por causa de seu extenso ecossistema de bibliotecas, que permite que profissionais de aprendizado de máquina acessem, gerenciem, convertam e analisem dados com facilidade. O Python é popular entre os desenvolvedores de Machine Learning devido à sua independência de plataforma, simplicidade e legibilidade. A matemática é uma obrigação para engenheiros de Machine Learning?
Os cientistas de dados precisam de Machine Learning?
Qual linguagem de codificação é preferida pelos engenheiros de ML?