SCC7 Mneração de Dados Bológcos Agrupamento de Dados Partes III & IV: Métodos Partconas e Valdação Crédtos O materal a segur consste de adaptações e etensões dos orgnas: gentlmente ceddos pelo Prof. Eduardo R. Hruschka de (Tan et al., 6) de E. Keogh (SBBD ) de G. Patetsk-Shapro (KDNuggets) Prof. Rcardo J. G. B. Campello SCC / ICMC / USP Conteúdo Algortmos Partconas k-means Varantes do k-means Estmatva do número de grupos k Crtéros relatvos de valdade de agrupamento Crtéros eternos de valdade de agrupamento Métodos Partconas (Sem Sobreposção) Métodos partconas sem sobreposção referem-se a algortmos de agrupamento que buscam (eplícta ou mplctamente) por uma partção rígda de um conjunto de objetos X = {,,..., N } Partção Rígda: coleção P = {C, C,..., C k } de k grupos não sobrepostos tal que: C C... C k = X C C C j = para j Eemplo: P = { ( ), (, 4, 6 ), (, 5 ) } 4
Métodos Partconas (Sem Sobreposção) Cada eemplo pertence a um cluster dentre k clusters possíves Usuáro normalmente deve fornecer o número de clusters (k) Normalmente envolvem a otmzação de algum índce (crtéro numérco) que reflete a qualdade de determnada partção Partconamento como Problema Combnatóro Problema: Assumndo que k seja conhecdo, o no. de possíves formas de agrupar N objetos em k clusters é dado por (Lu, 968): NM ( N, k) = k! k = k ( ) Por eemplo, NM(, 5) 56.6 67. ( k ) N Em um computador com capacdade de avalar 9 partções/s, precsaríamos.8 5 séculos para processar todas as avalações... Como k em geral é desconhecdo, problema é anda maor... Avalação computaconal eaustva é mpratcável (problema NP-Hard)... Keogh, E. A Gentle Introducton to Machne Learnng and Data Mnng for the Database Communt, SBBD, Manaus. 5 Solução: formulações alternatvas... Baseado no orgnal do Prof. Eduardo R. Hruschka 6 Algortmo k-means k-means Começaremos nosso estudo com um dos algortmos mas clásscos da área de mneração de dados em geral ) Escolher aleatoramente um número k de protótpos (centros) para os clusters algortmo das k-médas ou k-means lstado entre os Top Most Influental Algorthms n DM Wu, X. and Kumar, V. (Edtors), The Top Ten Algorthms n Data Mnng, CRC Press, 9 ) Atrbur cada objeto para o cluster de centro mas prómo (segundo alguma dstânca, e.g. Eucldana) ) Mover cada centro para a méda (centróde) dos objetos do cluster correspondente 4) Repetr os passos e até que algum crtéro de convergênca seja obtdo: X. Wu et al., Top Algorthms n Data Mnng, Knowledge and Info. Sstems, vol. 4, pp. -7, 8 - número mámo de terações - lmar mínmo de mudanças nos centródes 7 Prof. Eduardo R. Hruschka 8
k-means - passo : k-means - passo : a k a k Escolher centros ncas k k Atrbur cada objeto ao cluster de centro + prómo k k Slde baseado no curso de Gregor Patetsk-Shapro, dsponível em http://www.kdnuggets.com 9 a Slde baseado no curso de Gregor Patetsk-Shapro, dsponível em http://www.kdnuggets.com a k-means - passo : k-means: Mover cada centro para o vetor médo do cluster (centróde) k k a k k k k Re-atrbur objetos aos clusters de centródes mas prómos Quas objetos mudarão de cluster? a k k k a a Slde baseado no curso de Gregor Patetsk-Shapro, dsponível em http://www.kdnuggets.com Slde baseado no curso de Gregor Patetsk-Shapro, dsponível em http://www.kdnuggets.com
k-means: k-means: a k k Resp: objetos re-calcular vetores médos a k k k k Slde baseado no curso de Gregor Patetsk-Shapro, dsponível em http://www.kdnuggets.com a Slde baseado no curso de Gregor Patetsk-Shapro, dsponível em http://www.kdnuggets.com 4 a k-means: a k Crtéro de Qualdade das Partções Pode-se demonstrar que o algortmo mnmza a segunte função objetvo (varâncas ntra-cluster): J = k = C j d (, ) j mover centros dos clusters k k a onde é o centróde do -ésmo cluster: = C C Eemplo de cálculo de J: no quadro... Slde baseado no curso de Gregor Patetsk-Shapro, dsponível em http://www.kdnuggets.com 5 6
Dscussão Eemplo: Duas Incalzações Dferentes.5 Resultado pode varar sgnfcatvamente dependendo da escolha das sementes (protótpos) ncas.5 Objetos Orgnas k-means pode fcar preso em ótmos locas.5 Eemplo: Centros ncas - -.5 - -.5.5.5.5.5 objetos.5.5 Como evtar...?.5.5 - -.5 - -.5.5.5 Agrupamento Ótmo - -.5 - -.5.5.5 Agrupamento Sub-Ótmo Slde baseado no curso de Gregor Patetsk-Shapro, dsponível em http://www.kdnuggets.com 7 Tan,Stenbach, Kumar Introducton to Data Mnng 4/8/4 8 Eemplo: Eecução com a ª Incalzação Eemplo: Eecução com a ª Incalzação Iteraton 4 56.5 Iteraton.5 Iteraton.5 Iteraton.5.5.5.5.5.5.5.5 - -.5 - -.5.5.5 - -.5 - -.5.5.5 - -.5 - -.5.5.5.5 Iteraton 4 Iteraton 5 Iteraton 6.5.5.5.5 - -.5 - -.5.5.5.5.5.5.5.5 - -.5 - -.5.5.5 - -.5 - -.5.5.5 - -.5 - -.5.5.5 Tan,Stenbach, Kumar Introducton to Data Mnng 4/8/4 9 Tan,Stenbach, Kumar Introducton to Data Mnng 4/8/4
Eemplo: Eecução com a ª Incalzação Eemplo: Eecução com a ª Incalzação Iteraton 4 5.5.5.5 Iteraton.5.5 Iteraton.5.5.5 - -.5 - -.5.5.5 - -.5 - -.5.5.5.5.5 Iteraton.5 Iteraton 4.5 Iteraton 5.5.5.5 - -.5 - -.5.5.5.5.5.5 - -.5 - -.5.5.5 - -.5 - -.5.5.5 - -.5 - -.5.5.5 Tan,Stenbach, Kumar Introducton to Data Mnng 4/8/4 Tan,Stenbach, Kumar Introducton to Data Mnng 4/8/4 Eercíco Implementações Efcentes Objeto Desempenho pode ser turbnado de dferentes formas: 4 5 8 9 6 9 8 7 9 9 8 8 8 9 5 5 4 4 Prof. Eduardo R. Hruschka Eecutar k-means com k= nos dados acma a partr dos protótpos [6 6], [4 6] e [5 ] e outros a sua escolha Heurístcas de Incalzação Estruturas de Dados Algortmos, por eemplo: Atualzação recursva dos centródes: Cálculo de cada centróde só depende do número de objetos do cluster em questão, dos novos objetos atrbuídos ao cluster, dos objetos que dearam o cluster, e do valor anteror do centróde Não demanda recalcular tudo novamente Eercíco: a partr da equação do cálculo do centróde, escrever a equação de atualzação recursva descrta acma! 4
Resumo do k-means Vantagens Smples e ntutvo Possu compledade computaconal lnear em todas as varáves crítcas (N, n, k) Efcaz em mutos cenáros de aplcação e produz resultados de nterpretação relatvamente smples Consderado um dos mas nfluentes algortmos em Data Mnng (Wu & Kumar, 9)! Desvantagens k =? Sensível à ncalzação dos protótpos (mínmos locas de J) Lmta-se a encontrar clusters volumétrcos / globulares Cada tem deve pertencer a um únco cluster (partção é rígda, ou seja, sem sobreposção) Lmtado a atrbutos numércos Sensível a outlers 5 Nota (Formas Não-Globulares) Tan, Stenbach, Kumar objetos orgnas agrupamento k-means (k=) Na prátca, esse problema em geral não é crítco,.e., há pouco nteresse na maora das aplcações de mundo real Grandes BDs (mutos objetos & atrbutos) e necessdade de nterpretação dos resultados (e.g. segmentação de mercado...) Algumas Varantes do k-means K-Medódes: Substtur cada centróde por um objeto representatvo do cluster, denomnado medóde Medóde = objeto mas prómo aos demas objetos do cluster Mas prómo em méda (empates resolvdos aleatoramente) Vantagens: menos sensível a outlers permte cálculo relaconal (apenas matrz de dstâncas) logo, pode ser aplcado a bases com atrbutos categórcos Eemplo de k-medódes Eecução de k-medódes com k = na base de dados relaconal abao, com medódes ncas e : D = 4 7 5 7 5 4 4 convergênca assegurada com qualquer medda de (ds)smlardade! Desvantagem: Compledade quadrátca com o no. de objetos N 7 No quadro... 8
Eercíco Algumas Varantes do k-means Objeto 4 5 8 9 6 9 8 7 9 9 8 8 8 9 5 5 4 4 Prof. Eduardo R. Hruschka Eecutar k-medódes com k= nos dados acma, com medódes ncas dados pelos objetos 5, 6 e 8 9 Métodos de Múltplas Eecuções de k-means: Eecutam k-means repetdas vezes a partr de dferentes valores de k e de posções ncas dos protótpos Ordenado: n p ncalzações de protótpos para cada k [k mn,k ma ] p mn ma Aleatóro: n T ncalzações de protótpos, com k sorteado em [k mn,k ma ] Tomam a melhor partção resultante de acordo com algum crtéro de qualdade (crtéro de valdade de agrupamento) Vantagens: Estmam k e são menos sensíves a mínmos locas Desvantagem: Custo computaconal pode ser elevado Questão... Á própra função objetvo J do k-means não podera ser utlzada como medda de qualdade para escolher a melhor partção dentre um conjunto de canddatas??? Resposta é sm se todas têm o mesmo no. k de clusters (fo) Mas e se k for desconhecdo, portanto varável...? Para responder, consdere que as partções são geradas por múltplas eecuções de k-means com k [k mn, k ma ] Questão... - Para tentar responder a questão anteror, vamos consderar o método de múltplas eecuções ordenadas de k-means, com uso da função objetvo J J Erro Quadrátco: k = = C j d (, ) Função Objetvo j 9 8 7 6 5 4 4 5 6 7 8 9 Keogh, E. A Gentle Introducton to Machne Learnng and Data Mnng for the Database Communt, SBBD, Manaus.
Questão... Para k =, o valor da função objetvo é 87,. - Consdere o segunte eemplo: 9 8 7 6 5 4 4 5 6 7 8 9 4 5 6 7 8 9 Keogh, E. A Gentle Introducton to Machne Learnng and Data Mnng for the Database Communt, SBBD, Manaus. Keogh, E. A Gentle Introducton to Machne Learnng and Data Mnng for the Database Communt, SBBD, Manaus. 4 Para k =, o valor da função objetvo é 7,. Para k =, o valor da função objetvo é,6. 4 5 6 7 8 9 4 5 6 7 8 9 Keogh, E. A Gentle Introducton to Machne Learnng and Data Mnng for the Database Communt, SBBD, Manaus. 5 Keogh, E. A Gentle Introducton to Machne Learnng and Data Mnng for the Database Communt, SBBD, Manaus. 6
Podemos então repetr este procedmento e plotar os valores da função objetvo J para k =,,6,... e tentar dentfcar um joelho : tvo Função Objet.E+ 9.E+ 8.E+ 7.E+ 6.E+ 5.E+ 4.E+.E+.E+.E+.E+ 4 5 6 k Keogh, E. A Gentle Introducton to Machne Learnng and Data Mnng for the Database Communt, SBBD, Manaus. 7 Eercíco Objeto 4 5 8 9 6 9 8 7 9 9 8 8 8 9 5 5 4 4 Prof. Eduardo R. Hruschka Eecutar k-means com k= até k=5 nos dados acma e representar grafcamente a f. objetvo J em função de k 8 Questão... Infelzmente os resultados não são sempre tão claros quanto no eemplo anteror Vde eemplo abao... Crtéros de Valdade Relatvos Para avalar relatvamente a qualdade de dferentes partções, possvelmente com números dstntos de grupos, faz-se necessáro um tpo de índce: Crtéro Relatvo de Valdade de Agrupamento Estem város crtéros na lteratura Veremos a segur dos eemplos Além dsso, como utlzar essa metodologa em varantes baseadas em busca guada, que otmzam k? Crtéro de Dunn Crtéro da Slhueta 9 4
Crtéro de Dunn Razão entre a menor dstânca nter-grupos (S-Dst) e a maor dstânca ntra-grupo (G-Dam) Eemplo: S Dst Dunn = G Dam Fgura por Lucas Vendramn 4 Eercíco Objeto 4 5 8 9 6 9 8 7 9 9 8 8 8 9 5 5 4 4 Prof. Eduardo R. Hruschka Eecutar k-means nos dados acma e calcular os valores do índce de Dunn das partções obtdas para város k 4 Crtéro da Largura de Slhueta Crtéro da Largura de Slhueta Fgura por Lucas Vendramn SWC = Slhueta méda sobre todos os objetos: Slhueta (-ésmo objeto): a(): ( ) dssmlardade b(): ( ) dssmlardade méda do -ésmo méda do -ésmo objeto ao seu cluster objeto ao cluster vznho mas prómo Slhueta Orgnal: a() e b() são calculados como a dstânca méda (Eucldana, Mahalanobs, etc) do -ésmo objeto a todos os demas objetos do cluster em questão. Compledade quadrátca Slhueta Smplfcada: a() e b() são calculados como a dstânca do -ésmo objeto ao centróde do cluster em questão. Compledade lnear * Obs: SWC [,+] ; s() := para sngletons
Eercíco Objeto 4 5 8 9 6 9 8 7 9 9 8 8 8 9 5 5 4 4 Prof. Eduardo R. Hruschka Eecutar k-means nos dados acma e calcular as slhuetas (orgnal e smplfcada) das partções obtdas para város k 45 Nota (Normalzação dos Dados) O problema de normalzação / padronzação dos dados é mas compleo em clusterng do que em outras tarefas de DM (p. e. classfcação) As técncas dsponíves são essencalmente as mesmas, bem como o objetvo da aplcação destas Por eemplo, evtar que atrbutos com escalas muto maores do que outros domnem os cálculos de dssmlardade e, portanto, nduzam soznhos a estrutura de clusters No entanto, a aplcação dessas técncas pode dstorcer totalmente a estrutura orgnal dos dados em clusters!!! É precso mas cautela, epermentação e conhecmento de domíno para realzar pré-processamento de dados em clusterng! 49