Aula 13: k-means Flashcards
Motivos para o uso do aprendizado não-supervisionado
Rotular padrões em grande conjunto de dados pode ser custoso
Padrões podem mudar durante o processo de classificação
O aprendizado não supervisionado pode ser usado na etapa de pré-processamento para o aprendizado supervisionado (ex.: redução da dimensionalidade e avaliação de regularidades nas features)
O problema do aprendizado não supervisionado…
O problema envolve estimar a distribuição de probabilidade p(x | θ) de um vetor aleatório x de um dataset X.
Se for possível assumir a forma da distribuição de cada elemento de θ, então pode-se usar métodos paramétricos, isto é, elementos que seguem uma distribuição normal. Isso na prática não é a realidade de muitos casos.
Clusterização
Procedimento que agrupa elementos de acordo com as similaridades internas entre os grupos. Para medir similaridade ou dissimilaridade entre os pontos é calculado suas distâncias (distância euclidiana entre dois pontos).
Algoritmo k-means
Um algoritmo de clusterização que agrupa elementos de um dataset em k clusters disjuntos.
Centróide de um cluster
É a média de todos os valores daquele cluster. Todos os centróides são inicializados antes da primeira iteração: Uma possibilidade é uma inicialização randômica através dos elementos.
c^i
µ_j
u_(c^(i))
c^i: Índice do centróide do cluster de x^i
µ_j: Centróide do cluster
u_(c^(i)): centróide do cluster em que o exemplo x^i foi alocado
Consequência de minimizar J (função objetiva) sem ajustar as variáveis…
Minimizar J (função objetiva) sem ajustar as variáveis leva a clusters que minimizam internamente a distância entre os pontos e ao mesmo tempo maximiza a distância entre os clusters. Essa minimização é um problema NP-hard. K-means é um procedimento subótimo e pode ficar preso a um mínimo local. Pode-se contornar isso executando k-means várias vezes e usando a função objetiva para escolher a melhor configuração dos clusters.
Consequência de ajustar as variáveis
Ajustar as variáveis significa fazer premissas e restrições sobre as variáveis. Isso pode ser feito através da extração de features por meio de técnicas de redução da dimensionalidade como o PCA e o t-SNE.
Consequência de não ajustar as variáveis
Ao não ajustar as variáveis isso leva o algoritmo a não fazer premissas ou restrições sobre as variáveis e suas features, isso permite que o algoritmo descubra os padrões e faça o agrupamento baseado somente na distância entre o centróide e um dado elemento.
Por quê o k-means é um procedimento subótimo?
Os clusters obtidos pelo k-means podem não representar a melhor ou mais precisa clusterização para um dado dataset. Isso implica que o k-means é um procedimento subótimo e que pode ficar preso à um mínimo local.
Uma alternativa pode ser rodar o k-means várias vezes e usar J (função objetiva) para escolher os melhores conjuntos possíveis.
Como escolher um bom valor para k
Existe o método do cotovelo e da silhueta, porém ajuda também ter conhecimento sobre o problema em questão.
Método da silhueta
Verifica a consistência do cluster. Para um dado ponto é medido a similaridade desse ponto em relação à outros do mesmo cluster (coesão) e ao mesmo tempo o quão dissimilar é esse ponto em relação à outros clusters (separação). Varia de -1 à +1. Se a maioria dos clusters possuem valores altos, então a configuração é considerada correta.
Como é calculado a silhueta para um ponto x
Primeiro é calculado a distância (euclidiana) média dentro do cluster a(x^i), após isso é calculado a distância média para clusters próximos b(x^i).
Idealmente se quer que a(x^i) < b(x^i), caso contrário é considerado que foi classificado erroneamente o ponto.
Exemplos de aplicações para o uso de aprendizado não-supervisionado
Segmentação em marketing
Análise de expressão genética
A cada iteração do k-means ocorre duas etapas…
Etapa 1: Atualização do centróide;
Etapa 2: Atribuição de clusters.