No aprendizado não supervisionado, os dados de treinamento n...

Próximas questões
Com base no mesmo assunto
Q2383287 Engenharia de Software
No aprendizado não supervisionado, os dados de treinamento não têm rótulos. O objetivo é agrupar instâncias semelhantes em clusters. Nesse contexto, suponha que se deseja executar um algoritmo de agrupamento para tentar detectar grupos de visitantes semelhantes em um blog. Em nenhum momento é informado ao algoritmo a que grupo um visitante pertence, mas ele encontra essas conexões sem ajuda. Por exemplo, o algoritmo pode notar que 40% dos visitantes são homens que adoram histórias em quadrinhos e, geralmente, leem o blog à noite, enquanto 20% são jovens amantes de ficção científica que visitam o blog durante os fins de semana, e assim por diante. Deseja-se, nesse caso, usar um algoritmo de agrupamento hierárquico para subdividir cada grupo em grupos menores, o que pode ajudar a direcionar as postagens do blog para cada grupo específico.
Nesse cenário, qual é o algoritmo mais apropriado para fazer o agrupamento desejado?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: A - Agglomerative Hierarchical Clustering

Vamos entender por que a alternativa A é a correta e o que torna as outras alternativas inadequadas para o cenário apresentado.

O enunciado descreve um cenário de aprendizado não supervisionado, onde se deseja agrupar visitantes de um blog em clusters (grupos) com características semelhantes, sem que haja rótulos prévios indicando a qual grupo cada visitante pertence. O objetivo é realizar o agrupamento hierárquico para identificar subgrupos dentro dos grupos maiores.

O Agglomerative Hierarchical Clustering é um método de agrupamento hierárquico que começa com cada ponto de dado como um cluster individual e, em seguida, combina os clusters mais similares até que apenas um cluster, que contém todos os pontos de dados, seja formado. Esse método é ideal para dividir grupos em subgrupos menores, como desejado no cenário.

Agora, vamos analisar as alternativas incorretas:

B - Principal Component Analysis (PCA)

O PCA não é um algoritmo de agrupamento, mas sim uma técnica de redução de dimensionalidade. Ele é usado para transformar dados de alta dimensionalidade em um espaço de dimensões menores, preservando o máximo de variabilidade dos dados. Portanto, não se encaixa no contexto de agrupamento hierárquico descrito.

C - Linear Regression Clustering

A Regressão Linear é uma técnica de aprendizado supervisionado usada para modelar a relação entre variáveis independentes e uma variável dependente contínua. O termo "Linear Regression Clustering" não é amplamente reconhecido e não está relacionado ao agrupamento hierárquico ou ao aprendizado não supervisionado.

D - k-DBSCAN Clustering

O DBSCAN (Density-Based Spatial Clustering of Applications with Noise) é um algoritmo de agrupamento baseado em densidade. Embora seja uma técnica de aprendizado não supervisionado, ele não é hierárquico. Ele forma clusters encontrando regiões de alta densidade separadas por regiões de baixa densidade. Não é adequado para criar uma estrutura hierárquica de subgrupos.

E - L-Means Clustering

Não existe um algoritmo conhecido como "L-Means Clustering". Talvez tenha havido uma confusão com k-Means Clustering, que é um método de particionamento de dados, mas não hierárquico. O k-Means agrupa dados em k clusters ao minimizar a variância dentro de cada cluster, mas novamente, não cria uma hierarquia de subgrupos.

Portanto, a alternativa correta é A - Agglomerative Hierarchical Clustering, pois é o algoritmo que melhor se adequa ao objetivo de criar uma estrutura hierárquica de grupos e subgrupos de visitantes do blog conforme descrito no enunciado.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

A. Agglomerative Hierarchical Clustering:

  - Tipo: Algoritmo de clustering.

  - Método: Bottom-up, também conhecido como aglomerativo.

  - Funcionamento: Inicia considerando cada ponto de dados como um cluster individual e, em seguida, mescla os clusters mais próximos uns aos outros em etapas sucessivas.

  - Métrica de Distância: Usa uma medida de distância entre os pontos, como distância euclidiana, para determinar a proximidade entre clusters.

  - Estrutura de Saída: Uma árvore hierárquica (dendrograma), que mostra a relação de proximidade entre os clusters.

B. Principal Component Analysis (PCA):

  - Tipo: Algoritmo de redução de dimensionalidade.

  - Método: Linear.

  - Funcionamento: Identifica as direções de maior variância nos dados e projeta os dados originais nesses componentes principais.

  - Uso: Redução de dimensionalidade para visualização de dados, compressão de dados e remoção de ruído.

C. Linear Regression Clustering:

  - Tipo: Método de regressão.

  - Funcionamento: Usa um modelo de regressão linear para identificar padrões lineares nos dados.

  - Uso: Predição de uma variável dependente com base em uma ou mais variáveis independentes.

D. k-DBSCAN Clustering:

  - Tipo: Algoritmo de clustering.

  - Método: Density-based.

  - Funcionamento: Identifica regiões densas de pontos no espaço de características.

  - Parâmetros: k (número mínimo de pontos em uma vizinhança) e eps (distância máxima entre dois pontos para considerá-los vizinhos).

  - Vantagens: Capaz de identificar clusters de forma eficiente em conjuntos de dados com densidades variáveis.

E. L-Means Clustering:

  - Tipo: Algoritmo de clustering.

  - Método: Baseado em minimização de função de custo.

  - Funcionamento: Estende o k-means para lidar com dados com distribuições desiguais, ponderando a contribuição de cada ponto com base em sua importância.

  - Vantagens: Mais robusto em relação a outliers e distribuições não gaussianas em comparação com o k-means tradicional.

No aprendizado não supervisionado, os dados de treinamento não têm rótulos. O objetivo é agrupar instâncias semelhantes em clusters. Nesse contexto, suponha que se deseja executar um algoritmo de agrupamento para tentar detectar grupos de visitantes semelhantes em um blog. Em nenhum momento é informado ao algoritmo a que grupo um visitante pertence, mas ele encontra essas conexões sem ajuda. Por exemplo, o algoritmo pode notar que 40% dos visitantes são homens que adoram histórias em quadrinhos e, geralmente, leem o blog à noite, enquanto 20% são jovens amantes de ficção científica que visitam o blog durante os fins de semana, e assim por diante. Deseja-se, nesse caso, usar um algoritmo de agrupamento hierárquico para subdividir cada grupo em grupos menores, o que pode ajudar a direcionar as postagens do blog para cada grupo específico.

Nesse cenário, qual é o algoritmo mais apropriado para fazer o agrupamento desejado?

Dados não rotulados, agrupamento (clustering) e é hierárquico = Clustering hierárquico

a) Gabarito

b) PCA: Não fala em redução de dimensionalidade na questão

c) Regressão linear = Não é clustering e também é supervisionado.

d) e e) = DBSCAN Clustering e K-Means Clustering, mas ambos não são hierárquicos

Ler atentamente, resposta na própria questão: "Deseja-se, nesse caso, usar um algoritmo de agrupamento hierárquico para subdividir cada grupo em grupos menores"

Única alternativa que menciona hierarquia é a letra A) Agglomerative Hierarchical Clustering

ficou estranho pois ele queria dividir um grupo em subgrupos, o que me parece o hierarquico divisivo ao contrário do aglomerativo

DBSCAN, Hierarquical Aglomerative Clustering e L-means eram as alternativas para clusterização de dados.

Porém, a questão detalha esse algoritmo. Esse algoritmo começa a divisão dos grupos em grupos grandes e mais gerais até grupos pequenos e mais especializados. Esse algoritmo é a letra A.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo