www.aliosmangokcan.com

Matlab ile yapılmış yapay sinir ağı örnekleri paylaşmaya devam ediyoruz. Bu örnekte 1.dereceden 3 bilinmeyenli bir denklemin yapay sinir ağları ile çözümü yer almaktadır. 

Matlab'da yapa zeka (artificial intelligence) uygulamalarına yönelik bir çok hazır araç yer almaktadır. Bu matlab araçları Deep Learning Toolbox, Reinforcement Learning Toolbox, Deep Learning HDL Toolbox, Text Analytics Toolbox, Predictive Maintenance Toolbox şeklinde sıralanabilir. (Araçlara ait daha sonra ayrıntılı bir paylaşım yapmayı planlıyorum). Ancak bu çalışmada mantıksal kapılara yönelik YSA uygulamalarında da olduğu gibi Matlab toolbox'ları veya hazır fonksiyonları kullanılmadı, sonuca döngüler ile ulaşıldı.

Yapay sinir ağlarına ait matlab örneğimiz için elimizde 1.dereceden 3 bilinmeyenli bir y=2x1+3x2+4x3+5 denklemi var. Bu denklemi önce en küçük kareler yöntemi (least squares method) ile çözüp Matlab'da ekran çıktısını göreceğiz. Daha sonra ise gradyan metodu ile aynı işlemi yapacağız.

1- y=2x1+3x2+4x3+5 denkleminin en küçük kareler metodu ile çözümünde kullanılacak Matlab kodu aşağıdaki gibidir:

clear all

clf

for k=1:50

    x1(k)=sin(2*k*pi/10);

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

      x3(k)=sin(2*k*pi/15);

   x4(k)=5

      d(k)=2*x1(k)+3*x2(k)+4*x3(k)+x4(k);

  end

  x=[x1;x2;x3;x4];

  for i=1:4

      for j=1:4

          R(i,j)=0

          p(i)=0

      end

  end

  for i=1:4

      for j=1:4

          for k=1:50

              R(i,j)=R(i,j)+x(i,k)*x(j,k)

          end

      end

  end

  for i=1:4

      for k=1:50

          p(i)=x(i,k)*d(k)+p(i);

      end

  end

  p=p/50

  R=R./50

  w=p*inv(R)

  y=w*x;

  plot(d,'k+')

  hold on

  plot(y,'k')

 

ysa-en-kucuk-kareler
Şekil 1. En Küçük Kareler Metodu Matlab YSA Çıktısı 

2- y=2x1+3x2+4x3+5 denkleminin gradyan metodu ile çözümünde kullanılacak Matlab kodu aşağıdaki gibidir:

clear all

w=rand(1,3);

b=rand;

alf=0.01;

N=50;

for i=1:10

    k=0;

for t=0:N

    k=k+1;

    x1(k)=sin(t*pi/15);

    x2(k)=sin(t*pi/25);

    x3(k)=sin(t*pi/10);

    y(k)=2*x1(k)+3*x2(k)+4*x3(k)+5;

        x(:,k)=[x1(k);x2(k);x3(k)];

     ysa(k)=w*x(:,k)+b;

      e(k)=y(k)-ysa(k);

end

    dw=e*x';

    db=sum(e);

    w=w+alf*dw;

    b=b+alf*db;

end

t=0:N;

plot(t,y,t,ysa)

ysa-gradyan-metodu

Şekil 1. Gradyan Metodu Matlab YSA Çıktısı                               

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

--->>> 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 AND Gate Matlab Çözümü için TIKLAYINIZ <<<---