O que é Agrupamento de Dados?
Transcrição
O que é Agrupamento de Dados?
AGRUPAMENTO DE DADOS SEMI-SUPERVISIONADO NO CONTEXTO DE APRENDIZADO DE MÁQUINA Jornada Científica UFSCar - 2009 Priscilla de Abreu Lopes [email protected] JC UFSCar 2009 AGRUPAMENTO DE DADOS INTRODUÇÃO 1. 2. 3. 4. Aprendizado de Máquina O que é Agrupamento de Dados? Por que utilizar Agrupamento? Processo de Agrupamento APRENDIZADO DE MÁQUINA Avanços da tecnologia computacional Maior capacidade de armazenamento Crescimento de aplicações JC UFSCar 2009 Internet, digitalização de imagens, captura de vídeo Volume: 281 exabytes em 2007; 10 vezes maior em 2011 (Gantz, 2008) 3 APRENDIZADO DE MÁQUINA Aplicações automáticas Análise de dados Classificação Recuperação de informação Dados não-estruturados JC UFSCar 2009 Dificuldade de análise Avanço das metodologias 4 APRENDIZADO DE MÁQUINA Reconhecimento de padrões Modelagem preditiva JC UFSCar 2009 Dado um conjunto de treinamento, deseja-se predizer o comportamento dos dados desconhecidos Aprendizado Supervisionado Não-supervisionado Classificação, apenas dados rotulados Agrupamento ou clustering, apenas dados não rotulados Semi-supervisionado Híbrido, dados rotulados e não rotulados, restrições 5 O QUE É AGRUPAMENTO DE DADOS? JC UFSCar 2009 A organização de dados em grupos é uma das formas mais fundamentais para entendimento e aprendizado. Ex: Taxonomia animal 6 O QUE É AGRUPAMENTO DE DADOS? JC UFSCar 2009 Análise de grupos ou clusters é o estudo de algoritmos e métodos para agrupar objetos de acordo com suas características. Dada uma representação de n objetos, encontrar K grupos baseando-se em uma medida de similaridade, tal que objetos dentro de um mesmo grupo são semelhantes e objetos de grupos diferentes são distintos. O que é similaridade? Quão semelhantes são dois objetos diferentes de um conjunto de dados O que é um grupo? Ideal: conjunto compacto e isolado de pontos (objetos) Real: subjetivo, nos olhos de quem vê 7 O QUE É AGRUPAMENTO DE DADOS? JC UFSCar 2009 (Jain, 2008) 8 POR QUE UTILIZAR AGRUPAMENTO? Análise de grupos é utilizada, especialmente, em casos de dados multivariados. A vasta literatura sobre agrupamento de dados mostra a importância deste tema. JC UFSCar 2009 Uma busca pelas palavras “data clustering” resultou em mais de 1.600 trabalhos, apenas de 2007 (Jain, 2008). Difícil listar todos os campos onde já foram/podem ser utilizadas as técnicas de agrupamento 9 POR QUE UTILIZAR AGRUPAMENTO? Algumas aplicações: Segmentação de imagens Agrupamento de documentos (Arabie & Hubert, 1994) Gerenciamento e planejamento de força de trabalho (Iwayama & Tokunaga, 1995), (Sahami, 1998), (Bhatia & Deogun, 1998) Agrupamento de clientes para marketing eficiente (Frigui& Krishnapuram, 1999), (Jain & Flynn, 1996), (Shi & Malik, 2000) JC UFSCar 2009 (Hu et al. , 2007) Estudo de dados de genoma (Baldi & Hatfield, 2002) 10 PROCESSO DE AGRUPAMENTO Similaridade Agrupamento Validação Interpretação dos Resultados (Jain, Murty e Flynn, 1999) JC UFSCar 2009 Preparação de Padrões 11 PROCESSO DE AGRUPAMENTO Preparação de Padrões Matriz de padrões Matriz e grafo de similaridade JC UFSCar 2009 Normalização do conjunto Seleção de características Extração de características Representação Similaridade Definição de medidas (Gordon, 1999) Características contínuas: distâncias baseadas na métrica Minkowski (distância Euclidiana, distância de Manhattan) Características binárias: distância de Manhattan Características nominais: coeficiente de casamento simples, coeficiente de Jaccard 12 PROCESSO DE AGRUPAMENTO Agrupamento Validação Avaliação da qualidade e confiabilidade dos clusters gerados JC UFSCar 2009 Aplicação de um algoritmo de agrupamento Métodos estatísticos Interpretação dos Resultados Avaliação do resultado do agrupamento com objetivo de descrever a natureza dos grupos gerados 13 JC UFSCar 2009 MÉTODOS DE AGRUPAMENTO NÃOSUPERVISIONADO 1. Agrupamento Hierárquico 2. Agrupamento Particional a. Algoritmo K-means AGRUPAMENTO HIERÁRQUICO JC UFSCar 2009 Procedimento para transformação de uma matriz de similaridade em uma sequência de partições aninhadas. 15 AGRUPAMENTO HIERÁRQUICO Abordagem Aglomerativa (bottom-up) Inicia com agrupamento disjunto, onde cada um dos n objetos é um cluster. Pela matriz de similaridade, os cluster individuais são aninhados em novos clusters Cada algoritmo especifica a interpretação da matriz de similaridade JC UFSCar 2009 Repete-se o processo, que diminui o número de clusters, até que haja apenas um único cluster contendo todos os n objetos 16 AGRUPAMENTO HIERÁRQUICO Abordagem Divisiva (top-down) Inicia com um único grupo que contém todos os n objetos. Pela matriz de similaridade, os clusters que contém mais de 1 objeto são divididos em sub-clusters Cada algoritmo especifica a interpretação da matriz de similaridade JC UFSCar 2009 Repete-se o processo, que aumenta o número de clusters, até que haja um cluster para cada um dos n objetos 17 AGRUPAMENTO HIERÁRQUICO Métodos Single-Link e Complete-Link Abordagem aglomerativa Representam os objetos como vértices de um grafo Processo para aninhar clusters consiste na criação de arestas entre objetos pouco dissimilares Embora ambos utilizem conceitos da teoria dos grafos para aninhar os clusters, as análises são feitas de formas diferentes JC UFSCar 2009 Single-link: número de sub-grafos conexos Complete-link: formação de sub-grafos completos 18 G(0) G(1) AGRUPAMENTO HIERÁRQUICO JC UFSCar 2009 19 (Jain & Dubes, 1988) AGRUPAMENTO HIERÁRQUICO Clusters aninhados Clusters que não existem Agrupamento agrupáveis em conjuntos com objetos não JC UFSCar 2009 Difícil visualização quanto maior o número de objetos dentro do conjunto de dados Mesmo método, resultados distintos Maioria dos algoritmos não melhora os clusters Popular nas ciências biológica, social e comportamental, devido à necessidade de construir taxonomias 20 AGRUPAMENTO PARTICIONAL Procedimento para encontrar todos os clusters simultaneamente, como uma partição dos dados JC UFSCar 2009 21 ALGORITMO K-MEANS O K-means é um dos mais populares e simples algoritmos de agrupamento. Publicado na década de 50 Apesar do grande número de publicações com diferentes algoritmos de agrupamento, o K-means ainda é amplamente utilizado É um algoritmo de fácil implementação e é eficiente JC UFSCar 2009 22 ALGORITMO K-MEANS Agrupar os dados em k subconjuntos disjuntos, de maneira que a soma das distâncias entre os padrões pertencentes a um agrupamento e seu respectivo centro seja mínima. O centro de cluster ou protótipo representa o ponto médio dos pontos pertencentes a um determinado agrupamento. JC UFSCar 2009 23 ALGORITMO K-MEANS Entradas: 1. 2. 3. 4. Definir os primeiros k centros de clusters Alocação de pontos em clusters por cálculo da similaridade entre um ponto xi e cada um dos centros de clusters. Atualização dos centros de clusters Repete 2 e 3 até que não ocorra realocação de pontos ou o número máximo de iterações seja alcançado Saída: C = {C1, ..., Ck}: partição do conjunto de dados X JC UFSCar 2009 X = {x1, x2, ... xn}: conjunto de dados com n pontos; k: número de grupos que serão criados 24 ALGORITMO K-MEANS JC UFSCar 2009 25 Conjunto X ALGORITMO K-MEANS JC UFSCar 2009 26 Definição dos centros ALGORITMO K-MEANS JC UFSCar 2009 27 Iteração 2 ALGORITMO K-MEANS JC UFSCar 2009 28 Iteração 3 ALGORITMO K-MEANS JC UFSCar 2009 29 Final JC UFSCar 2009 MÉTODOS DE AGRUPAMENTO SEMISUPERVISIONADO 1. Agrupamento Semi-Supervisionado 2. Abordagem Baseada em Sementes Abordagem Baseada em Restrições Algoritmos a. Algoritmo SEEDED-K-means b. Algoritmo COP-K-means c. Algoritmo CONSTRAINED-K-means 3. 4. AGRUPAMENTO SEMI-SUPERVISIONADO Diversos algoritmos com o objetivo de melhorar o agrupamento de dados explorando algum tipo de supervisão foram propostos nos últimos anos. A informação disponível para rotulação dos dados tem sido utilizada em duas abordagens diferentes: JC UFSCar 2009 Abordagem baseada em restrições Abordagem baseada em sementes Em ambas, são realizadas modificações em algoritmos de agrupamento para que estes utilizem a informação disponível com o objetivo de obter um particionamento mais adequado 31 ABORDAGEM BASEADA EM SEMENTES Métodos que compreendem esta abordagem utilizam-se de dados rotulados para obter melhor agrupamento. Uma quantidade pequena de dados rotulados são utilizados junto a uma grande quantidade de dados não rotulados. JC UFSCar 2009 Em alguns métodos, um número grande de exemplos rotulados pode afetar o desempenho do algoritmo e resultar em um agrupamento de baixa qualidade Algoritmo SEEDED-K-means 32 ABORDAGEM BASEADA EM RESTRIÇÕES É uma abordagem bastante comum para a utilização de informação extra de um conjunto de dados. Especificação de restrições entre pares de pontos Must-link JC UFSCar 2009 O par pertence ao mesmo cluster Cannot-link O par não pertence ao mesmo cluster 33 ABORDAGEM BASEADA EM RESTRIÇÕES As restrições são, geralmente, obtidas com a ajuda de um especialista no domínio do conjunto. Há poucos trabalhos a respeito da obtenção automática de restrições a partir do conjunto de dados JC UFSCar 2009 Restrição com relação a atributos, ao invés de restrições entre instâncias Algoritmo COP-K-means Algoritmo PCK-means 34 ALGORITMO SEEDED-K-MEANS Variante do K-means Particiona os dados em k clusters Utiliza exemplo inicialmente rotulados para calcular os centros iniciais dos clusters (SEED) Dado um conjunto de exemplos E, tem-se S como subconjunto de E. Na inicialização do algoritmo, o usuário deve atribuir a cada elemento de S um dos clusters a serem encontrados. Exigência: para cada cluster deve haver pelo menos uma semente As sementes são utilizadas apenas na inicialização do algoritmo JC UFSCar 2009 35 ALGORITMO COP-K-MEANS Variante do K-means. Utilização de conhecimento prévio, descrito na forma de relações entre os exemplos. Must-link Cannot-link As restrições são impostas pelo usuário nos exemplos rotulados. Durante a construção da partição, cada exemplo do conjunto de exemplos não rotulados é associado ao cluster mais proximo. JC UFSCar 2009 36 ALGORITMO CONSTRAINED-K-MEANS Híbrido entre as abordagens baseadas em sementes e restrições. Melhoria do SEEDED-K-means, utiliza-se de restrições. Os exemplos que fazem parte do conjunto das sementes não poderão ser associados a um outro cluster. É mais adequado quando as sementes estão livres de ruídos. JC UFSCar 2009 37 JC UFSCar 2009 MÉTODOS DE AGRUPAMENTO FUZZY 1. Introdução a Sistemas Fuzzy 2. Agrupamento Não-Supervisionado a. Algoritmo Fuzzy C-Means Agrupamento Semi-Supervisionado 1. Algoritmo semi-supervised Fuzzy C-Means 2. Algoritmo partially supervised Gustafson & Kessel 3. Algoritmo semi-supervised Point Prototype Clustering 3. INTRODUÇÃO A SISTEMAS FUZZY Conjuntos convencionais (crisp) podem ser definidos por Enumeração de elementos Propriedades dos elementos {1, 2, 3, 4, 5, ..., 20} JC UFSCar 2009 A = {x em N | x é par} Função característica A: X {0, 1} Se o elemento x pertence ao domínio X, então A(x) = 1 Se o elemento x não pertence ao domínio X, então A(x) = 0 39 INTRODUÇÃO A SISTEMAS FUZZY Conjuntos fuzzy são definidos por Função de pertinência A: X [0, 1] Onde X é o conjunto base e A é o conjunto fuzzy Elementos do conjunto base pertencem ao conjunto com um certo grau, que usualmente varia entre 0 e 1. A função de pertinência mapeia elementos do conjunto base X em um número real entre 0 e 1. JC UFSCar 2009 40 INTRODUÇÃO A SISTEMAS FUZZY JC UFSCar 2009 41 INTRODUÇÃO A SISTEMAS FUZZY Representação de categorias Variável temperatura JC UFSCar 2009 42 INTRODUÇÃO A SISTEMAS FUZZY Formas de conjuntos fuzzy JC UFSCar 2009 43 INTRODUÇÃO A SISTEMAS FUZZY Representação por lista Temperatura Alta (TA) Temperatura Média (TM) TM = 0/10 + 0,5/15 + 1/20 + 0,5/25 + 0/30 + 0/35 +0/40 JC UFSCar 2009 TA = 0/10 + 0/15 + 0/20 + 0/25 + 0/30 + 0,5/35 + 1/40 44 INTRODUÇÃO A SISTEMAS FUZZY Operações (união, intersecção, complemento, ...) Relações (produto cartesiano, projeção, ...) Propriedades de relações (reflexão, simetria, transitividade, ...) Variáveis fuzzy Lógica fuzzy Raciocínio aproximado JC UFSCar 2009 Regras, inferência, implicação Cálculo com regras 45 INTRODUÇÃO A SISTEMAS FUZZY Sistemas fuzzy Classificação Inferência Genéticos Agrupamento fuzzy JC UFSCar 2009 Formação de partições fuzzy ou pseudo-partições fuzzy Pseudo-partição fuzzy X = {x1, x2, x3} A1 = 0.6/x1 + 1/x2 + 0.1/x3 A2 = 0.4/x1 + 0/x2 + 0.9/x3 {A1, A2} é uma partição 2-fuzzy de X 46 AGRUPAMENTO NÃO-SUPERVISIONADO Algoritmo K-means Divisão de grupos a partir de centróides (centros de clusters) Um padrão pertence a um grupo de forma disjunta, ou seja, pertence a um grupo e somente àquele grupo JC UFSCar 2009 Algoritmo Fuzzy C-Means (FCM) Semelhante ao K-means Cada padrão possui um grau de pertinência à cada grupo Pseudo-partições Fuzzy para divisão dos padrões de um conjunto em grupos 47 ALGORITMO FUZZY C-MEANS (FCM) Entradas: 1. 2. Selecionar uma pseudo-partição Fuzzy inicial Calcular os centros de clusters para a pseudo-partição 3. 4. JC UFSCar 2009 X: conjunto de dados c: número de clusters m: (1, ∞) nível de fuzzificação (influência dos graus de pertinência) ε: erro, critério de parada Média Ponderada Atualizar a pseudo=partição Fuzzy Repete 2 e 3 até que a diferença entre a pseudopartição(t) e a pseudo-partição(t+1) seja menor ou igual ao erro ε, ou alcance o máximo de iterações Saída: Pseudo-partição Fuzzy e centros de clusters 48 AGRUPAMENTO SEMI-SUPERVISIONADO Algoritmo semi-supervised FCM (ssFCM) – (Bensaid et al., 1996) Algoritmo partially supervised Gustafson & Kessel (psGK) – (Pedrycz, 1985), (Pedrycz & Waletzky, 1997) Algoritmo semi-supervised Point Prototype Clustering (ssPPC) – (Bensaid & Bezdek, 1998), (Labzour et al., 1998) JC UFSCar 2009 49 ALGORITMO SEMI-SUPERVISED FCM (SSFCM) Baseado no algoritmo FCM Objetivos: Escolha do número de clusters Associação de rótulos aos grupos definidos pelo algoritmo Funções de desempenho que tendem a igualar o número de membros de cada cluster JC UFSCar 2009 50 ALGORITMO SEMI-SUPERVISED FCM (SSFCM) JC UFSCar 2009 51 ALGORITMO SEMI-SUPERVISED FCM (SSFCM) JC UFSCar 2009 52 ALGORITMO SEMI-SUPERVISED FCM (SSFCM) Modificações: Introdução de exemplos rotulados: o conjunto de dados X é substituído pela união de Xr e Xnr. Pertinência de exemplos rotulados não é alterada, refletindo no cálculo das pseudo-partições Peso atribuído ao exemplos rotulados para realizar o cálculo dos centróides. JC UFSCar 2009 Peso definido de acordo com o grau de influência do exemplo rotulado Peso definido por um mesmo valor aleatório para todos os exemplos rotulados 53 ALGORITMO PARTIALLY SUPERVISED GUSTAFSON & KESSEL (PSGK) Extensão semi-supervisionada do método descrito por (Gustafson & Kessel, 1978) Utilização de uma distância quadrática adaptativa no lugar da distância Euclidiana (FCM). Conjunto de dados é a união de Xr e Xnr. Vetor de valores binários que indica quais são os dados rotulados (valor 1) e quais não são (valor 0). Cálculo para atualização das partições é modificado para incluir um termo de penalidade que balanceia a influência dos exemplos rotulados. JC UFSCar 2009 54 ALGORITMO SEMI-SUPERVISED POINT PROTOTYPE CLUSTERING (SSPPC) JC UFSCar 2009 Utiliza exemplos rotulados para definir variáveis de entrada de agrupamento não supervisionado e para realizar o ajuste do grau de pertinência dos exemplos não rotulados aos clusters. Separa o conjunto de dados X em Xr e Xnr. O algoritmo de agrupamento não supervisionado pode ser qualquer um do tipo point-prototype O K-means e o FCM são exemplos, pois realizam divisão de grupos a partir de centróides (protótipos) 55 ALGORITMO SEMI-SUPERVISED POINT PROTOTYPE CLUSTERING (SSPPC) 2. JC UFSCar 2009 1. Passos principais: Aplicação de um algoritmo de agrupamento pointprototype ao conjunto Xnr, com número de clusters igual a nr (|Xr| = nr), ou seja, há um cluster para cada exemplo rotulado. Saída: vetor V contendo os centros de clusters e uma matriz com o grau de pertinência de cada padrão não rotulado aos grupos. Determinação de um rótulo para cada um dos nr clusters obtidos em 1, baseando-se na distância entre os protótipos e os exemplos rotulados 56 ALGORITMO SEMI-SUPERVISED POINT PROTOTYPE CLUSTERING (SSPPC) 3. JC UFSCar 2009 Cálculo do grau de pertinência de cada exemplo não rotulado a um rótulo, com auxílio da partição obtida após a aplicação do algoritmo pointprototype. 57 COMPARAÇÃO ENTRE ALGORITMOS JC UFSCar 2009 58 (Klose & Kruse, 2005) COMPARAÇÃO ENTRE ALGORITMOS JC UFSCar 2009 59 (Klose & Kruse, 2005) COMPARAÇÃO ENTRE ALGORITMOS JC UFSCar 2009 60 (Klose & Kruse, 2005) COMPARAÇÃO ENTRE ALGORITMOS JC UFSCar 2009 61 (Klose & Kruse, 2005) JC UFSCar 2009 EXEMPLOS PRÁTICOS EXEMPLOS PRÁTICOS Acesso: Exemplos Implementações do aluno de IC Fábio Henrique Farath Bases de dados no formato ARFF para utilizar com as implementações mencionadas anteriormente Framework JMinHEP – análise de clusters Repositório UCI de base de dados para Aprendizado de Máquina JC UFSCar 2009 http://www.dc.ufscar.br/~priscilla_lopes/jornada 63 REFERÊNCIAS BIBLIOGRÁFICAS JC UFSCar 2009 ARABIE, P., HUBERT, L. 1994. Advanced methods in marketing research. Oxford: Blackwell. Chap. Cluster Analysis in Marketing Research, páginas 160–189. BALDI, P., HATFIELD, G. 2002. Dna microarrays and gene expression. Cambridge University Press. BENSAID, A.M., BEZDEK, J.C., Semi-supervised point prototype clustering. Pattern Recognition Artif. Intell. 12 (2) .1998. 625–643. BENSAID, A. M.,HALL, L. O.,BEZDEK, J. C.,CLARKE, L. P. Partially supervised clustering for image segmentation. Pattern Recognition. v. 29, n. 5, p. 859–871, 1996. BHATIA, S., & DEOGUN, J. 1998. Conceputal clustering in information retrieval. Ieee transactions on systems, man and cybernetics, 28(B), 427–436. DUDA, R., HART, P., STORK, D. 2001. Pattern classification. New York: John Wiley & Sons. FRIGUI, H., KRISHNAPURAM, R. 1999. A robust competitive clustering algorithm with applications in computer vision. Ieee transactions on pattern analysis and machine intelligence, 21, 450–465. GANTZ, J. F. 2008. The diverse and exploding digital universe. Disponível em: http://www.emc.com/collateral/analyst-reports/diverseexploding-digital-universe.pdf. GORDON, A. D. Classification. Chapman & Hall/CRC. 1999. GUSTAFSON, D. E., KESSEL, W. C., 1978. Fuzzy clustering with a fuzzy covariance matrix. In: Proc. IEEE Conference on Decision and Control including the 17th Symposium on Adaptive Processes, v. 17 p. 761–766. HU, J., RAY, B. K., SINGH, M. 2007. Statistical methods for automated generation of service engagement staffing plans. Ibm j. res. dev., 51(3), 281–293. IWAYAMA, M., & TOKUNAGA, T. 1995. Clusterbased text categorization: a comparison of category search strategies. Pages 273–281 of: Proceedings of the 18th acm international conference on research and development in information retrieval. 64 REFERÊNCIAS BIBLIOGRÁFICAS JC UFSCar 2009 JAIN, A. K. 2008. Data Clustering: 50 Years Beyond K-Means. Disponível em: http://dataclustering.cse.msu.edu/papers/JainDataClusteringPRL09.pdf JAIN, A. K., DUBES, R. C. 1988. Algorithms for clustering data. Prentice Hall. JAIN, A. K., FLYNN, P. 1996. Advances in image understanding. IEEE Computer Society Press. Chap. Image segmentation using clustering, páginas 65–83. JAIN, A. K., M. N. MURTY e P. J. FLYNN. Data clustering: a review. ACM Computing Surveys, v.31, n.3, p.264-323. 1999. KLIR, G. J., YUAN, B. Fuzzy Sets and Fuzzy Logic: Theory and Applications. Upper Saddle River, NJ: Prentice Hall, 1995. KLOSE, A., KRUSE, R. Semi-supervised learning in knowledge discovery. Fuzzy Sets and Systems. v. 149, p. 209–233, 2005. LABZOUR, T., BENSAID, A., BEZDEK, J. Improved semi-supervised point-prototype clustering algorithms. in: Proc. Internat. Conf. on Fuzzy Systems. 1998. pp. 1383–1387. PEDRYCZ, W. Algorithms of fuzzy clustering with partial supervision. Pattern Recognition Letters. v. 3, n. 1, p. 13–20, 1985. PEDRYCZ, W., WALETZKY, J. Fuzzy clustering with partial supervision. IEEE Transactions on Systems, Man, and Cybernetics, Part B. v. 27, n. 5, p. 787–795, 1997. SAHAMI, M. 1998. Using machine learning to improve information access. Ph.D. thesis, Computer Science Department, Stanford University. SHI, J., MALIK, J. 2000. Normalized cuts and image segmentation. Ieee transactions on pattern analysis and machine intelligence, 22, 888–905. 65