_____________________________________________________________________________
Akio Yamazaki – Centro de Informática – UFPE
_____________________________________________________________________________
Implementação de Redes Neurais para Classificação de Odores
Akio Yamazaki
Aula Prática – Disciplina de Redes Neurais – 2001.2
_____________________________________________________________________________
Akio Yamazaki – Centro de Informática – UFPE
_____________________________________________________________________________
Nariz Artificial
S1 S2 ... S6
Sensores
Substância
Reconhecimento de Padrões
(Rede Neural)Pré-processamento
_____________________________________________________________________________
Akio Yamazaki – Centro de Informática – UFPE
_____________________________________________________________________________
Problema Abordado
– Base de Dados: • Classificação entre odores de duas safras de vinho (A e B)
• Para cada safra, as resistências dos sensores foram registradas a cada 0.5s.
• Cada conjunto de seis valores registrados no mesmo instante de tempo é um padrão (total de 200 padrões, sendo 100 da safra A e 100 da safra B).
– Divisão do Conjunto de Padrões (Proben1):• 50% dos padrões de cada safra escolhidos aleatoriamente
para treinamento,
• 25% para validação,
• e 25% para teste.
_____________________________________________________________________________
Akio Yamazaki – Centro de Informática – UFPE
_____________________________________________________________________________
Respostas dos Sensores
2 3 4 100
...
Tempo (x0.5s)
Resistência
1
S1
S2
S3
S4
S5
S6
_____________________________________________________________________________
Akio Yamazaki – Centro de Informática – UFPE
_____________________________________________________________________________
Rede MLP
– Rede MLP:• Uma camada intermediária,
• 6 unidades de entrada (uma para cada sensor),
• 2 unidades de saída (uma para cada safra de vinho),
• Função de ativação sigmóide logística,
• Todas as possíveis conexões entre camadas adjacentes, sem conexões entre camadas não-adjacentes,
_____________________________________________________________________________
Akio Yamazaki – Centro de Informática – UFPE
_____________________________________________________________________________
Pré-processamento
234 345 456 567 678 7891
100
Vinho A
Padrãot
987 876 765 654 543 4321
100
Vinho B
Normaliza e acrescenta
saídas
0.12 0.23 0.34 0.45 0.56 0.671
100
Vinho A
0 1
0.87 0.76 0.65 0.54 0.43 0.321
Vinho B
1 0
100
Padrão normalizadot Saída
_____________________________________________________________________________
Akio Yamazaki – Centro de Informática – UFPE
_____________________________________________________________________________
Pré-processamento
– Normalização:• Padrões normalizados para a faixa entre 0 e 1 (unidades
com função de ativação sigmóide logística),
• Expressão de normalização:
• onde xnorm é o valor normalizado correspondente a x, e xmin e xmax são os valores mínimo e máximo entre todos os valores do conjunto.
• Obs.: Também pode ser feita separadamente por sensor.
)(
)(
minmax
min
xx
xxxnorm
_____________________________________________________________________________
Akio Yamazaki – Centro de Informática – UFPE
_____________________________________________________________________________
Pré-processamento
0.12 ... 0.671
100
Vinho A
0 1
0.87 ... 0.321
Vinho B
1 0
100
0.12 ... 0.6734
12
Vinho A
0 1
0.87 ... 0.3246
Vinho B
1 0
78
0.39 ... 0.2708 0 1
0.51 ... 0.9261 1 0
Randomiza
Randomiza
Particiona
Particiona
Vinho A (50%)
Vinho A (25%)
Vinho A (25%)
Vinho B (50%)
Vinho B (25%)
Vinho B (25%)
_____________________________________________________________________________
Akio Yamazaki – Centro de Informática – UFPE
_____________________________________________________________________________
Pré-processamento
Vinho A (50%)
Vinho A (25%)
Vinho A (25%)
Vinho B (50%)
Vinho B (25%)
Vinho B (25%)
Vinho A (50%)
Vinho B (50%)
Vinho A (25%)
Vinho B (25%)
Vinho A (25%)
Vinho B (25%)
Treinamento
Validação
Teste
Randomiza
Randomiza
Randomiza
_____________________________________________________________________________
Akio Yamazaki – Centro de Informática – UFPE
_____________________________________________________________________________
Treinamento
Treinamento
0.12 0.23 0.34 0.45 0.56 0.67 0 1
_____________________________________________________________________________
Akio Yamazaki – Centro de Informática – UFPE
_____________________________________________________________________________
Soma dos Erros Quadráticos (SSE)
– Saídas da rede:
0.98 0.12 ... 0.16
0.02 0.96 ... 0.88
– Saídas desejadas:
1.00 0.00 ... 0.00
0.00 1.00 ... 1.00
– Soma dos erros quadráticos (SSE):
SSE = (0.98 – 1)2 + (0.12 – 0)2 + ... + (0.16 – 0)2 +
(0.02 – 0)2 + (0.96 – 1)2 + ... + (0.88 – 1)2
_____________________________________________________________________________
Akio Yamazaki – Centro de Informática – UFPE
_____________________________________________________________________________
Parada por erro mínimo de treinamento
Iteração
SSE
Iteração
Conjunto detreinamento
Conjunto devalidação
(observado a cada 3 iterações)
Erro mínimo detreinamento
Parada
Erro alto para dados não usados no treinamento (não
generaliza bem)
_____________________________________________________________________________
Akio Yamazaki – Centro de Informática – UFPE
_____________________________________________________________________________
Usando o critério da perda de generalização
Perda de Generalização (Proben1):
GL(iteração) = 100 * [(Erro atual de validação /Erro mínimo de validação) – 1]
Para este exemplo, interrompe treinamento quando GL > 5%
SSE
Conjunto devalidação
a
GL(1) = 100*[(a/a) – 1] = 0
d
GL(2) = 100*[(d/d) – 1] = 0
c
GL(3) = 100*[(c/d) – 1] < 5%
bGL(4) = 100*[(b/d) – 1] > 5%
É importante salvar as configurações (melhor rede
foi a da iteração 2).Iteração