www.aliosmangokcan.com

Matlab'da hazırlanan Yapay sinir ağları (YSA) uygulamalarından olan denklem çözümlerine bir yenisini daha eklemiş olalım.

Bu çalışmada y=2*(x1)2+5*Sin(x2)+x1*x2  denkleminin Yapay Sinir Ağlarının Normal Geri Yayılım Yöntemi, Newton Yöntemi, Levenberg-Marquardt Yöntemi İle Matlab'da çözümünü yer almaktadır. 

1-y=2*(x1)2+5*Sin(x2)+x1*x2 denkleminin Yapay Sinir Ağları Geri Yayılım metodu ile çözümünde kullanılacak Matlab kodu aşağıdaki gibidir:

close all

clear all

clc

t=0:.1:20;

x1=100*sin(2*pi*t/10);

x2=100*sin(2*pi*t/15);

x0=1;

 

d1=2*x1.^2+5*sin(x2)+x1.*x2;

x=[x1;x2];

d=d1./max(d1);

w1=rand(6,2); w10=rand(6,1);

w2=rand(6,1); w20=rand;

load erkw

alfa=0.034;

E=10; s=0;

while (s<1000)

   s=s+1;

       

   for i=1:201

v=w1*(x(:,i)./100)+w10;

 

f=(1-exp(-v))./(1+exp(-v));

y(i)=w2'*f+w20;

e(i)=d(i)-y(i);

 

delta_w2=e(i)*f;

delta_w20=e(i);

 

delta_w1=(e(i)*(f.*(1-f)).*w2)*(x(:,i)./100)';

delta_w10=e(i)*(f.*(1-f)).*w2;

 

w1=w1+alfa*delta_w1;

w2=w2+alfa*delta_w2;

 

w10=w10+alfa*delta_w10;

w20=w20+alfa*delta_w20;

 

end

E=.5*sumsqr(e);

JJ(s)=E;

if (mod(s,100)==0)

s,E

end

 

end

plot(y*max(d1),'*')

hold on

plot(d1,'r')

save erkw.mat w1 w10 w2 w20

    


           Şekil 1. Normal Geri Yayılım Metodu ile Yapılan Çözümün Ekran Çıktıları

2- y=2*(x1)2+5*Sin(x2)+x1*x2 denkleminin Newton metodu ile çözümünde kullanılacak Matlab kodu aşağıdaki gibidir:

clc

clf

clear

w=randn(5,2);

w2=randn(1,5);

q=randn;

birim=eye(5,5);

birim1=eye(2,2);

bir=eye(26,26);

lamda=10000;

dw=zeros(5,2);

dw2=zeros(1,5);

dq=zeros;

alfa=.55;

for k=1:20

   x1(k)=sin(k*pi/20);

   x2(k)=cos(k*pi/20);

   y(k)=2*x1(k)^2+5*sin(x2(k))+x1(k)*x2(k);

end

x=[x1; x2];

figure(1)

for i=1:500

o=w*x;

v=(1-exp(-o))./(1+exp(-o));

ym=w2*v+q*ones(1,k);

e=y-ym;

j=-v';

h=j'*j;

g=j'*e';

