Clusterizacao de Dados Usando Algoritmos Imunoinspirados
1. CLUSTERIZAÇÃO DE DADOS
USANDO ALGORÍTIMOS
IMUNOINSPIRADOS
Antonio Augusto Conti F. Leão
DCC/UFLA
2. 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.
3. 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.
4. 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.
5. Clusterização de Dados
Referencial 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.
6. Sistema Imunológico Natural
Referencial Teórico
I. Sistema Imunológico Inato: é capaz de
responder imediatamente a uma grande
quantidade 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.
8. Sistema Imune Natural
Referencial 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ídeos
antigênicos
9. Sistema Imune Natural
Referencial 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.
10. Sistema Imune Natural
Referencial Teórico
As células T possuem receptores de superfície que
têm a função de reconhecer diferentes complexos
MHC/peptídeo.
11. Sistema Imune Natural
Referencial 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.
12. Sistema Imune Natural
Referencial Teórico
Diferente dos receptores das células T, entretanto, os
receptores das células B são capazes de reconhecer
partes livres solúveis dos antígenos, sem
as moléculas do MHC
13. Sistema Imune Natural
Referencial Teórico
Quando ativadas, as células B se dividem e se
diferenciam em plasmócitos, secretando anticorpos
em altas taxas
14. Sistema Imune Natural
Esquema Simplificado - (VII)
A ligação dos anticorpos aos antígenos encontrados
faz com que o patógeno seja neutralizado.
15. Sistemas Imunológicos Artificiais
Referencial 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).
16. Sistemas Imunológicos Artificiais
Referencial 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
18. Sistemas Imunológicos Artificiais (CLONALG)
Referencial Teórico
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.
19. Sistemas Imunológicos Artificiais (CLONALG)
Referencial Teórico
● 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;
20. Sistemas Imunológicos Artificiais (CLONALG)
Referencial Teórico
● 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.
21. 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.
22. Sistemas Imunológicos Artificiais (aiNet)
Referencial Teórico
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ões
que deverão ser detectadas e removidas com o
objetivo de gerar subgrafos desconexos, cada um
caracterizando um cluster diferente da rede.
23. Sistemas Imunológicos Artificiais (aiNet)
Referencial Teórico
● 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.
24. 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).
26. 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:
27. 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;
28. 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:
29. 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;
32. Resultados e Análises
Packet Datasets
A melhor média de acertos obtida pelo
autor desse banco de dados testes foi de
96.06%
33. 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.
34. 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.