apresentação de inteligência artificial: cluterização de dados utilizando técnicas de...

33
Clusterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas Thiago Christiano Silva Leonardo Nascimento Ferreira

Upload: thiago-christiano-silva

Post on 29-Jul-2015

128 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Clusterização de Dados Utilizando

Técnicas de Detecção de Comunidades

em Redes Complexas

Thiago Christiano Silva

Leonardo Nascimento Ferreira

Page 2: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Conteúdo � Introdução

• Motivações

• Objetivos

� Tópicos Relevantes • Redes Complexas

• Clusterização de Dados

Page 3: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Conteúdo

� Clusterização de Dados Utilizando Redes Complexas

� Descrição da Técnica

� Resultados e Simulações Computacionais

� Considerações Finais

� Referências

Page 4: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Introdução 1. Motivações

• Redes Complexas

• Faz parte essencial da comunidade moderna

• Capacidade de aplicação em diversas áreas

• Internet, rede elétrica, redes de estrada

• Apresenta vantagens na sua análise

• Considera a estrutura topológica

• Auxilia na Clusterização de Dados

• As técnicas são robustas

Page 5: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Introdução 1. Objetivos

• Utilização do processo de Mineração de Dados em Redes Complexas

• Aquisição de conhecimento

• Detalhamento de todas as fases

• A extração de padrões será conduzida com os seguintes parâmetros:

• Modo de Aprendizado (atividade): Não-supervisionado

• Tarefa: Clusterização de Dados

• Capaz de detectar diversas formas de clusters

• Que ofereça uma estrutura hierárquica de clusters

Page 6: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Introdução • Objetivos

• Aplicação em Redes Sociais para Detecção de Comunidades e posterior tomada de decisão

• Academia de Karate Zachary

Page 7: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Tópicos Relevantes 1. Redes Complexas

• Compostas por milhares de vértices

• Possuem topologia não-trivial

• Distribuição de grau complexa

• Características que as descrevem

• Complexidade estrutural

• Comportamento evolucional

• Diversidade de conexões entre vértices

• Dinâmica complexa

• Exemplos

• Internet, Redes Neurais Biológicas, Sociais, Elétricas

Page 8: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Tópicos Relevantes 1. Clusterização de dados

• Consiste em agrupar uma coleção de vértices em clusters

• Necessita de uma medida de similaridade

• Difícil classificar corretamente clusters de formas arbitrárias

• Características • Algoritmo divisivo

• Algoritmo aglomerativo

• Exemplos • K-Means, CHAMELEON

Page 9: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Clusterização de Dados 1. Descrição da Técnica

• Algoritmo baseado no CHAMELEON

• Simplifica e melhora o processo de formação de clusters

• Capaz de detectar clusters de formas e densidades arbitrárias

• Oferece uma estrutura hierárquica dos clusters

• Dividido em 2 fases

• Formação de Rede

• Partição da rede em sub-redes

Page 10: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Formação da Rede

η = 50 e k = 5

k-nearest neighbour

η = 50 e ζ = 150

Ligações com todos da ζ-vizinhança

Page 11: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Partição em sub-redes � A medida utilizada foi a modularidade, proposta por

Newman

� Modularidade

� Indica o quanto uma certa divisão da rede é boa

� Leva em consideração o número de arestas inter e intracomunidades

� Algoritmo aglomerativo hierárquico

Page 12: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulações

Page 13: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulações – Dados Reais � Descrição do Problema

� Rede social: Academia de Karate Zachary

� Afinidade

� Identificação do Problema

� “Clima ruim”

� Diretor:

� Quem está do meu lado?

� Quem devo convencer a vir para meu lado?

Page 14: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulações – Dados Reais � Pré-Processamento

• Transformação:

• Disposição os dados para visualização

• Vértice nome -> Vértice ID inteiro

DE PARA

Director John

Instructor Kenny

John William

Director Andy

Instructor Director

Page 15: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulações – Dados Reais � Extração de Padrões

� Atividade:

� Descritiva:

� Não-supervisionado

