clusterizacao de dados usando algoritmos imunoinspirados

34
CLUSTERIZAÇÃO DE DADOS USANDO ALGORÍTIMOS IMUNOINSPIRADOS Antonio Augusto Conti F. Leão DCC/UFLA

Upload: antonio-conti

Post on 28-Nov-2014

918 views

Category:

Travel


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

CLUSTERIZAÇÃO DE DADOS USANDO ALGORÍTIMOS

IMUNOINSPIRADOS

Antonio Augusto Conti F. LeãoDCC/UFLA

Page 2: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Introdução

O sistema imunológico humano é altamente distribuído, altamente adaptativo, naturalmente auto-organizado, mantendo a memória de encontros passados e tem a habilidade de continuamente aprender sobre novos encontros. Sob esse ponto de vista, há muito o que oferecer como meio de inspiração para resolução de modelos e problemas computacionais.

Page 3: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Introdução

Com isso, esse trabalho apresentará um algoritmo (CAIS – Clustering with Artificial Immune System) e tem a seguinte estrutura:

● Referencial Teórico, apresentando conceitos básicos sobre sistemas imológicos naturais e artificiais, com alguns algoritmos fundamentais, como também conceitos de mineração de dados.

Page 4: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Introdução

● Metodologia da implementação do algoritmo, contendo um passo-a-passo de seu funcionamento.● Resultados e análise dos testes feitos com o algoritmo criado.● Conclusão e sugestão de melhorias.

Page 5: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Clusterização de DadosReferencial Teórico

O termo “clusterização” vem do inglês to cluster, que significa “agrupar”, “aglomerar”. Assim, no presente contexto, se faz o ato de agrupar dados.

Page 6: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Sistema Imunológico NaturalReferencial Teórico

I. Sistema Imunológico Inato: é capaz de responder imediatamente a uma grandequantidade de patógenos sem a necessidade de uma prévia exposição dos mesmos.

II. Sistema Imunológico Adaptativo: o sistema imune adaptativo cria e produz anticorpos específicos contra cada patógeno, e por isso gasta-se um tempo maior para a sua produção.

Page 7: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Sistema Imunológico NaturalReferencial Teórico

Page 8: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Sistema Imune NaturalReferencial Teórico

Células apresentadoras de antígeno (APCs) especializadas, como macrófagos, circulam pelo corpo ingerindo e digerindo os patógenos encontrados, fragmentando-os em peptídeosantigênicos

Page 9: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Sistema Imune NaturalReferencial Teórico

Partes destes peptídeos se ligam a moléculas do complexo de histocompatibilidade principal (MHC) e são apresentados na superfície celular.

Page 10: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Sistema Imune NaturalReferencial Teórico

As células T possuem receptores de superfície que têm a função de reconhecer diferentes complexos MHC/peptídeo.

Page 11: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Sistema Imune NaturalReferencial Teórico

Uma vez ativados pelo reconhecimento MHC/peptídeo, as células T se dividem e secretam linfocinas (sinais químicos) que mobilizam outros componentes do sistema imunológico.

Page 12: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Sistema Imune NaturalReferencial Teórico

Diferente dos receptores das células T, entretanto, os receptores das células B são capazes de reconhecerpartes livres solúveis dos antígenos, sem as moléculas do MHC

Page 13: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Sistema Imune NaturalReferencial Teórico

Quando ativadas, as células B se dividem e se diferenciam em plasmócitos, secretando anticorpos em altas taxas

Page 14: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Sistema Imune NaturalEsquema Simplificado - (VII)

A ligação dos anticorpos aos antígenos encontrados faz com que o patógeno seja neutralizado.

Page 15: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Sistemas Imunológicos ArtificiaisReferencial Teórico

● Os sistemas imunológicos artificiais são metodologias de manipulação de dados, classificação, representação e raciocínio que seguem um paradigma biológico plausível: o sistema imunológico humano (WWW Starlab).

● Um sistema imunológico artificial é um sistema computacional baseado em metáforas do sistema imunológico natural (Timmis, 2000a).

● Os sistemas imunológicos artificiais são compostos por metodologias inteligentes, inspiradas no sistema imunológico biológico, para a solução de problemas de mundo real (Dasgupta, 1998).

Page 16: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Sistemas Imunológicos ArtificiaisReferencial Teórico

Algumas Aplicações● Reconhecimento de Padrões● Segurança Computacional● Robótica● Otimização● Detecção de Falhas e Anomalias● Aprendizagem de Máquinas

Page 17: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Sistemas Imunológicos ArtificiaisReferencial Teórico

Algoritmos Fundamentais ao trabalho:● CLONALG (CLONal selection ALGorithm)● AiNet (Artificial Immune NETwork)

Page 18: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Algoritmo de Seleção Clonal (CLONALG)

O algoritmo parte do princípio de que quando um linfócito reconhece um antígeno com um algum grau de afinidade (dada por uma medida de distância, como Euclidiana, por exemplo), ele tende a proliferar e gerar clones.

Sistemas Imunológicos Artificiais (CLONALG)Referencial Teórico

