Hep iki sınıfa ayırdık daha fazla sınıfa nasıl ayıracağız? Unutulmaması gereken kısıt ne? Verilenler: x , l l yd P l 1 Eğitim Kümesi Amaç: m sınıfa ayırmak n S1 : w x w n 1 i i T1 i 1 n http://richardbowles.tripod.com/neural/slpmlp/ S 2 : T1 w x w T2 n 1 i i i 1 ..... n Öğrenme Kuralı: S m : Tm1 w x w i i n 1 Tm i 1 1 wm( n1) c [ yd y]m1 ( xT )1( n1) 2 wm( n1) (( yd y) m1 (v) m1 )( xT )1( n1) Bu nasıl bir işlem? Çok Katmanlı Algılayıcı-ÇKA (Multi-Layer Perceptron) Teorem: (Kolmogorov 1957) f ( x1, x2 ,..., xn ) g ij (.) h j (.) xi [0,1]n , n 2 f ( x1 , x2 ,..., xn ) ‘e bağlı olmayan monoton artan sürekli tek değişkenli fonksiyon sürekli tek değişkenli fonksiyon n f ( x1 , x2 ,..., xn ) h j gij xi j1 i 1 2n1 Teoremin sonuçları..... • Kolmogorov Teoremi bir varlık teoremi f ( x1 , x2 ,..., xn ) ‘i özel bir şekilde ifade edebileceğimizi söylüyor. g ij (.) ve h j (.) ‘nin ne yapıda olduklarını ve kaç tanesinin yeterli olacağını söylüyor. • Kolmogorov Teoremi bir varlık teoremi olduğundan h j (.) nasıl belirlenir söylemiyor. g ij (.), Kolmogorov Teoreminde bazı şeylerden vazgeçelim; tam olmasın yaklaşık olsun ama fonksiyonları bilelim. Teorem: (Cybenko 1989) N yeterince büyük, j R , herhangi bir sürekli sigmoid N fonksiyon f ( x1 , x2 ,..., xn ) ~ j w j T x j j1 df a, b R ve a b f : R R 0 dx lim f ( x) a lim f ( x) b f x Giriş x Gizli katman 1Gizli katman 2 Çıkış http://www.oscarkilo.net/wiki/images/8/84/Ffperceptron.png sigmoid • Ağ yapısı giriş katmanı işlem yapan gizli katmanlar işlem yapan çıkış katmanı • Nöron sürekli türetilebilir, lineer olmayan aktivasyon fonksiyonu var • Eğitim eğiticili öğrenme • Öğrenme algoritması geriye yayılım x x1 y1 ( w1 x) y2 ( w2 y1 ) x2 y ( wo y ) 2 xn e - + yd Gizli katman ve çıkış katmanındaki her nöron iki iş yapıyor: (i) nöron çıkışındaki işareti nöron girişindeki işaretler cinsinden hesaplıyor, (ii) gradyen vektörünü geriye yayılım için yaklaşık olarak hesaplıyor Geriye Yayılım Algoritması (Back-Propagation Algorithm) Verilenler: x , l ydl P l 1 Eğitim Kümesi Hesaplananlar: Eğitim Kümesindeki l. çifte ilişkin çıkış katmanındaki j. nörondaki hata l l l e j yd j y j 1 l 2 (e j ) Nöron j için ani hata: 2 Toplam ani hata: (l ) 1 l 2 Neden sadece (e j ) çıkış katmanı? 2 jC Ortalama karesel hata: ort 1 p (l ) p l 1 Ağdaki hangi büyüklüklere bağlı? Verilen eğitim kümesi için, ortalama karesel hata ort ‘yı öğrenme performansının ölçütü olarak al ve bu amaç ölçütünü enazlayan parametreleri belirle. EK BİLGİ Bazı Eniyileme (Optimizasyon) Teknikleri Eniyileme problemi min f ( x) x Kısıtlar: f ( x) : R n R h( x ) 0 g( x) 0 h( x ) : R n R p Kısıtsız Eniyileme Problemi minn f ( x) xR g(x) : R n R m Teorem: Rn , 1. Mertebeden gerek koşul x* Teorem: Rn , f (.) C1 f (.) ‘in ekstremum noktası ise f ( x* ) 0 f (.) C 2 , x* 2. Mertebeden yeter koşul (i ) f ( x* ) 0 Nasıl hesaplanır? (ii ) H ( x* ) kesin pozitif x* f (.) ‘in minimum noktasıdır. Doğrultu Belirleme (Line Search) Algoritması • x (0) başlangıç noktasını belirle • s doğrultusunu belirle • f ( x ( k ) s ( k ) )‘yı ‘ya göre enazlayan (k )‘yı belirle • x(k 1) x( k ) ( k ) s (k ) doğrultusunu belirle Amaç: f ( x ( k 1) ) f ( x ( k ) ) Beklenti: Algoritma fonksiyonu enazlayan x* ‘a yakınsayacak Ne zaman sona erdilecek? • s doğrultusunu belirle s ( k ) ˆ f ( x ( k ) ) f ( x ( k 1) ) f ( x ( k ) ) Nasıl ? “en dik iniş “ (steepest descent) ( k ) s ( k ) ˆ H 1 ( x ( k ) )f ( x ( k ) ) 1 ( k )T ( k ) 1 (k ) (k ) s ˆ [ J J ] f ( x ( k ) ) 2 Newton Metodu Gauss-Newton Metodu Bu doğrultuların işe yaradığını nasıl gösterebiliriz?