380 likes | 1k Views
MATLAB. NEURAL NETWORK TOOLBOX VE UYGULAMALARI. Yapay Sinir Ağları. Yapay sinir ağları insan beyin hücresini (nöron) taklit etmeye çalışan matematiksel bir modeldir. Yapay Sinir Ağları. Avantajlı yönleri Doğrusallık özelliği Paralel işlem yapabilme Öğrenebilme yeteneği
E N D
MATLAB NEURAL NETWORK TOOLBOX VE UYGULAMALARI
Yapay Sinir Ağları • Yapay sinir ağları insan beyin hücresini (nöron) taklit etmeye çalışan matematiksel bir modeldir.
Yapay Sinir Ağları Avantajlı yönleri • Doğrusallık özelliği • Paralel işlem yapabilme • Öğrenebilme yeteneği • Genelleme yapabilme • Uygulanabilirlik • Hata toleransı • Donanım ve hız • Analiz ve tasarım kolaylığı
Yapay Sinir Ağları Bazı kullanım alanları • Arıza analizi • Tıp alanı • Askeri teknoloji • Haberleşme • Üretim, fabrika yönetimi • Otomatik kontrol • Otomotiv • Uçak,Uzay teknolojisi • Finans sektörü • Robotik • Konuşma ve ses yorumlama • Karakter, resim tanıma • Güvenlik
Yapay Sinir Ağları Yapay hücre modeli • Yapay sinir hücreleri, YSA’nın çalışmasına esas teşkil eden en küçük bilgi işleme birimidir
Yapay Sinir Ağları Yapay hücre modeli • P: Giriş vektörü • W: Ağırlık matrisi • n: Net giriş toplamı, • a: Hücrenin çıkışı • f(.): Aktivasyon fonksiyonu
Yapay Sinir Ağları Aktivasyon fonksiyonları • Hard-limit (eşik) aktivasyon fonksiyonu
Yapay Sinir Ağları Aktivasyon fonksiyonları • Sigmoid aktivasyon fonksiyonu • Pureline (Doğrusal) aktivasyon fonksiyonu
Yapay Sinir Ağları Aktivasyon fonksiyonları • Radial tabanlı (gauss) aktivasyon fonksiyonu • Hiperbolik tanjant (Tanh) aktivasyon fonksiyonu
Yapay Sinir Ağları • Yapay sinir hücresinin matematiksel model örneği Çalıştır
Yapay Sinir Ağları Yapay Sinir Ağları Yapay sinir ağları hücrelerin bir birleri ile çeşitli şekillerde bağlanmalarından oluşur.
Yapay Sinir Ağları Yapay Sinir Ağı Modelleri • İleri sürümlü sinir ağları • Multi Layer Perceptron (MLP) • Radial-Basis Network (RBF) • Self-Organizing map (SOM) • Geri beslemeli sinir ağları • Recurrent (Geri beslemeli) ağlar
Yapay Sinir Ağları Multi Layer Perceptrons • İleri sürümlü yapay sinir ağlarıdır. • Bir giriş katmanı, bir veya daha fazla saklı katman ve bir çıkış katmanından oluşur • Giriş katmanındaki bilgiler, her hücre tek tek işlenerek ağın çıkışına iletilir. • Sınıflandırma, karakter tanıma, fonksiyon hesaplama… gibi çok yaygın kullanım alanına sahiptir. 2-4-1 düzenine sahip bir MLP
Yapay Sinir Ağları Multi Layer Perceptrons – İleri yönde veri akışı i.Hücrenin çıkışı i.Hücre için net giriş toplamı
Yapay Sinir Ağları Multi Layer Perceptrons – Hata geriye yayma (Backpropagation) yöntemi ile parametre Güncelleme • Literatürde en çok kullanılan yöntemdir. • Dayandığı yöntem; bir maliyet fonksiyonunun zaman içerisinde, ağ parametrelerinin uyarlanması ile azaltılmasıdır. • Ağın çıkışı ile istenen değer arasındaki fark, eğim düşümü yöntemi yardımı ile her bir hücrenin ağırlıklarının güncellenmesi için parametre olarak kullanılır.
Yapay Sinir Ağları Multi Layer Perceptrons – Hata geriye yayma (Backpropagation) yöntemi ile parametre güncelleme
Yapay Sinir Ağları Multi Layer Perceptrons – Hata geriye yayma (Backpropagation) yöntemi ile parametre güncelleme : Ağın (k+1)’inci katmanındaki i’ıncı hücrenin j’inci girişine bağlı olan ağırlık : Ağın (k+1)’inci katmanındaki i’ıncı hücrenin net giriş toplamı : Ağın (k+1)’inci katmanındaki i’ıncı hücrenin çıkışı : Ağın (k+2)’inci katmanındaki h’ıncı hücrenin i’inci girişine bağlı olan ağırlık : Ağın (k+2)’inci katmanındaki h’ıncı hücrenin net giriş toplamı : Ağın (k+2)’inci katmanındaki h’ıncı hücrenin çıkışı (ağın çıkışı) : Ağın h’ıncı çıkışı için istenen çıkış değeri : Maliyet fonksiyonu
Yapay Sinir Ağları Multi Layer Perceptrons – Hata geriye yayma (Backpropagation) yöntemi ile parametre güncelleme Ağın girişine veri uygulanıp ileri yayımlandıktan sonra maliyet fonksiyonu hesaplanır: Daha sonra bu maliyet fonksiyonu kullanılarak her hücre için delta değerleri Hesaplanır. Eğer çıkış hücresi hesaplanıyorsa delta formülü:
Yapay Sinir Ağları Multi Layer Perceptrons – Hata geriye yayma (Backpropagation) yöntemi ile parametre güncelleme Eğer hücre saklı katman hücresi ise hesaplama :
Yapay Sinir Ağları Multi Layer Perceptrons – Sinüs ve karakter tanıma örnekleri • Sinus.m ->Sinüs örneğinde 0 ile 360 arasında otuz adet açı ile eğitimi yapılan 1-24-1 yapıya sahip MLP ağı, sinüs fonksiyonunu taklit ediyor. • Mlp_fonksiyon_yaklasimi.exe ->Delphi ile yapılmış MLP yapısını kullanan görsel bir ysa demo programı • Karakter.m -> Matlab’da karakter tanıma programı.
Neural Network Toolbox Neural Network Toolbox komutları • NEWFF : Yeni bir Feed-Forward sinir ağı oluşturur. • TRAIN : Sinir ağının eğitimini yapar. • SIM : Sinir ağını simüle eder. • INIT : Sinir ağını sıfırlar. • GENSIM : Sinir ağını simulink’e aktarır.
Neural Network Toolbox NEWFF fonksiyonunun kullanımı net = newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF) • PR : Rx2 matris Girişler içindeki maksimum ve minimum değerler • Si : i. Katmandaki nöron sayısı • TFi : i. Katmandaki nöronların transfer fonksiyonları (logsig, tansig, hardlim ….) • BTF :Geriyansıtma eğitim cinsi (traınlm, traınbfg, traınrp, traıngd … )
Neural Network Toolbox TRAIN fonksiyonunun kullanımı [net,tr] = train(NET,P,T) • net :Eğitim yapılmış olan ağ (çıkış ağı) • tr :Eğitim kayıtı • NET : Eğitimi yapılacak olan ağ • P : Eğitim örnekleri • T :Eğitimdeki hedefler
Neural Network Toolbox SIM fonksiyonunun kullanımı y = sim(net,P) • y : Simülasyon çıkışları • net : Simüle edilecek olan ağ (çıkış ağı) • P :Test girişleri
Neural Network Toolbox Neural Network Toolbox komutları ile yapılan örnekler: • Nn2.m -> y=sin(x) fonksiyonunu taklit eden yapay sinir ağı örneği • Nn3.m -> y=sin(x)^2-sin(x) fonksiyonunu taklit eden yapay sinir ağı örneği • karakter.m -> Bu örnekte önce harfler yapay sinir ağına tanıtılıyor daha sonra bozuk harfler yapay sinir ağına uygulanarak ağın harfleri tanıması test ediliyor.
Neural Network Toolbox Sinüs fonksiyonu için yapay sinir ağı örneği : (NN2.M doyası) N=10; P=linspace(0,360,N); T=sin(P*pi/180); x=P/360; net = newff(minmax(x),[5 1],{'tansig' 'purelin'}); net.trainParam.epochs = 50; net = train(net,x,T);
Neural Network Toolbox Sinüs fonksiyonu için yapay sinir ağı örneği(devam): test=sim(net,[0:2:360]/360); plot(0:2:360,test,'r:') hold on; plot(0:2:360,sin([0:2:360]*pi/180)); title('Sinus ve YSA''da Sinus Grafiği'); grid on; xlabel('Açı Derece'); ylabel('YSA''da Sinus +/ Sinus -'); figure(3); plot(0:2:360,abs(test-sin([0:2:360]*pi/180))); title('Hata');
Yapay Sinir Ağları Neural Network Toolbox Arabirimi Bu ara birim yardımı ile yapay sinir ağı istenilen şekilde görsel olarak tanıtılır, eğitilir, test edilir. İstenirse sonuç workspace’e aktarılablir.
Yapay Sinir Ağları Neural Network ile Sistem tanımlama
Yapay Sinir Ağları Neural Network ile Ön çıkartımlı Sistem Kontrolü
Yapay Sinir Ağları Neural Network ile Sistem tanımlama ve kontrol örneği