Page 19: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

● Gere um conjunto (P) de candidatos a solução, composto pelo subconjunto de células de memória (M) mais o restante (P{r}) da população (P = P{r} M);∪

● Determine (processo de seleção) os n melhores indivíduos (P{n}) da população (P), baseado em uma medida de afinidade;

● Reproduza (processo de clonagem) estes n melhores indivíduos, gerando uma população temporária de clones (C). A quantidade de filhos de cada indivíduo é diretamente proporcional à sua afinidade;

Sistemas Imunológicos Artificiais (CLONALG)Referencial Teórico

Page 20: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

● Submeta a população de clones a um esquema de hipermutação, em que a taxa de mutação é proporcional à afinidade do anticorpo. Uma população de anticorpos maduros é gerada (C*);

● Re-selecione os melhores indivíduos de C* para compor o conjunto de memória M;

● Substitua d anticorpos por novos indivíduos (diversidade). Os anticorpos com menores afinidades possuem maiores probabilidades de serem substituídos.

Sistemas Imunológicos Artificiais (CLONALG)Referencial Teórico

Page 21: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Sistemas Imunológicos Artificiais (aiNet)Referencial Teórico

Artificial Immune Network (aiNet)

A rede imunológica artificial, chamada aiNet, é um grafo com conexões ponderadas, não necessariamente totalmente interconectado, composto por um conjunto de nós, denominados anticorpos, e conjuntos de pares de nós chamados conexões, com um valor característico associado, chamado de peso da conexão ou simplesmente peso.

Page 22: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Ilustração da aiNet: (a) Conjunto de antígenos a serem reconhecidos e clusterizados, contendo três regiões de alta concentração antigênica. (b) aiNet com os anticorpos rotulados e os respectivos pesos das conexões. As linhas tracejadas indicam conexõesque deverão ser detectadas e removidas com o objetivo de gerar subgrafos desconexos, cada um caracterizando um cluster diferente da rede.

Sistemas Imunológicos Artificiais (aiNet)Referencial Teórico

Page 23: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

● Após execução do CLONALG, compare as células de memória entre si.● As que alcançarem uma afinidade mínima na comparação, são colocadas em um único conjunto.● Após os conjuntos formados, compare os antígenos para determinar em qual dos grupos eles pertencem.

Sistemas Imunológicos Artificiais (aiNet)Referencial Teórico

Page 24: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Metodologia

AISF - Artificial Immune System Framework

Para a implementação do algoritmo de clusterização, foi utilizado o AISF, uma biblioteca de classes e funções criadas na linguagem de programação Python, com suporte a um grande número de processos e elementos do sistema imune, que foi apresentado em Uchôa (2009).

Page 25: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Metodologia

Page 26: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Metodologia

CAIS – Clustering with Artificial Immune System

● Cria-se uma população inicial de células B● Enquanto a quantidade das células B que reconhecem os antígenos não atinjam uma porcentagem determinada, os próximos passos serão executados:

● Apresente os antígenos às células B● Para cada célula B que atinge uma taxa mínima

de ativação:

Page 27: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Metodologia

● Ative a célula;● Gere clones;● Faça mutação nos clones;

● Verifique os clones, apresentando-os para os antígenos;

● Se há clone que reconheça algum antígeno antígenos:● Selecione os melhores clones;● Adicione esses melhores clones na população de células;

Page 28: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Metodologia

● Atualize o tempo de vida de todas as células;● Adicione novas células à população;

● Selecione todos os receptores da população sobrevivente. Para cada receptor, os próximos passos serão executados:

● Apresente um receptor à população;● Para cada célula B da população e a taxa de afinidade com o receptor:● Se o receptor atual tiver uma taxa de afinidade com a célula B maior que um valor determinado:

Page 29: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Metodologia

● Salve a célula B em uma estrutura de dados;

● Salve a taxa de afinidade em uma estrutura de dado;

● Junte as duas estruturas criadas anteriormente em uma só;

● Ordene, por afinidade, essa estrutura;● Para todas as células salvas nessa estrutura de dados, excluindo a com maior afinidade, elimine todas as outras;

Page 30: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Metodologia

Page 31: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Resultados e AnálisesKDD99

Page 32: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Resultados e AnálisesPacket Datasets

A melhor média de acertos obtida pelo autor desse banco de dados testes foi de 96.06%

Page 33: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Resultados e Análises

O algoritmo CAIS não está totalmente finalizado. A versão atual é funcional e já mostra-se promissora, porém, possibilidade de melhoria está clara e será feita em trabalhos futuros.

Uma funcionalidade importante ainda em fase de implementação e testes é de poder determinar uma quantidade específica de clusters.

Page 34: Clusterizacao de Dados Usando Algoritmos Imunoinspirados

Conclusão

A maior contribuição desse trabalho foi de de apresentar um novo algoritmo com uma visão diferente da existente na maior parte dos trabalhos na área.Essa nova visão amplia o leque de trabalhos na área, servindo de inspiração para trabalhos futuros.