Questão de Algoritmos e Estrutura de Dados — Algoritmos — FUNDATEC 2023
- Código
- qq890128
- Banca
- FUNDATEC
- Órgão
- BRDE
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista de Sistemas - Ciência de Dados
- AApenas I.
- BApenas II.
- CApenas III.
- DApenas I e II.
- EI, II e III.
GabaritoB — Apenas II.
Gabarito: letra B (apenas II). O algoritmo K-NN é um método de aprendizado supervisionado do tipo lazy (preguiçoso), que armazena todo o conjunto de treinamento e, no momento da classificação, compara o exemplo de teste com todos os exemplos armazenados usando uma métrica de distância. A assertiva II descreve corretamente esse funcionamento. Já as assertivas I e III contêm erros conceituais graves: a métrica mais comum é a distância Euclidiana, não a de cosseno; e o processamento não é extremamente rápido para grandes conjuntos, sendo O(N) por consulta, e não é chamado de "avaliação ingênua".
Afirma que a distância de cosseno é a métrica mais comum e que ela representa a distância física entre pontos calculando a hipotenusa de um triângulo. Há dois erros: 1) A métrica mais utilizada em K-NN é a distância Euclidiana, que de fato mede a distância geométrica em linha reta entre dois pontos (a hipotenusa do triângulo no espaço d-dimensional). 2) A distância de cosseno mede o cosseno do ângulo entre vetores, não a distância física; seu valor varia de -1 a 1, indicando similaridade direcional, e não é uma distância no sentido geométrico clássico. Portanto a assertiva troca os conceitos.
Descreve exatamente o princípio do K-NN: armazenar o conjunto de treinamento (exemplos com classes conhecidas) e, para cada novo exemplo de classe desconhecida, compará-lo com os armazenados usando uma métrica de distância, atribuindo a classe mais frequente entre os k vizinhos mais próximos. É um algoritmo lazy (não há fase de treino explícita).
Afirma que o processamento é extremamente rápido independentemente da quantidade de exemplares e que seria chamado de naive evaluation. Na verdade, o K-NN tem complexidade O(N) por consulta (N = tamanho do conjunto de treinamento), o que torna a classificação lenta para bases grandes, a menos que se usem estruturas de indexação como árvores k-d (que não garantem velocidade extrema em altas dimensões). O termo "avaliação ingênua" não é padrão para K-NN; Naive Bayes é um classificador diferente, baseado em probabilidades condicionais com suposição de independência.
Conclusão: apenas a assertiva II está correta. Portanto, a alternativa que lista apenas II é a letra B.
Para fixar: K-NN é lazy (armazena dados, calcula na hora) e usa distância Euclidiana como padrão (não cosseno). Sua complexidade é O(N) por classificação. O termo "naive" é associado ao Naive Bayes, outro algoritmo.
Link permanente: /questoes/qq890128