Yapay Sinir Ağları ile AND Kapısı

Mantıksal kapılara (logic gates) yapay sinir ağı (artificial neural network) uygulamaları serisinin ilki olan bu çalışma Matlab programı üzerinde gerçekleştirilmiştir. Booelean nedir, and gate nedir sorularının cevapları verildikten sonra AND probleminin hem örneksel işlemlerle hem de toplu işlemlerle yapılan Matlab uygulaması gerçekleştirilmiştir.

Boolean Mantığı nedir? 

Boolean Mantığı, Boolean Operatörleri olarak bilinen üç basit kelime etrafında toplanan bir cebir biçimidir: "Veya", "Ve" ve "Değil". Boolean Mantığının merkezinde, tüm değerlerin doğru veya yanlış olduğu fikri vardır. Lotame platformunda, Boolean Mantığının kullanımı, daha karmaşık hedef kitle tanımlarının oluşturulmasına izin vererek, izleyicilerin çok özel bir tanım kümesine göre oluşturulmasına olanak tanır. Bu makale, bireysel Boolean operatörlerinin kullanımlarını ve bunların izleyici oluşturmayla nasıl ilişkili olduğunu araştırıyor.

Boolean fonksiyonları, elektronik kapılar kullanılarak pratik olarak uygulanabilir. Bu durumun anlaşılması için aşağıdaki hususları sıralamak gerekmektedir. 

1- Elektronik kapılar güç kaynağı gerektirir.
2- Kapı GİRİŞLERİ iki nominal değere sahip voltajlar tarafından sürülür. örn. Sırasıyla mantık 0 ve mantık 1'i temsil eden 0V ve 5V.
3- Bir kapının ÇIKIŞInı yalnızca iki nominal voltaj değeri sağlar, örn. Sırasıyla mantık 0 ve mantık 1'i temsil eden 0V ve 5V. Genel olarak, bazı özel durumlar dışında bir mantıksal kapıda sadece bir çıkış vardır.
4- Girdi ile çıktı arasında her zaman gecikme olur.

 

AND (VE) kapısı sadece tüm girişleri 1 ise çıkışı 1 verir, diğer tüm hallerde çıkışı 0 verir.

a

b

Çıkış (y)

0

0

0

0

1

0

1

0

0

1

1

1

Tablo 1.1 AND Kapısının doğruluk tablosu

 

1- Örneksel işlemlerle gerçekleştirilen AND probleminin m-file kodları:

clear all 
clc
w1=rand;
w2=rand;
w0=rand;
x1=[0 0 1 1 ];
x2=[0 1 0 1 ];
d=[0 0 0 1];
x0=1;
alfa=1;
E=4;
s=0;
while (E~=0)
s=s+1;
for i=1:4
v(i)=w1*x1(i)+w2*x2(i)+w0*x0;
if v(i)>0 y(i)=1;
else y(i)=0;
end
e(i)=d(i)-y(i);
delta_w1=e(i)*x1(i);
delta_w2=e(i)*x2(i);
delta_w0=e(i)*x0;
w1=w1+alfa*delta_w1;
w2=w2+alfa*delta_w2;
w0=w0+alfa*delta_w0;
end
E=sumsqr(e);
end
plot(y,'r')
grid

Bu örnekte, 2 giriş, 1 çıkış ve 1 gizli katman içeren bir yapay sinir ağı (perceptron) kullanılmıştır. Bu ağ, AND işlemi öğrenmek için eğitilmiştir. Kodda ilk olarak üç ağırlık değeri w1, w2 ve w0 rastgele olarak atanmaktadır. Ardından, ağın öğrenmesi için kullanılacak olan giriş verileri x1 ve x2 ile hedef çıktı değerleri d tanımlanmaktadır. x0 değişkeni ise her girişe bir sabit terim eklemek için kullanılmaktadır. alfa öğrenme katsayısı olarak tanımlanmaktadır. Daha sonra, ağın eğitilmesi için bir while döngüsü başlatılmaktadır. Bu döngü, hedef çıktı değerleri d ve ağın çıkış değerleri y arasındaki hatayı (e) hesaplar ve ağırlık değerlerini günceller. Güncelleme işlemi, geriye yayılım algoritması kullanılarak yapılır. Bu işlem, her giriş örneği için ayrı ayrı yapılır. Eğitim sırasında, her döngüde hata (E) hesaplanır ve hata sıfır olana kadar döngü devam eder. Sonuç olarak, ağın çıkış değerleri y çizdirilir.

2- Toplu işlemlerle gerçekleştirilen AND probleminin m-file kodları:

clear all
clc
w1=rand;
w2=rand;
w0=rand;
x1=[0 0 1 1 ];
x2=[0 1 0 1 ];
d=[0 0 0 1];
x0=1;
alfa=1;
s=0;
e=5;
while(sum(e)~=0),
s=s+1
for i=1:4;
v(i)=w1*x1(i)+w2*x2(i)+w0*x0;
if (v(i)>0) y(i)=1;
else y(i)=0;
end
end
e=d-y;
delta_w1=e*x1';
delta_w2=e*x2';
delta_w0=sum(e)*x0;
w1=w1+alfa*delta_w1;
w2=w2+alfa*delta_w2;
w0=w0+alfa*delta_w0;
end
plot(y,'r')
grid

Bu kod parçası da MATLAB dilinde bir yapay sinir ağı (neural network) örneği içermektedir. Ancak, önceki örneğe göre farklı bir özellik taşımaktadır. Bu örnekte, 2 giriş, 1 çıkış ve 1 gizli katman içeren bir yapay sinir ağı (perceptron) kullanılmaktadır. Bu ağ, OR işlemi öğrenmek için eğitilmiştir. Kodda ilk olarak üç ağırlık değeri w1, w2 ve w0 rastgele olarak atanmaktadır. Ardından, ağın öğrenmesi için kullanılacak olan giriş verileri x1 ve x2 ile hedef çıktı değerleri d tanımlanmaktadır. x0 değişkeni ise her girişe bir sabit terim eklemek için kullanılmaktadır. alfa öğrenme katsayısı olarak tanımlanmaktadır. Daha sonra, ağın eğitilmesi için bir while döngüsü başlatılmaktadır. Bu döngü, hedef çıktı değerleri d ve ağın çıkış değerleri y arasındaki hatayı (e) hesaplar ve ağırlık değerlerini günceller. Güncelleme işlemi, geriye yayılım algoritması kullanılmadan doğrudan hesaplanır. Bu işlem, tüm giriş örnekleri için aynı anda yapılır. Eğitim sırasında, her döngüde hata (e) hesaplanır ve hata sıfır olana kadar döngü devam eder. Sonuç olarak, ağın çıkış değerleri y çizdirilir. Bu kod parçası da, MATLAB dilindeki yapay sinir ağı kavramlarını ve OR işlemi öğrenmek için bir yapay sinir ağı nasıl eğitilir, nasıl güncellenir öğrenmek için faydalı bir örnek teşkil etmektedir.

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

--->>> YSA ile OR Kapısı Uygulaması için TIKLAYINIZ <<<---  

--->>> Matlab'da Sinüsoidal Fonksiyonun YSA Uygulaması için TIKLAYINIZ <<<---

Bilgilendirme

www.aliosmangokcan.com sayfasına gösterdiğiniz ilgiden dolayı teşekkür ederim. İçeriklerle ilgili duygu ve düşüncelerinizi mail adresim üzerinden iletebilirsiniz...

 

İstatistikler

  • Kullanıcılar 1
  • Makaleler 112
  • Makale Görüntüleme 867123