AGRUPAMENTO DE DADOS SEMI-SUPERVISIONADO NO CONTEXTO DE APRENDIZADO DE MÁQUINA Jornada Científica UFSCar - 2009 Priscilla de Abreu Lopes priscilla_lopes@dc.ufscar.br
AGRUPAMENTO DE DADOS - INTRODUÇÃO 1. Aprendizado de Máquina 2. O que é Agrupamento de Dados? 3. Por que utilizar Agrupamento? 4. Processo de Agrupamento
APRENDIZADO DE MÁQUINA Avanços da tecnologia computacional Maior capacidade de armazenamento Crescimento de aplicações 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 Dificuldade de análise Avanço das metodologias 4
APRENDIZADO DE MÁQUINA Reconhecimento de padrões Modelagem preditiva Dado um conjunto de treinamento, deseja-se predizer o comportamento dos dados desconhecidos Aprendizado Supervisionado Classificação, apenas dados rotulados Não-supervisionado 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? 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? 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? (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. 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 (Frigui& Krishnapuram, 1999), (Jain & Flynn, 1996), (Shi & Malik, 2000) Agrupamento de documentos (Iwayama & Tokunaga, 1995), (Sahami, 1998), (Bhatia & Deogun, 1998) Agrupamento de clientes para marketing eficiente (Arabie & Hubert, 1994) Gerenciamento e planejamento de força de trabalho (Hu et al., 2007) Estudo de dados de genoma (Baldi & Hatfield, 2002) 10
PROCESSO DE AGRUPAMENTO Preparação de Padrões Similaridade Agrupamento Validação Interpretação dos Resultados (Jain, Murty e Flynn, 1999) 11
PROCESSO DE AGRUPAMENTO Preparação de Padrões Normalização do conjunto Seleção de características Extração de características Representação Matriz de padrões Matriz e grafo de similaridade 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 Aplicação de um algoritmo de agrupamento Validação Avaliação da qualidade e confiabilidade dos clusters gerados Métodos estatísticos Interpretação dos Resultados Avaliação do resultado do agrupamento com objetivo de descrever a natureza dos grupos gerados 13
MÉTODOS DE AGRUPAMENTO NÃO- SUPERVISIONADO 1. Agrupamento Hierárquico 2. Agrupamento Particional a. Algoritmo K-means
AGRUPAMENTO HIERÁRQUICO 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 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 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 Single-link: número de sub-grafos conexos Complete-link: formação de sub-grafos completos 18 G(0) G(1)
AGRUPAMENTO HIERÁRQUICO (Jain & Dubes, 1988) 19
AGRUPAMENTO HIERÁRQUICO Clusters aninhados Difícil visualização quanto maior o número de objetos dentro do conjunto de dados Clusters que não existem Agrupamento em conjuntos com objetos não agrupáveis 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 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 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. 23
ALGORITMO K-MEANS Entradas: X = {x 1, x 2,... x n }: conjunto de dados com n pontos; k: número de grupos que serão criados 1. Definir os primeiros k centros de clusters 2. Alocação de pontos em clusters por cálculo da similaridade entre um ponto x i e cada um dos centros de clusters. 3. Atualização dos centros de clusters 4. 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 = {C 1,..., C k }: partição do conjunto de dados X 24
ALGORITMO K-MEANS 25 Conjunto X
ALGORITMO K-MEANS 26 Definição dos centros
ALGORITMO K-MEANS 27 Iteração 2
ALGORITMO K-MEANS 28 Iteração 3
ALGORITMO K-MEANS 29 Final
MÉTODOS DE AGRUPAMENTO SEMI- SUPERVISIONADO 1. Agrupamento Semi-Supervisionado 2. Abordagem Baseada em Sementes 3. Abordagem Baseada em Restrições 4. Algoritmos a. Algoritmo SEEDED-K-means b. Algoritmo COP-K-means c. Algoritmo CONSTRAINED-K-means
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: 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. 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 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 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 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. 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. 37
MÉTODOS DE AGRUPAMENTO FUZZY 1. Introdução a Sistemas Fuzzy 2. Agrupamento Não-Supervisionado a. Algoritmo Fuzzy C-Means 3. Agrupamento Semi-Supervisionado 1. Algoritmo semi-supervised Fuzzy C-Means 2. Algoritmo partially supervised Gustafson & Kessel 3. Algoritmo semi-supervised Point Prototype Clustering
INTRODUÇÃO A SISTEMAS FUZZY Conjuntos convencionais (crisp) podem ser definidos por Enumeração de elementos {1, 2, 3, 4, 5,..., 20} Propriedades dos elementos 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. 40
INTRODUÇÃO A SISTEMAS FUZZY 41
INTRODUÇÃO A SISTEMAS FUZZY Representação de categorias Variável temperatura 42
INTRODUÇÃO A SISTEMAS FUZZY Formas de conjuntos fuzzy 43
INTRODUÇÃO A SISTEMAS FUZZY Representação por lista Temperatura Alta (TA) TA = 0/10 + 0/15 + 0/20 + 0/25 + 0/30 + 0,5/35 + 1/40 Temperatura Média (TM) TM = 0/10 + 0,5/15 + 1/20 + 0,5/25 + 0/30 + 0/35 +0/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 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 Formação de partições fuzzy ou pseudo-partições fuzzy Pseudo-partição fuzzy X = {x 1, x 2, x 3 } A 1 = 0.6/x 1 + 1/x 2 + 0.1/x 3 A 2 = 0.4/x 1 + 0/x 2 + 0.9/x 3 {A 1, A 2 } é 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 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: 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 1. Selecionar uma pseudo-partição Fuzzy inicial 2. Calcular os centros de clusters para a pseudo-partição Média Ponderada 3. Atualizar a pseudo=partição Fuzzy 4. 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) 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 50
ALGORITMO SEMI-SUPERVISED FCM (SSFCM) 51
ALGORITMO SEMI-SUPERVISED FCM (SSFCM) 52
ALGORITMO SEMI-SUPERVISED FCM (SSFCM) Modificações: Introdução de exemplos rotulados: o conjunto de dados X é substituído pela união de X r e X nr. 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. 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 X r e X nr. 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. 54
ALGORITMO SEMI-SUPERVISED POINT PROTOTYPE CLUSTERING (SSPPC) 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 X r e X nr. 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) Passos principais: 1. Aplicação de um algoritmo de agrupamento pointprototype ao conjunto X nr, com número de clusters igual a n r ( Xr = n r ), 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. 2. 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. 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 58 (Klose & Kruse, 2005)
COMPARAÇÃO ENTRE ALGORITMOS 59 (Klose & Kruse, 2005)
COMPARAÇÃO ENTRE ALGORITMOS 60 (Klose & Kruse, 2005)
COMPARAÇÃO ENTRE ALGORITMOS 61 (Klose & Kruse, 2005)
EXEMPLOS PRÁTICOS
EXEMPLOS PRÁTICOS Acesso: http://www.dc.ufscar.br/~priscilla_lopes/jornada 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 63
REFERÊNCIAS BIBLIOGRÁFICAS 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 http://www.emc.com/collateral/analyst-reports/diverseexploding-digital-universe.pdf. em: 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 JAIN, A. K. 2008. Data Clustering: 50 Years Beyond K-Means. http://dataclustering.cse.msu.edu/papers/jaindataclusteringprl09.pdf Disponível em: 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