Вы находитесь на странице: 1из 4

UNIVERSIDADE FEDERALDO TRINGULO MINEIRO

Instituto De Cincias Tecnolgicas e Exatas

Leandro Brigo Antunes (201110828)


Vtor Domingues de Faria (201110858)
.
.
.

Trabalho Perceptron

Prof Virglio de Melo Langoni


Disciplina: Inteligncia Artificil

Uberaba-MG
27/08/2015

Pela anlise de um processo de destilao fracionada de petrleo observou-se que


determinado leo poderia ser classificado em duas classes de purezas {P1 e P2} a partir da
medio de trs grandezas {X1, X2 e X3}, que representam algumas de suas propriedades fsicoqumicas. A equipe de engenheiros e cientistas pretende usar uma rede Perceptron para executar
a classificao automtica das duas classes.
Assim, baseado nas informaes coletadas do processo, formou-se o conjunto de
treinamento apresentado no Apndice I, tomando por conveno o valor 1 para leo pertencente
classe P1 e o valor 1 para leo pertencente classe P2.
Para tanto, o neurnio constituinte do Perceptron ter ento trs entradas e uma sada conforme
ilustrado na figura 3.8.
Utilizando o algoritmo supervisionado de Hebb (regra de Hebb) para classificao de
padres, e assumindo-se a taxa de aprendizagem como 0,01, faa as seguintes atividades:
1) Execute cinco treinamentos para a rede Perceptron, iniciando-se o vetor de pesos {W}
em cada treinamento com valores aleatrios entre zero e um. Se for o caso, reinicie o gerador de
nmeros aleatrios em cada treinamento de tal forma que os elementos do vetor de pesos iniciais
no sejam os mesmos. O conjunto de treinamento encontra-se no apndice 1.

//Trabalho perceptron
//Declarando valores de entrada
x = [-0.6508 0.1097 4.009 ;
-1.4492 0.8896 4.405 ;
2.0850 0.6876 12.0710 ;
0.2626 1.1476 7.7985 ;
0.6418 1.0234 7.0427 ;
0.2569 0.6730 8.3265;
1.1155 0.6043 7.4446;
0.0914 0.3399 7.0677;
0.0121 0.5256 4.6316;
-0.0429 0.4660 5.4323;
0.4340 0.6870 8.2287;
0.2735 1.0287 7.1934;
0.4839 0.4851 7.4850;
0.4089 -0.1267 5.5019;
1.4391 0.1614 8.5843;
-0.9115 -0.1973 2.1962;
0.3654 1.0475 7.4858;
0.2144 0.7515 7.1699;
0.2013 1.0014 6.5489;
0.6483 0.2183 5.8991;
-0.1147 0.2242 7.2435;
-0.7970 0.8795 3.8762;
-1.0625 0.6366 2.4707;
0.5307 0.1285 5.6883;
-1.2200 0.7777 1.7252;
0.3957 0.1076 5.6623;
-0.1013 0.5989 7.1812;
2.4482 0.9455 11.2095;

2.0149 0.6192 10.9263;


0.2012 0.2611 5.4631];
//Declarando valores de sada desejados
d = [-1 -1 -1 1 1 -1 1 -1 1 1 -1 1 -1 -1 -1 -1 1 1 1 1 -1 1 1 1 1 -1 -1 1 -1 1];
//Gerando pesos aleattrios
W = (rand(1,3));
//Taxa de aprendizagem
n = 0.01;
//DDeclarando valor do erro
e = 0.0001;
//Declarando Limiar de ativao
l = (rand(1,3))
// Declarando numero maximo de epocas
maxepocas = 300
function y1=ypercep(x, W, b)
u=W*x + b;
for i=1:(length(W(:,1))*length(x(1,:)))
if (u(i) >= 0) then
y1(i)=1;
else
y1(i)=-1;
end;
end
y1=y1';
endfunction
function [W, b, erroepoca]=train(W, b, x, y, n, maxepocas, e)
erroepoca=[];
t=1;
Erro= e;
while(maxepocas>=t)&(Erro>= e )
Erro=0;
for i=1:size(w,2)
y1 = ypercep(W,b,xin(i));
dif = y(i)-y1;
w=w + (n*dif)*x(:,i)';
b=b+n*dif;
Erro=Erro + (dif)^2;
end
erroepoca=[erroepoca Erro];
t=t+1;
end
endfunction

2) Registre os resultados dos cincos treinamentos na tabela 3.2 apresentada a seguir.

Valor de pesos iniciais

Valor de Pesos
finais

Treinamento
w0
w1
w2
w3
w0
w1
w2
1
0.9
0.9
0.9
-1
0.517
0.8836
1
0.2
0.3
0.1
-1
0.4345
0.644
1
0.9
0.8
0.7
-1
0.552
0.8239
1
0.6
0.1
0.2
-1
0.4357
0.64
1
0.1
0.5
0.9
-1
0.4386
0.64
Tabela 3.2- Resultados dos treinamentos do Perceptron.

1
2
3
4
5

w2
-0.2439
-0.219
-0.2401
0.2195
0.2197

pocas
95
188
65
216
147

3) Aps o treinamento do Perceptron, coloque o mesmo em operao, aplicando na


classificao automtica das amostras de leo da tabela 3.3, indicando ainda nesta tabela aqueles
resultados das sadas (Classes) referentes aos cinco processos de treinamento realizados no item
1.

Amostra
1
2
3
4
5
6
7
8
9
10

x1
x2
x3
T1
T2
T3
T4
5.989
0.062
5.989
-1
-1
-1
-1
0.7842 1.126
5.591
1
1
1
1
0.3012 0.5611
5.823
1
1
1
1
0.7757 1.064
8.067
1
1
1
1
0.157 0.8028
6.304
1
1
1
1
-0.7014 1.031
3.660
1
1
1
1
0.3748 0.1536
6.153
-1
-1
-1
-1
-0.692 0.9494
4.405
1
1
1
1
-1.397 0.7141
4.926
-1
-1
-1
-1
-1.884 -0.2805 1.254
-1
-1
-1
-1
Tabela 3.3 Amostras de leo para validar a rede Perceptron.

T5
-1
1
1
1
1
1
-1
1
-1
-1

4) Explique porque o nmero de pocas de treinamento em relao a esta aplicao, varia


a cada vez que executamos o treinamento perceptron.
R. Um peso aletorio gerado a cada vez que iniciamos o treinamento, fazendo com que
o nmero de pocas mude.

Вам также может понравиться