Você está na página 1de 21

UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

Cmpus Cornlio Procpio

ET30G / ET69B
Sistemas Inteligentes Aplicados a Engenharia

- PMC como Classificador de Padres -

Prof.Dr. Danilo Hernane Spatti

2016

ET30G / ET69B
Sistemas Inteligentes

PMC como classificador de padres


Conceitos

Problema de Classificao de Padres consiste de


associar um padro de entrada (amostra) para uma
daquelas classes que j foram previamente definidas.
Como exemplo, pode-se ter uma aplicao em que o PMC seja treinado
para reconhecer sinais de vozes a fim de permitir acesso de pessoas
ambientes restritos.
Nesta situao, considerando-se que o treinamento foi realizado com
vocbulos de apenas trs pessoas, a resposta da rede, frente a um sinal
de voz inserido em suas entradas, trataria ento de informar de quem
seria o referido sinal (dentre aquelas trs pessoas).

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

Conceitos

Diferentemente dos problemas envolvendo Aproximao


Funcional (sadas reais/analgicas), as respostas associadas
aos problemas de Classificao de Padres esto sempre
relacionadas com grandezas discretas (enumerveis).
As situaes mais elementares seriam aquelas das sadas binrias, em que se tm
apenas duas classes como possveis respostas, sendo que as mesmas poderiam estar
representando, por exemplo, a presena ou ausncia de determinado atributo em
uma amostra apresentada rede.
Como a sada da rede s fornece respostas numricas, uma possvel codificao seria
assinalar o valor 0 ao atributo presena, ao passo que o valor 1 rotularia o atributo
ausncia.
Uma sistemtica similar a esta poderia ser tambm utilizada para problemas
multiclasses (trs ou mais classes).

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

Conceito de Regio Convexa

(a) Convexa; (b) no convexa

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

Aspectos de topologia

PMC de Uma Camada Escondida


De forma similar ao problema do ou-exclusivo, pode-se ento deduzir que um PMC de Uma Camada
Escondida (duas camadas neurais) capaz de mapear qualquer problema de classificao de padres
cujos elementos estejam dentro de uma Regio Convexa.
1
Alguns exemplos de regies convexas so dadas a seguir.
x
1

x2

n1

Como exemplo, visa-se aplicar este


PMC (uma camada escondida) aos
problemas acima.
Para tanto, a quantidade mnima de
neurnios para cada uma das
situaes seriam as seguintes:
Exemplo (a) 2 neurnios (n1= 2)
Exemplo (b) 6 neurnios (n1= 6)
Exemplo (c) 4 neurnios (n1= 4)

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

Aspectos de topologia

PMC de Duas Camadas Escondidas


Do slide anterior, conclui-se que PMC de Uma Camada Escondida consegue classificar padres
dispostos em Regies Convexas.
Consequentemente, pode-se tambm deduzir que redes PMC de Duas Camadas Escondidas so
capazes de classificar padres que estejam em quaisquer tipos de regies geomtricas.
Para tanto, a figura seguinte elucida tal afirmativa.
A
B

x1

G
C
Y

x2

D
H
E
F

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

PMC de Duas Camadas Escondidas


Regies disjuntas

Aspectos de topologia

ET30G / ET69B
Sistemas Inteligentes

Duas possibilidades
Sequencial

PMC como classificador de padres


Codificador de classes

ET30G / ET69B
Sistemas Inteligentes

Duas possibilidades
Onde of C-Class

PMC como classificador de padres


Codificador de classes

10

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

Ps-Processamento

Processo de Ps-Processamento
Os valores produzidos pelos neurnios da camada de sada da rede PMC so nmeros reais.
Considerando os problemas de classificao de padres, as respostas devem ser ento ps-processadas,
pois o que importa so aqueles valores discretos usados p/ rotular as classes.
Para o caso da funo logstica, estes valores podem estar prximos de 1 ou prximos de 0.
Face a esta circunstncia, dependendo da preciso requerida, os valores advindos desta operao
podem ser obtidos pela aplicao da seguinte sistemtica:

Yi ps

