Algoritmos de clustering

Os conjuntos de dados de machine learning podem ter milhões de mas nem todos os algoritmos de clustering são escalonados com eficiência. Muitos clustering algoritmos computam a semelhança entre todos os pares de exemplos, o que significa que o tempo de execução aumenta como o quadrado do número de exemplos \(n\), indicado como \(O(n^2)\) em notação de complexidade. \(O(n^2)\) os algoritmos não são prático para conjuntos de dados com milhões de exemplos.

O algoritmo k-means tem uma complexidade de \(O(n)\), o que significa que o algoritmo é escalonado linearmente com \(n\). Esse algoritmo será o foco deste curso.

Tipos de clustering

Para uma lista completa das diferentes abordagens de clustering, consulte Uma pesquisa abrangente de algoritmos de clustering Xu, D. & Tian, Y. Ana. Dados. Ciências (2015) 2: 165. Cada abordagem é mais adequada para de uma distribuição de dados específica. Este curso discute brevemente quatro abordagens.

Clustering baseado em centroide

O centroide de um cluster é o média aritmética de todos os pontos na aglomerado. O clustering baseado em Centroid (em inglês) organiza os dados em categorias não hierárquicas clusters. Algoritmos de clustering baseados em centroide são eficientes, mas sensíveis a condições iniciais e outliers. Dessas, k-means é o é amplamente utilizado. Ela exige que os usuários definam o número de centroides, k e funciona bem com clusters de tamanho aproximadamente igual.

Exemplos agrupados em clusters usando clustering baseado em centroide.
           As linhas mostram as bordas entre os clusters.
Figura 1: exemplo de clustering baseado em centroide.

Clustering baseado em densidade

O clustering baseado em densidade conecta áreas contíguas de alta densidade de exemplo a clusters. Isso permite a descoberta de qualquer número de agrupamentos de qualquer forma. Os outliers não são atribuídos a clusters. Esses algoritmos têm dificuldade clusters de diferentes densidades e dados com dimensões altas.

Exemplos agrupados em dois clusters usando clustering baseado em densidade.
      Os clusters não podem ser separados de maneira linear.
Figura 2: exemplo de clustering baseado em densidade.

Clustering baseado em distribuição

Essa abordagem de clustering pressupõe que os dados sejam compostos de distribuições de dados, como Distribuições gaussianas. Em Figura 3, o algoritmo baseado em distribuição agrupa os dados em três grupos gaussianos distribuições de dados. À medida que a distância do centro da distribuição aumenta, a probabilidade de um ponto pertencer à distribuição diminui. O show das bandas que diminuem a probabilidade. Quando não estiver confortável presumindo que um determinado dos dados, você deve usar um algoritmo diferente.

Exemplos em cluster usando clustering baseado em distribuição. O sombreamento da densidade dos exemplos em cada cluster mostra como os clusters são mapeados para distribuições.
Figura 3: exemplo de clustering baseado em distribuição.

Clustering hierárquico

O clustering hierárquico cria uma árvore de clusters. Clustering hierárquico, sem surpresas, é adequado para dados hierárquicos, como taxonomias. Consulte Comparação de 61 genomas de Escherichia coli sequenciados de Oksana Lukjancenko, Trudy Wassenaar e Dave Ussery, por exemplo. Qualquer número de clusters pode ser escolhido cortando a árvore no nível certo.

Animais agrupados usando uma árvore hierárquica.
Figura 4: exemplo de agrupamento hierárquico de árvore de animais.