� Tarefa:

� Clusterização

� Execução:

� Implementação da Rede Complexa

Page 16: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulações – Dados Reais � Execução:

� Academia de caratê de Zachary: η = 34

Configuração Inicial Configuração com Q máximo de 0.4

Page 17: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulações – Dados Reais � Pós-Processamento

� Clusterização não rotula classes

� Através dos IDs dos clusters obtêm-se os nomes dos membros

� Geração de relatório com a separação dos grupos

� Permite saber quem possivelmente irá se desligar da academia

� Grande chance de serem aqueles em que o algoritmo classificou como seguidores do instrutor

Page 18: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulações – Dados Reais � Utilização do Conhecimento:

� Tomada de Decisão:

� Convencer os membros a não efetivarem o desligamento:

� Através de estratégias de marketing

� Descontos na mensalidade

� Bônus mensal de fidelização ao cliente

� Prêmios por antiguidade

� etc.

Page 19: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulação – Dados Artificiais � Rede Artificial

η = 7320

Arestas = 190450

Qmáx = 0.80

ζnorm = 0.004

Page 20: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulação – Dados Artificiais

Comunidades = 9 Comunidades = 7

Page 21: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulação – Dados Artificiais

Comunidades = 5 Comunidades = 4

Page 22: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulação – Dados Artificiais

Page 23: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulação – Dados Artificiais

Page 24: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulação – Dados Artificiais

Page 25: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulação – Dados Artificiais

Page 26: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulação – Dados Artificiais

Page 27: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulação – Dados Artificiais

Page 28: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulação – Dados Artificiais

Page 29: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulação – Dados Artificiais

Page 30: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Simulação – Dados Artificiais

Page 31: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Considerações Finais � Consonante ao grande volume de dados produzido no

mundo atual, a Mineração de Dados se tornou um processo essencial às corporações e às pesquisas atuais

� Permite estabelecer relações e descobertas de padrões e comportamentos

� Auxilia na tomada de decisões

� Este trabalho apresentou uma aplicação hipotética simples, porém factível, de utilização de Mineração de Dados no campo de Clusterização de Dados utilizando Redes Complexas para Detecção de Comunidades

Page 32: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Referências [1] Silva, T. C., Zhao L. (2007) Pixel Clustering by Using Complex Network

Community Detection Technique. In: 7th International Conference on Intelligent Systems Design and Applications, 2007, Rio de Janeiro. Proceedings of 7th International Conference on Intelligent Systems Design and Applications. Danvers, MA, USA : IEEE Computer Society. v. 1. p. 925-930

[2] Newman, M. E. J. (2004) Fast algorithm for detecting community structure in networks, Physical Review E, v. 69, p. 066133(1-5)

[3] Newman, M.E.J., Girvan, M. (2004) Finding and evaluating community structure in networks, Physical Review E, v. 69, p. 026113(1-15)

[4] Strogatz, S.H. (2001) Exploring complex networks, Nature, v. 410, p. 268-276

Page 33: Apresentação de Inteligência Artificial: Cluterização de Dados Utilizando Técnicas de Detecção de Comunidades em Redes Complexas

Referências [5] Barabási, A.-L., Albert, R. (1999) Emergence of scaling in random

networks, Science, v. 286, p. 509-512

[6] Linda G. Shapiro and George C. Stockman (2001): "Computer Vision", pp 279-325, New Jersey, Prentice-Hall

[7] Ron Ohlander, Keith Price, and D. Raj Reddy (1978): "Picture Segmentation Using a Recursive Region Splitting Method", Computer Graphics and Image Processing, volume 8, pp 313-333

[8] Höppner, F., Klawonn, F., Kruse, R., Runkler, T. (1999) Fuzzy cluster analysis: methods for classification, data analysis and image recognition, John Wiley & Sons, Inc., Hoboken, NJ,USA

[9] Chávez G. C, “Video Content Analysis by Active Learning”. (2007) Tese (Doutorado em Ciências da Computação) - Universidade Federal de Minas Gerais