4 Sınıflı Bir Problemin Bir Perceptron ile Sınıflandırılması

Matlab Yapay Sinir Ağları Örneği 4- Yapay sinir ağı nedir, yapay sinir ağlarının avantajları ve uygulama alanları nelerdir sorularının cevaplarını paylaştıktan sonra Matlab ile yapılmış yapay sinir ağı örneklerine başlamıştık. 

Makalemizdeki problemi kısaca şu şekilde tanımlayabiliriz: 2 girişli ve 2 çıkışlı Perceptron ağı var ve biz giriş vektörlerini 4 kategoriye ayıracak şekilde eğiteceğiz. Bunu yaparken öncelikle veriler tanımlanacak, perceptron (algılayıcı) eğitimi için girdi ve çıktıları hazırlanacak, 1 perceptron oluşturulacak,eğitilecek ve test edilecek. 

 -- Verileri tanımlama: 

close all, clear all, clc, format compact
% her sınıfın örnek sayısı
K = 30;
% sınıfları tanımlama
q = .6; % offset of classes
A = [rand(1,K)-q; rand(1,K)+q];
B = [rand(1,K)+q; rand(1,K)+q];
C = [rand(1,K)+q; rand(1,K)-q];
D = [rand(1,K)-q; rand(1,K)-q];
% sınıfları çizdirme
plot(A(1,:),A(2,:),'bs')
hold on
grid on
plot(B(1,:),B(2,:),'r+')
plot(C(1,:),C(2,:),'go')
plot(D(1,:),D(2,:),'m*')
% sınıfların etiketlenmesi
text(.5-q,.5+2*q,'Class A')
text(.5+q,.5+2*q,'Class B')
text(.5+q,.5-2*q,'Class C')
text(.5-q,.5-2*q,'Class D')
% sınıflar için çıktı kodlamasını tanımlar.
a = [0 1]';
b = [1 1]';
c = [1 0]';
d = [0 0]';
% % Bu kodlama neden çalışmıyor sizce?
% a = [0 0]';
% b = [1 1]';
% d = [0 1]';
% c = [1 0]';
% % Bu kodlama neden çalışmıyor sizce?
% a = [0 1]';
% b = [1 1]';
% d = [1 0]';
% c = [0 1]';

 

-- Perceptron (algılayıcı) Eğitimi İçin Giriş ve Çıkışları Hazırlama:

% girdileri tanımlayın (dört sınıfın tümünden örnekleri birleştirin)
P = [A B C D];
% hedefleri tanımla
T = [repmat(a,1,length(A)) repmat(b,1,length(B)) ...
repmat(c,1,length(C)) repmat(d,1,length(D)) ];
%plotpv(P,T);

-- Bir Perceptron Oluşturma:

net = perceptron;

 -- Bir Perceptron Eğitimi:

Matlab'da ADAPT komutu, daha iyi bir sınıflandırıcı, ağ çıkışı ve hata olarak performans gösteren yeni bir ağ nesnesi döndürür. Bu döngü, ağın xx geçişlerine uyum sağlamasına izin verir, sınıflandırma satırını çizer ve hata sıfır olana kadar devam eder.

E = 1;
net.adaptParam.passes = 1;
linehandle = plotpc(net.IW{1},net.b{1});
n = 0;
while (sse(E) & n<1000)
n = n+1;
[net,Y,E] = adapt(net,P,T);
linehandle = plotpc(net.IW{1},net.b{1},linehandle);
drawnow;
end
% algılayıcı yapısının gösterilmesi
view(net);

 

-- Eğitilmiş Bir Perceptron Kullanımı:

% Örnek: [0.7; 1.2] Giriş vektörünü sınıflandırıalım
p = [0.7; 1.2]
y = net(p)
% Yanıtı çıktı kodlamasıyla karşılaştıralım (a, b, c, d)

Kodlar Çalıştırıldığında:

p =
0.7000
1.2000
y =
1
1

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

--->>>Matlab Optimtool Toolbox ile Genetik Algoritma Örneği için TIKLAYINIZ <<<---

 --->>>Matlab Nntool Toolbox ile Regresyon Örneği için TIKLAYINIZ <<<---

 --->>>C++ ile Geri Yayılım Algoritması Örneği için TIKLAYINIZ <<<---

 --->>>C++ ile Makine Öğrenmesi KNN algoritması Örneği için TIKLAYINIZ <<<---

‘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 networks’

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 876605