Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

O que você perguntaria a um candidato que disputa por uma vaga na área de Aprendizagens de Máquinas?

+1 voto
304 visitas
perguntada Nov 20, 2015 em Aprendizagem de Máquinas por estudante (431 pontos)  

A imagem será apresentada aqui.

Compartilhe

1 Resposta

0 votos
respondida Nov 20, 2015 por danielcajueiro (5,251 pontos)  

Imagino que você faz essa pergunta, pois possivelmente estará em algum momento enfrentando uma entrevista sobre o assunto. Em uma situação ideal, eu perguntaria o seguinte:

Sobre a formação

Machine Learning

1) Por que você acredita que você tem uma formação adequada para trabalhar com Aprendizagem de Máquinas?

Veja aqui que formação que eu esperaria.

2) Eu também faria algumas perguntas de matemática básica para eliminar paraquedistas?

Uma pergunta que gosto de fazer é: Você pode me explicar o que são autovalores e autovetores?

Ou ainda:
Como são os autovalores de uma matriz positiva definida e por que?.

Existem algumas motivações importantes para esse tipo de pergunta. Autovalores e autovetores aparecem como parte essencial de vários métodos estatísticos ou computacionais. Um deles é a Análise dos componentes Principais. Matrizes positivas definidas também são super relevantes. Por exemplo, a matrix de variância-covariância é positiva definida.

3) Eu faria uma pergunta básica de algoritmos para ver se ele também tem noção sobre o assunto.

Um problema que já perguntei em várias entrevistas foi:

Qual o melhor algoritmo de ordenação disponível?

Essa pergunta é MUITO interessante. Se o candidato souber responder, ele deixa claro que, além de entender sobre complexidade computacional, ele sabe a relevância de se conhecer bem o conjunto de dados que está se trabalhando.

4) Eu poderia fazer uma pergunta muito básica de estatśitica que requer um pouco de maturidade. Veja, por exemplo, o Paradoxo de Monty Hall.

Quanto realmente você conhece o assunto?

Machine Learning

1) Eu perguntaria qual a técnica de Aprendizagem de Máquinas que ele se sente mais a vontade e pediria para ele me explicar.

Eu esperaria uma resposta nesse estilo.

Para mim é fundamental o candidato saber o que está fazendo? Pior resposta que pode existir: Por que você está usando essa técnica? Porque está na moda.

2) Qual o último artigo relevante que você leu sobre esse assunto?

Essa eu nao posso responder por você!

3) Quais os artigos de Aprendizagem de Máquinas mais te influenciaram?

Por que é relevante essa pergunta? Obviamente, eu desejo saber o quão letrado no assunto você é!

4) Se seu entrevistador estiver buscando saber se você realmente é um prolífero sobre o tema, ele pode te perguntar sobre:

a) Modelos de regressão (linear e binária)

b) Modelos para classificação

c) Redes neurais e deep learning

d) Construção de kernels

e) Estatística Bayesiana

\(\vdots\)

Problemas práticos

Netflix

1) Que solução você apresentaria para o Prêmio do Netflix? (Ou outra questão do mundo real?)

Em quanto tempo você implementaria essa solução? E, se você tivesse apenas uma semana, o que você implementaria?

2) Você já trabalhou com dados reais? Você os coletou? Como você fez a coleta?

Implementação

Computer programming

1) Qual a linguagem de programação você trabalha e porque você acha que é eficiente trabalhar com essa linguagem?

Nesse ponto, eu esperaria que Python, R ou Matlab seja uma resposta.

Eu também esperaria uma resposta que incluisse pelo menos uma linguagem compilada. Por exemplo, C++.

No futuro, eu esperaria possivelmente que as respostas incluissem: Tensor Flow ou outro sistema para a implementação de Deep Learning. Veja aqui como usar o Tensor Flow para implementar redes neurais clássicas.

Implementação computacional é fundamental para você atuar na área de Aprendizagem de máquinas. Veja por exemplo como se tornar mais hábil nesse tema aqui para iniciantes e aqui para intermediários.

2) Qual o seu pacote preferido para a implementação de machine learning? Como ele funciona internamente?

Desde quando iniciei minha graduação em Engenharia Química para mim só fazia sentido utilizar algo implementado se eu entendesse cuidadosamente toda a implementação. Tive experiências especialmente interessantes no curso que um dado orientador me sugeria usar um programa pronto. Então quando eu ía estudar o programa via várias possibilidades de melhorias e alterava todo o código original para incluir essas melhorias. Naquela a linguagem usada era Fortran.

Mãos na Massa

Hard worker

Já vi empresas que colocam o candidato em contato com uma base real e pede para ele resolver um problema específico. Nesse contexto, o avaliador considera aspectos importantes do trabalho de Aprendizagem de Máquinas e faz as seguintes considerando a solução real que ele implementou:

a) Que artigos acadêmicos ele consultou para resolver o problema?

b) Como ele limpou a base de dados?

c) Que escolhas ele fez? Linguagem, pacotes, modelos usados?

d) Como ele avaliou suas solucoes? Usou especificamente uma métrica?

e) Como esse sua solucao funcionaria se o tamanho de sua base fosse 2 vezes maior ou até 10 vezes maior?

...