O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Geri Yayılım Algoritması

4.702 visualizações

Publicada em

çok katmanlı yapay sinir ağları ve geri yayılım algoritması

Publicada em: Engenharia
  • Entre para ver os comentários

Geri Yayılım Algoritması

  1. 1. Çok Katmanlı Yapay Sinir Ağları ve Geri Yayılım Algoritması Hazırlayan:Hülya SOYLU - 12060382
  2. 2. Giriş ➔ Çok Katmanlı Algılayıcı ➔ ÇKA Modelinin Yapısı ➔ ÇKA Ağının Öğrenme Modeli ➔ ÇKA Ağının Çalışma Prosedürü ➔ Ağın Eğitilmesi ➔ XOR Probleminin Çözülmesi ➔ ÇKA Ağının Performansının Ölçülmesi ➔ ÇKA Ağının Öğrenmek Yerine Ezberlenmesi ➔ Bir ÇKA Ağının Oluşturulmasında Dikkat Edilmesi Gereken Bazı Önemli Noktalar ➔ Ağların Büyütülmesi ve Budanması ➔ ÇKA Ağının Uygulama Alanları ➔ ÇKA Örnek Uygulama ➔ Geri Yayılım Algoritması
  3. 3. Çok Katmanlı Algılayıcı ● Çok katmanlı algılayıcı ağları XOR problemini çözebilmek için yapılan çalışmalar neticesinde ortaya çıkmıştır. ● Bu problemin özelliği doğrusal olmayan bir ilişkiyi göstermesidir. ● Yani çıktıların arasına bir doğru veya doğrular çizerek onları onları iki veya daha fazla sınıfa ayırmak mümkün değildir.
  4. 4. ● Rumelhart ve arkadaşları tarafından geliştirilen bu modele hata yayma modeli veya geriye yayım modeli(backpropogation network) de denmektedir. ● Temel amacı ağın beklenen çıktı ile ürettiği çıktı arasındaki hatayı en aza indirmektir. ● Bunu hatayı ağa yayarak gerçekleştirdiği için bu ağa hata yayma ağı da denmektedir.
  5. 5. ÇKA Modelinin Yapısı
  6. 6. ● Girdi katmanı : Dış dünyadan bilgileri alır.Bu katmanda herhangi bir bilgi işleme olmaz. ● Ara Katmanlar : Girdi katmanından gelen bilgileri işleyerek bir sonraki katmana gönderir.Bir ÇKA ağında birden fazla ara katman ve her katmanda birden fazla proses elemanı olabilir. ● Çıktı katmanı: Ara katmandan gelen bilgileri işleyerek ağa girdi katmanından sunulan girdi için ağın ürettiği çıktıyı bulur.Bu çıktı dış dünyaya iletilir.
  7. 7. ÇKA Ağının Öğrenme Kuralı ● ÇKA ağı öğretmenli öğrenme stratejisini kullanır. ● Ağa hem örnekler hem de örneklerden elde edilmesi gereken çıktılar(beklenen çıktılar) verilir. ● Ağ bu örneklerden genelleme yaparak problem uzayını temsil eden bir çözüm uzayı üretir. ● Daha sonra gösterilen benzer örnekler için bu çözüm uzayı sonuçlar ve çözümler üretir.
  8. 8. ● ÇKA ağının öğrenme kuralı en küçük kareler yöntemine dayalı Delta Öğrenme Kuralının genelleştirilmiş halidir. ● Genelleştirilmiş “Delta Kuralı” iki safhadan oluşur: ● İleri doğru hesaplama (Feed Forward) : Ağın çıktısını hesaplama safhası. ● Geriye doğru hesaplama (Back Propogation) : Ağırlıkları değiştirme safhası.
  9. 9. İleri doğru hesaplama ● Bu safhada bilgi işleme eğitim setindeki bir örneğin Girdi Katmanından ağa gösterilmesi ile başlar. ● Gelen girdiler hiç bir değişiklik olmadan ara katmana gönderilir. ● Girdi katmanındaki k. Proses elemanının çıktısı Çki şu şekilde belirlenir:
  10. 10. ● Ara katmandaki her proses elemanı girdi katmanındaki bütün proses elemanlarından gelen bilgileri bağlantı ağırlıklarının (A1,A2,....) etkisi ile alır. ● Önce ara katmandaki proses elemanlarına gelen net girdi(NET ja ) şu formül kullanılarak hesaplanır:
  11. 11. ● Burada A kj k. girdi elemanını j. ara katman elemanına bağlayan bağlantının ağırlık değerini göstermektedir. ● J. ara katman elemanının çıktısı ise bu net girdinin aktivasyon fonksiyonundan geçirilmesiyle hesaplanır.
  12. 12. ● Sigmoid fonksiyonu: ● (Kullanılmasının en önemli özelliği sürekli ve türevlenebilir olması.)
  13. 13. Geriye doğru hesaplamada kullanacağımız sigmoid fonksiyonun türevi
  14. 14. ● Sigmoid fonksiyonu kullanılması halinde çıktı: ● Burada β j , ara katmanda bulunan j. elemana bağlananeşik değer elemanının ağırlığını göstermektedir. ● Bu eşik değer ünitesinin çıktısı sabit olup 1’e eşittir. ● Eğitim sırasında ağ bu değeri kendisi belirlemektedir.
  15. 15. ● Ara katmanın bütün proses elemanları ve çıktı katmanının proses elemanlarının çıktıları aynı şekilde kendilerine gelen NET girdinin hesaplanması ve sigmoid fonksiyonundan geçirilmesi sonucu belirlenirler. ● Çıktı katmanından çıkan değerler bulununca ağın ileri doğru hesaplama işlemi tamamlanmış olur.
  16. 16. MATLAB’de İleri Beslemeli (Feed Forward) ÇKP Ağların Tasarımı ● Öncelikle bu ağ yapısını kullanabilmek için bir ileri beslemeli ağ nesnesi oluşturmamız gerekir. ● MATLAB’deki newff komutu bu işlemi gerçekleştirmektedir. ● newff komutunun yazım biçimi aşağıda verilmiştir: ● net = newff(PR,[S1 S2…SNl],{TF1 TF2…TFNl},BTF,BLF,PF) Burada; ● PR - R elemanlı giriş vektörünün minimum ve maksimum değerlerini içeren Rx2 ‘lik matris. ● Si - i’nci katmanda bulunan nöron sayısı. ● TFi - i’nci katmanın transfer fonksiyonu, varsayılan= 'tansig'. ● BTF - Geriye yayılım ağ eğitim fonksiyonu, varsayılan = 'trainlm'. ● BLF - Geriye yayılım ağırlık/bias öğrenme fonksiyonu, varsayılan = 'learngdm'. ● PF - Performans fonksiyonu, varsayılan = 'mse' dir.
  17. 17. Geriye doğru hesaplama ● Ağa sunulan girdi için ağın ürettiği çıktı ağın beklenen çıktıları ile karşılaştırılır. Bunların arasındaki fark hata olarak kabul edilir. Amaç bu hatanın düşürülmesidir. ● Bu hata, ağın ağırlık değerlerine dağıtılarak bir sonraki iterasyonda hatanın azaltılması sağlanır. ● Çıktı katmanındaki m. proses elemanı için oluşan hata Em ;
  18. 18. ● Yukarıdaki hata, bir proses elemanı için oluşan hatadır. ● Çıktı katmanı için oluşan toplam hatayı (TH) bulmak için bütün hataların toplanması gerekir. ● Toplam hatayı en azlamak için bu hatanın kendisine neden olan proses elemanlarına dağıtılması gerekmektedir.
  19. 19. ● Ağın ağırlıklarını değiştirmek için 2 durum söz konusudur: I. Ara katman ile çıktı katmanı arasındaki ağırlıkların değiştirilmesi II.Ara katmanlar arası veya ara katman girdi katmanı arasındaki ağırlıkların değiştirilmesi
  20. 20. Ara katman ile çıktı katmanı arasındaki ağırlıkların değiştirilmesi ● Ara katmandaki j. Proses elemanı çıktı katmanındaki m. Proses elemanına bağlayan bağlantının ağırlığındaki değişim miktarına ∆A a denirse; herhangi bir t zamanında ağırlığın değişim miktarı şöyle hesaplanır: ● ● Burada λ öğrenme katsayısını,α momentum katsayısını göstermektedir.
  21. 21. ● Momentum katsayısı ağın öğrenmesi esnasında yerel bir optimum noktaya takılıp kalmaması için ağırlık değişim değerinin belirli bir oranda bir sonraki değişime eklenmesini sağlar. ● Yine yukarıdaki formül dikkate alındığında δ m ise m. Çıktı ünitesinin hatasını göstermektedir
  22. 22. ● f’(NET) aktivasyon fonksiyonunun türevidir. Sigmoid fonksiyonun kullanılması durumunda ● Değişim miktarı hesaplandıktan sonra ağırlıkların t.iterasyondaki yeni değerleri:
  23. 23. ● Benzer şekilde eşik değer ünitesinin de ağırlıklarını değiştirmek gerekmektedir. Çıktı katmanında bulunan proses elemanlarının eşik değer ağırlıkları β ç ile gösterilirse; bu ünitenin çıktısı sabit ve1olması nedeni ile değişim miktarı: ● olacaktır. Eşik değerin t. İterasyonundaki ağırlığının yeni değeri ise ; ● şeklinde hesaplanacaktır.
  24. 24. Ara katmanlar arası veya ara katman girdi katmanı arasındaki ağırlıkların değiştirilmesi ● Ara katman ile çıktı katman arasındaki ağırlıkların değişiminde her ağırlık için sadece çıktı katmanındaki bir proses elemanının hatası dikkate alınmıştır. Oysaki bu hataların oluşmasında girdi katmanı ve ara katman arasındaki ağırlıkların payı vardır. ● Girdi katmanı ile ara katman arasındaki ağırlıkların değişimi ∆A i ile gösterilirse değişim miktarı:
  25. 25. ● Yine buradaki hata terimi δ a şöyle hesaplanacaktır: ● Aktivasyon fonksiyonu olarak sigmoid fonksiyonun kullanılması durumunda;
  26. 26. ● Ağırlıkların yeni değerleri; ● Benzer şekilde eşik değer ünitesinin de ağırlıklarını değiştirmek gerekmektedir. Ara katman eşik değer ağırlıkları β a ile gösterilirse değişim miktarı;
  27. 27. ● Ağırlıkların yeni değerleri ise t. iterasyonda şöyle hesaplanacaktır. ● Böylece ağın ağırlıklarının hepsi değiştirilmiş olacaktır. ● Bir iterasyon hem ileri hem de geriye doğru hesaplamaları yapılarak tamamlanmış olacaktır.
  28. 28. Çok Katmanlı Ağın Çalışma Şekli ● Örneklerin toplanması ● Ağın topolojik yapısının belirlenmesi ● Öğrenme parametrelerinin belirlenmesi ● Ağın başlangıç değerlerinin atanması ● Öğrenme setinden örneklerin seçilmesi ve ağa gösterilmesi ● Öğrenme sırasında ileri hesaplamaların yapılması ● Gerçekleşen çıktının beklenen çıktı ile karşılaştırılması ● Ağırlıkların değiştirilmesi

×