Índice:
- Perguntas da entrevista de aprendizado de máquina
- Algoritmos
- Frameworks e linguagens
- Construindo Redes Neurais
- Modelos de avaliação (desempenho)
- Projetos
- Questões Comportamentais
Perguntas da entrevista de aprendizado de máquina
A entrevista para um engenheiro de aprendizado de máquina será muito técnica, mas é sua chance de mostrar o que o torna o melhor candidato.
Prepare-se com essas perguntas da entrevista sobre inteligência artificial e aprendizado de máquina e saiba como respondê-las.
Os entrevistadores também podem usar essa lista para criar uma entrevista que revela a capacidade dos candidatos ao aprendizado de máquina. Você aprenderá suas habilidades técnicas e sua capacidade de pensar criticamente.
Perguntas a serem esperadas em uma entrevista de aprendizado de máquina.
Flickr
Algoritmos
Esteja preparado para mostrar seu conhecimento de algoritmos de aprendizado superficial. A menos que você esteja se candidatando a uma posição estrita de Cientista de Dados, o entrevistador não vai entrar em detalhes sobre questões de algoritmo. Mas você deve ser capaz de falar sobre as entradas e quais algoritmos são mais bem usados para cada aplicação.
1. Quando você usaria KNN (k vizinhos mais próximos)?
KNN é geralmente usado para classificação. É um dos algoritmos mais simples e usados em aprendizado de máquina.
Sua resposta pode variar de acordo com sua experiência, mas eu consideraria KNN na maioria dos casos quando as classes e recursos são rotulados
2. Descreva como o SVM (Support Vector Machine) funciona. Como você pode usar SVMs com dados não lineares?
O SVM cria um hiperplano ou limite de decisão para classificar os dados de entrada com base em qual lado do limite os novos dados estão. Eles são otimizados aumentando a margem entre o limite e os pontos de dados tanto quanto possível.
Lembre-se de que os kernels costumam ser empilhados com SVMs. Os kernels transformam dados não lineares em dados lineares para que um SVM possa ser otimizado.
Frameworks e linguagens
O entrevistador vai querer saber quais linguagens e estruturas você usou. Eles também usarão essas perguntas para ter uma ideia de quão rápido você aprenderá uma nova estrutura e como você está em sintonia com as estruturas disponíveis para inteligência artificial.
3. Por que você gosta de usar
Qualquer coisa em seu currículo é um jogo justo. Especialmente as linguagens de programação que você relaciona em suas habilidades. Portanto, esteja preparado para falar sobre todos os detalhes.
Se a resposta verdadeira for que você só usou essa linguagem porque foi isso que eles usaram no seu último emprego, tudo bem. Esteja preparado para falar sobre as vantagens e desvantagens de uma linguagem do ponto de vista do aprendizado de máquina.
4. Conte-me sobre sua experiência com
Se você está familiarizado com a estrutura que a empresa usa, isso deve ser fácil para você. Certamente, se você os listou em seu currículo, poderá falar tudo sobre eles.
Se você não usou muito essa estrutura específica, isso não é necessariamente um obstáculo. Qualquer engenheiro de software que se preze deve ser capaz de se adaptar a uma nova estrutura sem uma grande curva de aprendizado. A descrição do trabalho provavelmente listará algumas das principais plataformas que a empresa usa. Faça sua pesquisa sobre eles antes do início da entrevista.
Alguns aspectos para focar ao pesquisar uma nova estrutura:
- Que tarefas ele realiza melhor?
- Quais são os pontos fortes / fracos?
- Quais linguagens têm uma boa interface com o framework?
Você precisa ser capaz de falar com inteligência sobre esse ambiente.
Se a estrutura for de código aberto, experimente em seu computador pessoal. Existem também algumas aulas online acessíveis que você pode fazer e que lhe darão uma licença temporária.
Construindo Redes Neurais
5. O que você faria se o seu algoritmo não convergisse?
Esta é uma pergunta aberta que deve ser fácil para qualquer pessoa que trabalhe com aprendizado de máquina.
Diminuir a taxa de aprendizagem (alfa) é um bom primeiro passo. Como entrevistador, gostaria de ver o candidato descrever uma abordagem mais lógica para encontrar o alfa. Experimente uma gama estratégica de alfas e plote a função de custo ao longo do número de iterações.
6. Quando você usaria Gradient Descent vs Normal Equation?
Você pode perguntar sobre os prós e os contras dos diferentes métodos para otimizar um algoritmo.
Lembre-se de que a equação normal não pode ser usada com classificação, portanto, essa comparação só importa para a regressão. A equação normal é escolhida quando o número de recursos não é muito grande. Ele tem uma vantagem sobre a descida do gradiente, pois você não precisa escolher uma taxa de aprendizado ou iterar.
Se houver muitos recursos, a equação normal é muito lenta, então eu escolheria a descida gradiente.
Espere perguntas sobre a construção de redes neurais em uma entrevista para uma posição de aprendizado de máquina ou inteligência artificial.
WikimediaCommons
Modelos de avaliação (desempenho)
Uma das principais tarefas de um engenheiro de aprendizado de máquina é otimizar uma rede neural e entender como ela funciona.
7. Por que o overfitting é ruim e como você pode corrigir isso?
Overfitting é quando um algoritmo ajusta os dados de treinamento muito bem, mas prevê com precisão novas situações. Obviamente, isso é ruim porque não é útil para situações do mundo real.
Descreva algumas maneiras de melhorar o overfitting. Adicionar um termo de regularização e aumentar lambda pode ter bons resultados. Diminuir o número de recursos ou reduzir a ordem dos polinômios são opções, mas não são as escolhas certas em todas as situações.
8. Como você sabe se o seu modelo é bom?
Isso é semelhante à pergunta acima, onde o candidato precisa entender como avaliar os modelos.
Você pode explicar como os dados de treinamento disponíveis são divididos em dados de treinamento, dados de validação e dados de teste e para que cada um é usado. Eu gostaria de ouvir um candidato falar sobre como variar o grau polinomial e lambda e comparar o erro nos dados de validação.
Projetos
Venha para a entrevista pronto para discutir projetos anteriores. Como acontece com qualquer entrevista, qualquer coisa em seu currículo é válida.
Tenha um portfólio de projetos de trabalho, escola ou para uso pessoal pronto. Você pode ser restringido no que pode dizer em um Acordo de Não Divulgação ou em um trabalho classificado, então seja claro sobre o que você pode discutir.
Aqui estão algumas perguntas que você pode esperar:
9. Qual foi seu projeto de aprendizado de máquina favorito em que você trabalhou?
Para fins desta entrevista, você pode escolher o projeto mais relevante para o trabalho como seu favorito. Isso lhe dará a chance de destacar sua experiência relevante.
Se você preferir falar sobre qual é o seu verdadeiro favorito para dar ao gerente de contratação uma ideia se você vai gostar do novo cargo, essa também é uma boa ideia.
10. Conte-me sobre um problema difícil que você resolveu.
Escolha um problema que possa ser facilmente descrito. Parte de responder bem a essa pergunta é mostrar que você pode descrever problemas complexos de aprendizado de máquina para um público não técnico.
Ao descrever sua solução, não leve o crédito, a menos que realmente tenha sido todo o seu esforço. Jogar com as contribuições de sua equipe mostrará que você é um bom jogador de equipe. Se aplicável, indique o cliente, o cronograma e os impactos do orçamento que esse problema tem. Mostre como suas contribuições agregam valor aos resultados financeiros, não apenas ao problema imediato.
Questões Comportamentais
Não se esqueça de que a entrevista provavelmente incluirá questões comportamentais. E para muitos engenheiros e cientistas de dados, essa é a parte mais difícil! Passamos tanto tempo nos preparando para as questões técnicas que esquecemos que também vão ser avaliadas pela forma como nos enquadramos na equipe.
As questões comportamentais mais importantes estão abaixo para que você possa se preparar com antecedência. Para as perguntas que solicitam a descrição de um momento específico, use o modelo STAR para delinear suas respostas. Ler