Guia de Aprendizado de Máquina: Árvores, KNN, SVM e K-means
Classificado em Computação
Escrito em em
português com um tamanho de 7,75 KB
Defina árvores de decisão e seu funcionamento.
É a representação de uma tabela de decisão sob a forma de árvore. Tem como funcionamento a entrada de um conjunto de atributos e a saída de uma decisão ou previsão, dada a entrada.
Sobre árvores de decisão, descreva os seguintes termos:
- Nó: teste de um valor de uma propriedade.
- Ramo: resultados possíveis do teste.
- Folha: valor a ser retornado se aquela folha for alcançada.
- Exemplos positivos: são aqueles que levam a uma resposta positiva.
- Exemplos negativos: são aqueles que levam a uma resposta negativa.
- Princípio de Ockham: utilizar apenas as premissas que tragam resultados e eliminar as que não fazem diferença.
Quais são os 4 passos que devem ser seguidos por um algoritmo de geração de árvores de decisão a partir de exemplos? Explique cada passo.
- Enquanto existirem exemplos positivos e negativos, deve-se escolher o melhor atributo para dividi-los.
- Se todos os exemplos restantes forem positivos (ou todos negativos), então podemos responder Sim ou Não.
- Se não existirem exemplos restantes, retorna um valor padrão calculado a partir da classificação da maioria dos atributos do nó pai.
- Se não existirem atributos restantes, mas ainda existirem exemplos positivos e negativos, temos um problema.
Defina Entropia.
Impureza de uma coleção arbitrária de exemplos.
Como medir o desempenho de um algoritmo de aprendizado? Descreva o processo de avaliação.
- Divide-se o conjunto total de exemplos conhecidos em dois conjuntos: Conjunto de Treinamento e Conjunto de Teste.
- Gera-se uma hipótese h (árvore de decisão) com base no Conjunto de Treinamento.
- Para cada exemplo do Conjunto de Teste, classifica-se o exemplo utilizando a árvore de decisão criada a partir do conjunto de treinamento.
- Verifica-se a quantidade de exemplos de teste classificados corretamente e calcula-se a porcentagem de acertos.
- Escolhe-se aleatoriamente um novo conjunto de exemplos de treinamento (normalmente com um número maior de exemplos) e repete-se novamente o processo.
O que é o KNN? Descreva os 3 passos que são realizados pelo algoritmo.
- Calcular a distância entre o exemplo desconhecido e os outros exemplos do conjunto de treinamento.
- Identificar os K vizinhos mais próximos.
- Utilizar o rótulo da classe dos vizinhos mais próximos para determinar o rótulo de classe do exemplo desconhecido (votação majoritária).
Dê 2 exemplos de métricas que podem ser utilizadas para medir distância.
Metros, centímetros.
Descreva os pontos positivos e negativos do KNN.
- Vantagens:
- Técnica simples e facilmente implementada.
- Bastante flexível.
- Em alguns casos apresenta ótimos resultados.
- Desvantagens:
- Classificar um exemplo desconhecido pode ser um processo computacionalmente complexo. Requer um cálculo de distância para cada exemplo de treinamento.
- Pode consumir muito tempo quando o conjunto de treinamento é muito grande.
- A precisão da classificação pode ser severamente degradada pela presença de ruído ou características irrelevantes.
Descreva o SVM e defina vetores suporte.
Consiste em um método de aprendizado que tenta encontrar a maior margem para separar diferentes classes de dados. Os vetores de suporte são os exemplos de treinamento realmente importantes.
Por que outliers e exemplos rotulados erroneamente podem prejudicar o desempenho do SVM?
Pois podem atrapalhar a construção de um hiperplano ótimo.
Como proceder em caso de problemas não linearmente separáveis?
Mapear os dados para um espaço de dimensão maior.
Descreva os pontos positivos e negativos do SVM.
- Vantagens:
- Consegue lidar bem com grandes conjuntos de exemplos.
- Trata bem dados de alta dimensão.
- O processo de classificação é rápido.
- Desvantagens:
- É necessário definir um bom Kernel.
- O tempo de treinamento pode ser bem longo dependendo do número de exemplos e dimensionalidade dos dados.
Defina aprendizado não supervisionado e sua diferença entre o aprendizado supervisionado. Em quais situações deve/pode ser aplicado?
- Supervisionado (rotulado): contém tanto entrada (atributo) quanto saída (classe).
- Não supervisionado: não contém entrada.
Usa-se quando não se conhece o conteúdo da base de dados.
Qual é o maior ramo de aplicação do aprendizado não supervisionado?
Quando se deseja descobrir similaridades e diferenças.
Quais são as etapas do processo de aprendizado não supervisionado?
- Seleção de atributos.
- Medida de proximidade.
- Critério de agrupamento.
- Algoritmo de agrupamento.
- Verificação dos resultados.
- Interpretação dos resultados.
Quais os principais tipos de clusters?
Clusters compactos, clusters alongados, clusters esféricos e elipsoidais.
Defina medidas de dissimilaridade e medidas de similaridade. Apresente 2 exemplos de cada.
- Dissimilaridade: Métrica Ip ponderada; Distância de Hamming.
- Similaridade: Produto interno (inner); Medida de Tanimoto.
Descreva o funcionamento dos algoritmos de clusterização sequenciais.
Para um dado vetor de características, designá-lo para um cluster existente ou criar um novo cluster (depende da distância entre o vetor e os clusters já formados).
Descreva o funcionamento dos algoritmos de clusterização hierárquicos.
- Aglomerativos: Produzem uma sequência de agrupamentos com um número decrescente de clusters a cada passo. Os agrupamentos produzidos em cada passo resultam da fusão de dois clusters em um.
- Divisivos: Atuam na direção oposta, isto é, eles produzem uma sequência de agrupamentos com um número crescente de clusters a cada passo. Os agrupamentos produzidos em cada passo resultam da partição de um único cluster em dois.
Descreva o k-means e apresente seus pontos positivos e negativos.
- É a técnica mais simples de aprendizagem não supervisionada.
- Consiste em fixar k centróides (de maneira aleatória), um para cada grupo (clusters).
- Associar cada indivíduo ao seu centróide mais próximo.
- Recalcular os centróides com base nos indivíduos classificados.
Descreva o algoritmo do k-means.
- Selecione k centróides iniciais.
- Forme k clusters associando cada exemplo ao seu centróide mais próximo.
- Recalcule a posição dos centróides com base no centro de gravidade do cluster.
- Repita os passos 2 e 3 até que os centróides não sejam mais movimentados.