www.aliosmangokcan.com

Önceki paylaşımlarda 1.dereceden 2 bilinmeyenli ve 3 bilinmeyenli denklemlerin çözümüne yönelik matlab yapay sinir ağı örneği yer almıştı. Bu çalışmada ise 2.dereceden 2 bilinmeyenli bir denklemin 3 farklı yapay sinir ağı yöntemi ile Matlab'da çözümü gösterilmiştir.

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')

NOT : Sitede, yapay sinir ağı, yapay sinir ağları nelerdir, derin öğrenme nedir, deep learning nedir, bulanık mantık nedir, fuzzy logic nedir, yapay sinir ağları uygulamaları, makine öğrenmesi, yapay sinir ağı algoritmaları, makine öğrenmesi ve derin öğrenme, regresyon, machine learning nedir, matlab, matlab örnekleri, matlab machine learning gibi soruların cevaplarına yönelik içerikler yer almaktadır. 'Yapay sinir ağı’, ‘yapay sinir ağları nedir’, ‘derin öğrenme nedir’, ‘deep learning nedir’, ’bulanık mantık nedir’, ‘fuzzy logic nedir’, ‘yapay sinir ağları uygulamaları’, ‘makine öğrenmesi’, ‘yapay sinir ağı algoritmaları’, ‘makine öğrenmesi ve derin öğrenme’, regresyon, ‘machine learning nedir’, matlab, ‘matlab örnekleri’, ‘matlab machine learning’, 'artificial neural network','ysa ile denklem çözümü', 'ysa 2 bilinmeyenli denklem', 'yapay sinir ağları 3 bilinmeyenli denklem', 'and kapısı ve ysa', 'and gate ysa', 've kapısı matlab', 'and gate ve kapısı', 'or kapısı ve ysa', 'or gate ysa', 'veya kapısı matlab', 'or gate veya kapısı', 'xor kapısı ve ysa', 'xor gate ysa', 'özel veya kapısı matlab', 'xor gate özel veya kapısı' ,'levenberg-marquardt yöntemi','newton yöntemi', 'geri yayılım algoritması'

--->>> 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 <<<---