Professional Documents
Culture Documents
.com
Se gostarem
Blog: http://wpattern.com
Cross-validation
Cross-validation (5) Cross-validation (10)
(2)
k-NN
(1) MLP
k-NN Naive
(5) Bayes
k-NN
SVM
(9)
Random
J48
Forest
1. Introdução
• Reconhecimento de Padrões 2
▫ Não será explicado, apenas um exemplo
▫ Usada a biblioteca ECJ
▫ https://code.google.com/p/pgc204/
192.168.2.6
Master
Fim
2. Avaliam-se os indivíduos da População Inicial
5. Para cada par, sorteia-se um Ponto de crossover e 2 novos indivíduos são gerados por crossover
7. Avalia-se o desempenho dos novos indivíduos formados após os processos de crossover e mutação
i2 i7
i3 i8 Tp = 10
i4 i9
i5 i10
2. Algoritmos Genéticos
• 2. Avaliar (aptidão) os indivíduos da população
inicial
f1 i1 i6 f6
f1 = 3
f2 = 1
f2 i2 i7 f7
f3 = 5
f4 = 4
f3 i3 i8 f8
f5 = 5
f6 = 2
f7 = 6
f4 i4 i9 f9
f8 = 0
f9 = 6
f5 i5 i10 f10
f10 = 4
2. Algoritmos Genéticos
• 3. Critério de término (fi = 10 ou 40 evoluções)
satisfeito?
f1 i1 i6 f6
f1 = 3
f2 = 1
f2 i2 i7 f7
f3 = 5
f4 = 4
f3 i3 i8 f8
f5 = 5 Não foi satisfeito o
f6 = 2 critério de término.
f7 = 6
f4 i4 i9 f9
f8 = 0
f9 = 6
f5 i5 i10 f10
f10 = 4
2. Algoritmos Genéticos
• 4. Seleção de psel = 6 indivíduos para o crossover
f1 i1 i6 f6
f1 = 3
f2 = 1
f2 i2 i7 f7
f3 = 5
f4 = 4
f3 i3 i8 f8
f5 = 5
f6 = 2
f7 = 6
f4 i4 i9 f9
f8 = 0
f9 = 6
f5 i5 i10 f10
f10 = 4
2. Algoritmos Genéticos
• 4. Seleção de psel = 6 indivíduos para o crossover
i1 i6
i2 i7
i3 i8
i4 i9
i5 i10
2. Algoritmos Genéticos
• 5. É realizado o crossover para os indivíduos
selecionados
i2 i11
i1 i6
i4 i12
i5 i13
i8
i7 i14
i9
i3 i15
i10 i16
2. Algoritmos Genéticos
• 6. Realizado mutação (probabilidade pmut) nos
indivíduos gerados
i2 i11
i1 i6
i4 i12
i5 i13
i8
i7 i14
i9
i3 i15
i10 i16
2. Algoritmos Genéticos
• Componentes
▫ Aptidão (fitness)
▫ Cromossomo
Conjunto de Genes
Estrutura
Estática
Dinâmica
2.1. Indivíduos
• Representação de indivíduos (estático)
Cromossomo Gene
Binário: 0 0 0 0 1 1 0 1 1 1
Fracionário: 5,61 0,90 3,70 2,54 1,00 7,76 1,45 5,45 3,00 8,52
Inteiro: 5 2 5 2 3 7 3 1 3 4
Símbolos: D A C A A B D D A D
Indivíduo 1: 1 0 1 0 0 0 1 0 0 1
Indivíduo 2: 0 0 0 0 1 1
Indivíduo 3: 0 1 1 0 1 0 0 1
2.1. Indivíduos
• Representação de indivíduos (dinâmico)
0,61 3,41
2,55 1,90
2.1. Indivíduos
• Exemplo de representação da Megan Fox
Cor do Riqueza
Cor dos Idade Beleza
Cabelo
Olhos
Inteligência
Número Sexo Charme
de Filmes Carisma
Aptidão = 77,26
min = 0,00
max = 100,00
2.2. População Inicial
• Conjunto de indivíduos
• Gerados aleatoriamente
▫ Podem ser criados com certas
características de acordo com o
problema
2.2. População Inicial
População Inicial
4
1
3
2
2.3. Métodos de Seleção
• Usado para selecionar os indivíduos
para a reprodução
• Métodos
▫ Sorteio
Escolha aleatório do indivíduo
▫ Roleta
▫ Torneio (3)
2.3. Métodos de Seleção
1
4
3 2
2.3. Métodos de Seleção
• Torneio
▫ A cada torneio um subgrupo de N
indivíduos é selecionado
▫ O melhor indivíduo do subgrupo é
selecionado
Torneio 3: a seleção do subgrupo é feita
sem considerar a aptidão relativa
Estocástico: a seleção do subgrupo é feita
através do Método da Roleta
2.3. Métodos de Seleção
• Exemplo de Torneio (3)
Indivídu Aptidão
o
1 3 Subgrupo: Através de
Torneio 3 (Sorteio) ou
2 1 Estocástico (Roleta) 3
3 5 indivíduos são
4 4 selecionados.
5 5
6 2 Indivíduo
7 6 Selecionado: melhor
8 0 aptidão do indivíduo do
subgrupo.
9 6
10 4
2.3. Métodos de Seleção
População Inicial
4
1
Indivíduos
Selecionados para o
Crossover
3
2
2.4. Crossover
Ponto de Crossover
Pai 1: 0 0 0 0 1 1 0 1 1 1
X
Pai 2: 1 1 0 0 0 0 0 0 1 0
Filho 1: 1 1 0 0 1 1 0 1 1 1
X
Filho 2: 0 0 0 0 0 0 0 0 1 0
2.4. Crossover
Crossover
2.5. Mutação
• Mutação
Pai: 1 1 0 0 0 0 0 0 1 0
Mutação
Filho: 1 1 1 0 0 0 0 0 1 0
2.5. Mutação
• Mutação (permutação)
Pai: 5 2 7 0 2 4 2 6 1 5
Filho: 5 2 7 0 2 1 2 6 4 5
2.5. Mutação
Apenas um
Indivíduo sofrera
a Mutação
(Cameron Dias)
2.5. Mutação
Mutação
ou
Mutação
2.5. Mutação
Crossover
Espaço de Estados (Soluções)
(“pode” ficar Mutação (“explorar” o
preso em espaço de estados)
um espaço
de estados)
2.5. Mutação
• Otimização da aptidão (minimizar ou
maximizar)
Aptidão
θ0
θ1
2.6. Seleção Natural
• Seleção Natural
▫ Os melhores indivíduos são selecionados
para a nova população
▫ Os piores indivíduos são eliminados
• Exemplo de seleção natural
▫ Da população de 8 indivíduos apenas 6
serão selecionados
2.6. Seleção Natural
• Google desenvolveu o método de seleção
http://research.google.com/archive/unsupervised_icml2012.html
Exibido Gatinha Fez Titanic Gatinho
Carismática
Engraçado Gênio Bonita
2.7. Pseudocódigo
3. Aplicação 1
• Problema de criptoaritmética
▫ Associar um dígito a cada letra de uma
operação
▫ Letras repetidas nas operações sempre
estão associadas ao mesmo dígito
▫ Duas letras não podem estar associadas ao
mesmo dígito
SEND EAT CROSS COCA DONALD
+ MORE + THAT + ROADS + COLA + GERALD
= MONEY = APPLE = DANGER = OASIS = ROBERT
3. Aplicação 1
• Exemplo de Soluções
SEND 7531 COCA 8186
+ MORE + 0825 + COLA + 8106
= MONEY = 08356 = OASIS = 16292
CROSS 96233
+ ROADS + 62513
= DANGER = 158746
3. Aplicação 1
• Representação dos Indivíduos
SEND + MORE = MONEY
S E N D M O R Y
d1 d2 d3 d4 d5 d6 d7 d8 d9 d10
S E N D M O R Y
4 8 6 7 0 5 2 1 3 9
3. Aplicação 1
• População de tamanho Tp
População
i1 i2 ip – 1 ip
S E N D M O R Y S E N D M O R Y
.................
4 8 6 7 0 5 2 1 3 9 5 9 6 2 3 8 0 4 1 7
E
C
71 25
A B
49
3. Aplicação 1
• Processos de Crossover
▫ PMX
▫ Cíclico
3. Aplicação 1
• Crossover PMX
▫ Seleciona-se uma seção no cromossomo
(através de 2 Pontos de Crossover)
▫ O material genético dos 2 pais são
integralmente trocado
▫ São feitas mudanças posição a posição
para não existirem repetições nos filhos
gerados
3. Aplicação 1
• Crossover PMX
Pai 1: 7 5 1 4 3 6 8 2 0 9 Filho 1: 7 5 8 7 5 6 8 2 0 9
Pai 2: 3 4 8 7 5 2 6 1 9 0 Filho 2: 3 4 1 4 3 2 6 1 9 0
Filho 1: 7 5 8 7 5 6 8 2 0 9 Filho 1: 3 4 8 7 5 6 1 2 0 9
Filho 2: 3 4 1 4 3 2 6 1 9 0 Filho 2: 7 5 1 4 3 2 6 8 9 0
Pai 2: 3 4 8 7 5 2 6 1 9 0 Pai 2: 3 4 8 7 5 2 6 1 9 0
3. Aplicação 1
• Crossover Cíclico
Pai 1: 7 5 1 4 3 6 8 2 0 9 Pai 1: 7 5 1 4 3 6 8 2 0 9
Pai 2: 3 4 8 7 5 2 6 1 9 0 Pai 2: 3 4 8 7 5 2 6 1 9 0
3. Aplicação 1
• Crossover Cíclico
Pai 1: 7 5 1 4 3 6 8 2 0 9 Pai 1: 7 5 1 4 3 6 8 2 0 9
Pai 2: 3 4 8 7 5 2 6 1 9 0 Pai 2: 3 4 8 7 5 2 6 1 9 0
3. Aplicação 1
• Crossover Cíclico
Pai 1: 7 5 1 4 3 6 8 2 0 9 Pai 1: 7 5 1 4 3 6 8 2 0 9
Pai 2: 3 4 8 7 5 2 6 1 9 0 Pai 2: 3 4 8 7 5 2 6 1 9 0
3. Aplicação 1
• Crossover Cíclico
Pai 1: 7 5 1 4 3 6 8 2 0 9 Pai 1: 7 5 1 4 3 6 8 2 0 9
Pai 2: 3 4 8 7 5 2 6 1 9 0 Pai 2: 3 4 8 7 5 2 6 1 9 0
3. Aplicação 1
• Crossover Cíclico
Pai 1: 7 5 1 4 3 6 8 2 0 9 Pai 1: 7 5 1 4 3 6 8 2 0 9
Pai 2: 3 4 8 7 5 2 6 1 9 0 Pai 2: 3 4 8 7 5 2 6 1 9 0
3. Aplicação 1
• Crossover Cíclico
Pai 1: 7 5 1 4 3 6 8 2 0 9 Pai 1: 7 5 1 4 3 6 8 2 0 9
Pai 2: 3 4 8 7 5 2 6 1 9 0 Pai 2: 3 4 8 7 5 2 6 1 9 0
3. Aplicação 1
• Crossover Cíclico
Pai 1: 7 5 1 4 3 6 8 2 0 9 Pai 1: 7 5 1 4 3 6 8 2 0 9
Pai 2: 3 4 8 7 5 2 6 1 9 0 Pai 2: 3 4 8 7 5 2 6 1 9 0
3. Aplicação 1
• Crossover Cíclico
Pai 1: 7 5 1 4 3 6 8 2 0 9 Pai 1: 7 5 1 4 3 6 8 2 0 9
Pai 2: 3 4 8 7 5 2 6 1 9 0 Pai 2: 3 4 8 7 5 2 6 1 9 0
3. Aplicação 1
• Crossover Cíclico
Pai 1: 7 5 1 4 3 6 8 2 0 9 Pai 1: 7 5 1 4 3 6 8 2 0 9
Pai 2: 3 4 8 7 5 2 6 1 9 0 Pai 2: 3 4 8 7 5 2 6 1 9 0
Pai 1: 3 4 1 7 5 6 8 2 0 9
Pai 2: 7 5 8 4 3 2 6 1 9 0
3. Aplicação 1
• Mutação
▫ A mutação consiste apenas em sortear um
dois pontos em um indivíduo e realizar a
troca destes valores
7 5 1 4 3 6 8 2 0 9 Indivíduo
7 5 1 4 3 6 8 2 0 9 Pontos selecionados
......
2,1,1,3,3,0,0,0,0,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,2,0,46,4 2,1,1,1,0,0,2,0,3,2,0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,12,6
4. Aplicação 2
• Informações dos Atributos
• Complete attribute documentation:
• Clinical Attributes: (take values 0, 1, 2, 3, unless otherwise indicated)
• 1: erythema
• 2: scaling
• 3: definite borders
• 4: itching
• 5: koebner phenomenon
• 6: polygonal papules
• 7: follicular papules
• 8: oral mucosal involvement
• 9: knee and elbow involvement
• 10: scalp involvement
• 11: family history, (0 or 1)
• 34: Age (linear)
4. Aplicação 2
• Informações dos Atributos
• Histopathological Attributes: (take values 0, 1, 2, 3)
• 12: melanin incontinence
• 13: eosinophils in the infiltrate
• 14: PNL infiltrate
• 15: fibrosis of the papillary dermis
• 16: exocytosis
• 17: acanthosis
• 18: hyperkeratosis
• 19: parakeratosis
• 20: clubbing of the rete ridges
• 21: elongation of the rete ridges
• 22: thinning of the suprapapillary epidermis
• 23: spongiform pustule
• 24: munro microabcess
• 25: focal hypergranulosis
• 26: disappearance of the granular layer
• 27: vacuolisation and damage of basal layer
• 28: spongiosis
• 29: saw-tooth appearance of retes
• 30: follicular horn plug
• 31: perifollicular parakeratosis
• 32: inflammatory monoluclear inflitrate
• 33: band-like infiltrate
4. Aplicação 2
• Exemplo de um registro
2,2,0,3,0,0,0,0,1,0,0,0,0,0,0,3,2,0,0,0,
0,0,0,0,0,0,0,3,0,0,0,1,0,55,2
3,3,3,2,1,0,0,0,1,1,1,0,0,1,0,1,2,0,2,2,2,
2,2,1,0,0,0,0,0,0,0,1,0,8,1
• Indivíduo (solução)
▫ Operadores
O1 = O3 O2 O3 O1 O4
O2 ≠ A3 A8 A34 A1 A5
O3 ≥ 1 0 26 3 2
O4 <
▫ Valores: nominais ou contínuos
▫ Atributos do problema (base de dados)
4. Aplicação 2
• Operadores O3 O2 O3 O1 O4
▫ O1 = A3 A8 A34 A1 A5
▫ O2 ≠ 1 0 26 3 2
▫ O3 ≥
▫ O4 <
• Representação da regra para o
indivíduo
▫ if ((A3 = 1) and (A8 ≠ 0) and (A34 ≥ 26) and (A1
= 3) and (A5 < 2))
4. Aplicação 2
• A base de dados foi separada em duas
partes
▫ Treinamento (2/3)
▫ Teste (1/3)
• A base de teste é usada apenas no
melhor indivíduo após o AG finalizar o
treinamento
• Limiar usado para testes = 7 (0-10)
4. Aplicação 2
• Aptidão 𝑡𝑝
▫ tp (True Positive) 𝑆𝑒 =
𝑡𝑝 + 𝑓𝑛
▫ tn (True Negative)
▫ fp (False Positive) 𝑡𝑛
𝑆𝑝 =
▫ fn (False Negative) 𝑡𝑛 + 𝑓𝑝
▫ Se (Sensitivity) 𝑎𝑝𝑡𝑖𝑑ã𝑜 = 𝑆𝑒 ∗ 𝑆𝑝
▫ Sp (Specificity)
4. Aplicação 2
• Cálculo da aptidão de um indivíduo
▫ Um tipo de doença é escolhida (Classk)
▫ Cada registro do histórico é passado sobre
a regra do indivíduo
Regra satisfaz o Acertou (True)
Indivíduoj TP
registro
O1 O 2 O3 ... O34 (Positive) Errou (False)
FP
A1 A2 A3 ... A34
TN
V1 V2 V3 ... V34 Acertou (True)
Regra não satisfaz
Errou (False) FN
o registro
(Negative)
4. Aplicação 2
• População de tamanho Tp
População
i1 i2 ip – 1 ip
O3 O2 O3 O1 O4 ................. O4 O4 O2 O2 O1 O4
A3 A8 A3 A1 A5 A11 A3 A5 A3 A8 A2
4 2
1 0 26 3 2 2 0 3 2 1 0
4. Aplicação 2
• Cada indivíduo é testado sobre a base de
dados
▫ O indivíduo mais apto é aquele que acertar
mais os diagnósticos
• É executado o Algoritmo Genético sobre a
população até achar a melhor solução
4. Aplicação 2
• Exemplo de crossover
O1 O2 O3 ... O34
Indivíduoj A1 A2 A3 ... A34
V1 V2 V3 ... V34
O1 O2 O3 ... O34
Indivíduok A1 A2 A3 ... A34
V1 V2 V3 ... V34
4. Aplicação 2
• Exemplo de mutação
O1 O2 O3 ... O34
Indivíduoj A1 A2 A3 ... A34
V1 V2 V3 ... V34
O1 O2 O3 ... O34
Indivíduoj A1 A2 A3 ... A34
V1 V2 V3 ... V34
4. Aplicação 2
• Seleção Natural
▫ Elitista (apenas os melhores indivíduos
sobrevivem)
4. Aplicação 2
• Exemplo de Solução
▫ BASE DE TREINAMENTO
▫ Aptidão: 0,9411765
▫ Se: 1
▫ Sp: 0,9411765
▫ REGRA
▫ IF 12: Melanin Incontinence |0|1|2|3| < 3
▫ IF 15: Fibrosis of the Papillary Dermis |0|1|2|3| < 1
▫ IF 25: Focal Hypergranulosis |0|1|2|3| < 1
▫ IF 27: Vacuolisation and Damage of Basal Layer |0|1|2|3| >= 0
▫ IF 28: Spongiosis |0|1|2|3| < 1
▫ IF 29: Saw-tooth Appearance of Retes |0|1|2|3| < 3
5. Conclusão
• Algoritmos Genéticos
▫ Busca de soluções para problemas com
grande espaço de estados
▫ Aplicação 1: Criptoaritmética
▫ Aplicação 2: Data Mining
5. Conclusão
• Trabalhos futuros
▫ Algoritmos Genéticos aplicados no
Mercado Financeiro
▫ Algoritmos Genéticos baseados em ilha
(múltiplas populações)
• Agradecimentos a Professora Dra. Gina
da Universidade Federal de Uberlândia
Referências Bibliográficas
• SVN: https://wpattern.codeplex.com/ (SOURCE
CODE sample projects c#
Criptoaritmetica)
• SVN: https://wpattern.codeplex.com/ (SOURCE
CODE sample projects java wpattern-ai-
cryptarithmetic)
• SVN: https://wpattern.codeplex.com/ (SOURCE
CODE sample projects c#
PatternRecognition)
• PGC204 https://code.google.com/p/pgc204/
• http://wpattern.com/blog/post/2013/07/08/ECJ-
e-WEKA-(Reconhecimento-de-Padroes).aspx
Referências Bibliográficas
• SVN: https://wpattern.codeplex.com/ (SOURCE
CODE sample projects c# AGs em Data
Mining)
• SVN: https://wpattern.codeplex.com/ (SOURCE
CODE sample projects c# Pattern
Recognition)
• FIDELIS, M. V. LOPES, H. S. FREITAS, A. A.
Discovering Comprehensible Classification Rules
with a Genetic Algorithm. 2000.
• Skydrive: http://sdrv.ms/1fcXuNW
Referências Bibliográficas
• LUKE, S. Essentials of Metaheuristics. Ed. 2, 2013.
Disponível em:
http://cs.gmu.edu/~sean/book/metaheuristics/
Algoritmos Genéticos
Obrigado!!!
Gostaram???
Sigam o canal do Youtube (Joinha no vídeo):
http://www.youtube.com/user/augustobranquinho
Curtam a página do Facebook:
https://www.facebook.com/pages/WPattern/120542164731714