1, se Yi sada lim sup

sada
liminf
0, se Yi

Os valores tipicamente adotados para os limitantes (limsup e liminf)


so definidos por:

limsup [0,5 0,9]

liminf [0,1 0,5]

11

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

Implementao

Uma determinada indstria pretende lanar diferentes tipos de vinhos para


atender perfis de clientes diferenciados. Os vinhos sero classificados em trs
classes {A, B e C}.

Para tanto, uma equipe de engenheiros e cientistas pretende aplicar um PMC


como classificador de padres, utilizando-se para tanto uma base de dados que
contm 13 atributos relacionados s diversas caractersticas fsico-qumicas do
vinho, tais como acidez, concentrao de lcool, cor, teor de gua, etc.

Os 10 primeiros elementos da tabela de dados contidos no arquivo


treinamento.txt so representados na tabela seguinte.

12

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

Amostra

x1

x2

x3

Arquivo treinamento.txt

x4

x5

x6

x7

x8

x9

x10

x11

x12

x13

d1

d2

d3

0.7079 0.1364 0.6096 0.3144 0.4130 0.8345 0.7025 0.1132 0.5142 0.4710 0.3333 0.5861 0.7183

0.3658 0.1719 0.4439 0.6134 0.4130 0.3517 0.3692 0.3962 0.3786 0.0666 0.4715 0.6191 0.0478

0.8421 0.1917 0.5722 0.2577 0.6196 0.6276 0.5738 0.2830 0.5931 0.3720 0.4553 0.9707 0.5613

0.3526 0.0395 0.0000 0.0000 0.1957 0.3448 0.0485 0.2830 0.0032 0.0572 0.4634 0.2015 0.1726

0.4816 0.1206 0.5134 0.3814 0.5652 0.1828 0.1920 0.1509 0.1672 0.2406 0.2276 0.0073 0.2511

0.3526 0.1759 0.5027 0.7165 0.1957 0.4276 0.4452 0.5094 0.4700 0.0717 0.3333 0.5531 0.0456

0.2658 0.7036 0.5455 0.5876 0.1087 0.3862 0.2975 0.5472 0.2965 0.1126 0.2520 0.4762 0.2154

0.5711 0.2055 0.4171 0.0309 0.3261 0.5759 0.5106 0.2453 0.2745 0.2645 0.4634 0.7802 0.5506

0.3421 0.0711 0.4920 0.2784 0.3370 0.3690 0.1582 0.9434 0.0000 0.1698 0.6260 0.1465 0.2867

10

0.4868 0.4447 0.5562 0.4845 0.3696 0.1103 0.1857 0.2076 0.1325 0.3515 0.2114 0.0549 0.1797

13

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

Topologia

1
x1

d1

x2

x3

d2

3
x13

3
W1

N1

W2

d3

Classe

d1

d2

d3

14

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

Preparao de dados

Carregue a matriz de treinamento referente ao arquivo treinamento.txt.


Construa o vetor de entrada (vet_entrada) do PMC e o vetor de sada
desejada (vet_desejado), conforme a representao a seguir:
vet_entrada = [ 0.7079 0.3658
0.1364 0.1719
0.6096 0.4439
()
()
vet_desejado = [ 0
0
0
0
1
0
1
0
1

0.8421
0.1917
0.5722
()
()
()
() ];

()
()
()
() ];

Obtenha os valores mnimos e valores mximos para cada uma das


variveis de entrada.
Utilize o comando minmax.

Amostra

x1

x2

x3

(...) d1 d2 d3

0.7079 0.1364 0.6096 (...) 0

0.3658 0.1719 0.4439 (...) 0

0.8421 0.1917 0.5722 (...) 0

(...)

(...)

(...)

(...)

(...
(...) (...) ) (...)

15

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

Inicializando a rede

Crie o PMC com duas camadas neurais, treinada com o algoritmo de LevenbergMarquardt, tendo a seguinte topologia:
1a Camada Neural 05 neurnios (Logstica).
2a Camada Neural 03 neurnios (Linear).

1
x1

d1

d2

d3

x2
x3

3
x13
W1