d=(1-v.^2).*(w2'*(-1*ones(1,size(e,2))));

d1=[d(1,:)' d(1,:)'];

d2=[d(2,:)' d(2,:)'];

d3=[d(3,:)' d(3,:)'];

d4=[d(4,:)' d(4,:)'];

d5=[d(5,:)' d(5,:)'];

j11=d1.*x';

j12=d2.*x';

j13=d3.*x';

j14=d4.*x';

j15=d5.*x';

j11h=j11'*j11;

j12h=j12'*j12;

j13h=j13'*j13;

j14h=j14'*j14;

j15h=j15'*j15;

h11h(1,:)=j11h(1,:)*j11h(1,1);

h11h(2,:)=j11h(2,:)*j11h(2,2);

h12h(1,:)=j12h(1,:)*j12h(1,1);

h12h(2,:)=j12h(2,:)*j12h(2,2);

h13h(1,:)=j13h(1,:)*j13h(1,1);

h13h(2,:)=j13h(2,:)*j13h(2,2);

h14h(1,:)=j14h(1,:)*j14h(1,1);

h14h(2,:)=j14h(2,:)*j14h(2,2);

h15h(1,:)=j15h(1,:)*j15h(1,1);

h15h(2,:)=j15h(2,:)*j15h(2,2);

hh(1,:)=h(1,:)*h(1,1);

hh(2,:)=h(2,:)*h(2,2);

hh(3,:)=h(3,:)*h(3,3);

hh(4,:)=h(4,:)*h(4,4);

hh(5,:)=h(5,:)*h(5,5);

jq=(-1*ones(1,size(e,2)))';

jqh=jq'*jq;

gq=jq'*e';

g1=j11'*e';

g2=j12'*e';

g3=j13'*e';

g4=j14'*e';

g5=j15'*e';

w(1,:)=w(1,:)-alfa*((1/2)*(j11h+lamda*inv(h11h))\g1)';

w(2,:)=w(2,:)-alfa*((1/2)*(j12h+lamda*inv(h12h))\g2)';

w(3,:)=w(3,:)-alfa*((1/2)*(j13h+lamda*inv(h13h))\g3)';

w(3,:)=w(4,:)-alfa*((1/2)*(j14h+lamda*inv(h14h))\g4)';

w(5,:)=w(5,:)-alfa*((1/2)*(j15h+lamda*inv(h15h))\g5)';

w2=w2-alfa*((1/2)*(h+lamda*inv(hh))\g)';

q=q-alfa*(1/2)*(jqh+lamda*inv(jqh*jqh))\gq;

%alfa=alfa*(1.01);

E(i)=sumsqr(e)/k;

ploterr(E(1:i))

end

plot(y)

hold on

plot(ym,'r*')

                            Şekil 2. Newton Metodu ile Yapılan Çözümün Erkan Çıktıları         

2- y=2*(x1)2+5*Sin(x2)+x1*x2 denkleminin YSA'nın Levenberg –Marquardt Yöntemi ile çözümünde kullanılacak Matlab kodu aşağıdaki gibidir:

clc

clf

clear

w=randn(5,2);

w2=randn(1,5);

q=randn;

birim=eye(5,5);

birim1=eye(2,2);

bir=eye(26,26);

lamda=10000;

dw=zeros(5,2);

dw2=zeros(1,5);

dq=zeros;

alfa=.55;

for k=1:20

   x1(k)=sin(k*pi/20);

   x2(k)=cos(k*pi/20);

   y(k)=2*x1(k)^2+5*sin(x2(k))+x1(k)*x2(k);

end

x=[x1; x2];

figure(1)

for i=1:500

o=w*x;

v=(1-exp(-o))./(1+exp(-o));

ym=w2*v+q*ones(1,k);

e=y-ym;

j=-v';

h=j'*j;

g=j'*e';

d=(1-v.^2).*(w2'*(-1*ones(1,size(e,2))));

d1=[d(1,:)' d(1,:)'];

d2=[d(2,:)' d(2,:)'];

d3=[d(3,:)' d(3,:)'];

d4=[d(4,:)' d(4,:)'];

d5=[d(5,:)' d(5,:)'];

j11=d1.*x';

j12=d2.*x';

j13=d3.*x';

j14=d4.*x';

j15=d5.*x';

j11h=j11'*j11;

j12h=j12'*j12;

j13h=j13'*j13;

j14h=j14'*j14;

j15h=j15'*j15;

h11h(1,:)=j11h(1,:)*j11h(1,1);

h11h(2,:)=j11h(2,:)*j11h(2,2);

h12h(1,:)=j12h(1,:)*j12h(1,1);

h12h(2,:)=j12h(2,:)*j12h(2,2);

h13h(1,:)=j13h(1,:)*j13h(1,1);

h13h(2,:)=j13h(2,:)*j13h(2,2);

h14h(1,:)=j14h(1,:)*j14h(1,1);

h14h(2,:)=j14h(2,:)*j14h(2,2);

h15h(1,:)=j15h(1,:)*j15h(1,1);

h15h(2,:)=j15h(2,:)*j15h(2,2);

hh(1,:)=h(1,:)*h(1,1);

hh(2,:)=h(2,:)*h(2,2);

hh(3,:)=h(3,:)*h(3,3);

hh(4,:)=h(4,:)*h(4,4);

hh(5,:)=h(5,:)*h(5,5);

jq=(-1*ones(1,size(e,2)))';

jqh=jq'*jq;

gq=jq'*e';

g1=j11'*e';

g2=j12'*e';

g3=j13'*e';

g4=j14'*e';

g5=j15'*e';

w(1,:)=w(1,:)-alfa*((1/2)*(j11h+lamda*inv(h11h-0.01*birim1))\g1)';

w(2,:)=w(2,:)-alfa*((1/2)*(j12h+lamda*inv(h12h-0.01*birim1))\g2)';

w(3,:)=w(3,:)-alfa*((1/2)*(j13h+lamda*inv(h13h-0.01*birim1))\g3)';

w(3,:)=w(4,:)-alfa*((1/2)*(j14h+lamda*inv(h14h-0.01*birim1))\g4)';

w(5,:)=w(5,:)-alfa*((1/2)*(j15h+lamda*inv(h15h-0.01*birim1))\g5)';

w2=w2-alfa*((1/2)*(h+lamda*inv(hh-0.01*birim))\g)';

q=q-alfa*(1/2)*(jqh+lamda*inv(jqh*jqh-0.01))\gq;

%alfa=alfa*(1.01);

E(i)=sumsqr(e)/k;

ploterr(E(1:i))

end

plot(y)

hold on

plot(ym,'r*')

%xlabel('Agirlik (w)')

%ylabel('Polarma Agirligi (b)')

%title('Hata Egrisi')

'ysa, matlab, 'matlab ysa', 'yapay sinir ağları', 'ysa ile denklem çözümü', 'ysa 2 bilinmeyenli denklem', 'yapay sinir ağları 3 bilinmeyenli denklem, 'Geri Yayılım Yöntemi', 'Newton Yöntemi', 'Levenberg-Marquardt metodu', 'matlab ysa uygulamaları', 'yapay zeka', 'ysa uygulaması', 'artificial neual networks', 'or kapısı ve ysa', 'or gate ysa', 'veya kapısı matlab', 'or gate veya kapısı', 'ysa ile hava sıcaklığı', 'ysa ile tahmin', 'and kapısı ve ysa', 'and gate ysa', 've kapısı matlab', 'and gate ve kapısı', 'xor kapısı ve ysa', 'xor gate ysa', 'özel veya kapısı matlab', 'xor gate özel veya kapısı','iki girişli tek çıkışlı', 'sinüsoidal fonksiyon', 'sinüzoydal fonksiyon ysa matlab', 'iki giriş tek çıkışlı sinüsoidal fonksiyonun ysa uygulaması', 'matlab uygulamaları', 'ysa uygulamaları', 'yapay sinir ağı uygulamaları', 'Ali Osman Gökcan', 'Ali Osman Hoca', 'Ali Osman', 'ali osman matlab', 'ysa ile dc motor kontrolü'

--->>> YSA ile XOR Kapısı Problem Çözümü için TIKLAYINIZ <<<---

--->>> Matlab'da Analitik Yöntem & Euler Metodu karşılaştırması için TIKLAYINIZ <<<---  

--->>> YSA ile 2 Bilinmeyenli Denklem Çözümü için TIKLAYINIZ <<<---

--->>> YSA ile 1.Dereceden 3 Bilinmeyenli Denklem Çözümü için TIKLAYINIZ <<<---