N1

W2

% 1 Passo: Inicializar a Rede


% =================================================================
net = newff( [x1min x1max ; x2min x2max ; (...); x13min x13max],... % Cria a rede PMC
[N1 N2],...
{'ativao1' 'ativao2'},...
'algoritmo_treinamento' );
% [min(...) max(...)]
Limites dos Padres de Treinamento
% [N1 N2]
Nmero de Neurnios de cada camada
% {'ativao1' 'ativao2'} Funes de ativao de cada camada.

16

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

Parmetros internos

% TIPOS DE FUNO DE ATIVAO


% ----------------------------------------------------------------%
%
%
%

purelin
logsig
tansig
satlin(s)

Linear (Rampa)
Logstica (Sigmide)
Tangente hiperblica
Linear com saturao

% ----------------------------------------------------------------% TIPOS DE ALGORITMOS DE TREINAMENTO


% ----------------------------------------------------------------%
%
%
%
%
%
%

traingd
traingdm
traingda
traingdx
trainlm
trainrp

Backpropagation com Gradiente Descendente


Backpropagation com Gradiente Descendente e momentum
Backpropagation com Gradiente Descendente adaptativo
Backpropagation com Gradiente Descendente adaptativo
e momentum
Backpropagation com Levenberg-Marquardt (default)
Resilient Backpropagation (Rprop)

% -----------------------------------------------------------------

17

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

Parmetros internos

% 2 Passo: Definir os Parmetros de Treinamento


% ========================================================

net.trainParam.epochs = 500;
net.trainParam.goal = 1e-6;
net.trainParam.lr = 0.5;
net.trainParam.show = 5;

%
%
%
%

Nmero de pocas
Erro final desejado
Taxa de aprendizado
Refresh da tela (pocas)

18

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

Treinamento

% 3 Passo: Treinar a Rede


% ======================================================

net = train(net, vet_entrada, vet_desejado);


% net
Varivel que recebeu a Rede Neural
% vet_entrada Vetor de entradas (conjunto de treinamento)
% vet_desejado Vetor de sada desejadas (conjunto de treinamento)

19

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

Validao: aps o treinamento

Amostra
1
2
3
(...)

x1
0.1526
0.7368
0.1131
(...)

x2
0.1206
0.1798
0.5929
(...)

x3
0.7166
0.6631
0.2459
(...)

vet_teste_entrada = [ 0.1526
0.1206
0.7166
()

vet_teste_desejado = [ 0
1
0

(...) d1 d2
(...) 0 1
(...) 0 0
(...) 0 1
(...) (...) (...)

0.7368
0.1798
0.6631
()

0
0
1

0
1
0

0.1131
0.5929
0.2459
()

()
()
() ];

Imprima os vetores para checar se esto ok.

d3
0
1
0
(...)

()
()
()
() ];

20

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

Validao: aps o treinamento

% 4 Passo: Testar a Rede


% ========================================================
vet_saida = sim(net, vet_teste_entrada)
% vet_saida
Vetor com os resultados de sada do PMC.
% net
Varivel que instanciou o PMC.
% vet_teste_entrada Vetor com dados de entrada para teste.

21

ET30G / ET69B

PMC como classificador de padres

Sistemas Inteligentes

Ps processamento

Imprima lado a lado (por meio de uma matriz) os valores de sada obtidos pela rede (vet_saida) com
aqueles que seriam os valores desejados (vet_teste_desejado), conforme formato da tabela abaixo.
Efetue o ps-processamento a fim de gerar somente valores inteiros.

vet_saida
0
1
0
0
0
1
0
1
0
(...)

vet_teste_desejado
0
1
0
0
0
1
0
1
0
(...)

Faa um procedimento que dado vet_sada e vet_teste_desejado, retorne ento o percentual de


acertos entre os dois vetores.
Para propsitos de comparao de velocidade e desempenho, execute agora o treinamento usando o
algoritmo Gradiente Descendente. Compare a velocidade com o Levenberg-Marquardt, assim
como o percentual de acertos frente ao conjunto de teste.

Você também pode gostar