Yapay sinir ağlarının performansını değerlendirmede kullanılan yaygın maliyet fonksiyonları nelerdir?
ayrıntılar
(bu sorunun geri kalanını atlamaktan çekinmeyin, burada niyetim, cevapların genel okuyucu için daha anlaşılır olmalarına yardımcı olmak için kullanabilecekleri gösterime açıklık getirmektir.)
Uygulamada kullanıldıkları birkaç yolun yanı sıra, ortak maliyet fonksiyonlarının bir listesine sahip olmanın faydalı olacağını düşünüyorum. Bu yüzden eğer diğerleri buna ilgi duyuyorsa bence bir topluluk wiki muhtemelen en iyi yaklaşımdır, ya da konu dışıysa onu kaldırabiliriz.
Gösterim
Bu yüzden başlamak için, bunları tarif ederken hepimizin kullandığı bir gösterimi tanımlamak istiyorum, bu yüzden cevaplar birbirleriyle iyi uyuşuyor.
Bu gösterim Neilsen'in kitabından .
Feedforward Sinir Ağı, birbirine bağlı birçok nöron tabakasıdır. Sonra bir girdi alır, bu girdi ağ üzerinden "kandırır" ve sonra sinir ağı bir çıkış vektörü döndürür.
Daha teorik çağrı ait (çıkış olarak da bilinir) aktive nöron tabaka, olan giriş vektörü öğesi.
Sonra bir sonraki katmanın girişini önceki ilişkiyle aşağıdaki ilişki yoluyla ilişkilendirebiliriz:
nerede
aktivasyon işlevidir,
gelen ağırlıktır nöron için katman nöron tabaka,
, katmanındaki nöronunun önyargısıdır ve
, katmanındaki aktivasyon değerini temsil eder .
Bazen geç temsil etmek diğer bir deyişle, bir nöronun aktivasyon değeri aktivasyon fonksiyonunu uygulamadan önce .
Kısa özlü gösterim için yazabiliriz
Bu formülü, girişindeki bazı girdiler için feedforward ağının çıkışını hesaplamak için , , ardından , , ..., hesaplayın. m burada katman sayısıdır.
Giriş
Bir maliyet işlevi, bir sinir ağının, verilen eğitim numunesi ve beklenen çıktıya göre ne kadar iyi yaptığının bir ölçüsüdür. Ayrıca ağırlık ve önyargı gibi değişkenlere de bağlı olabilir.
Bir maliyet fonksiyonu, bir vektör değil tek bir değerdir, çünkü sinir ağının bir bütün olarak ne kadar iyi yaptığını değerlendirir.
Özellikle, bir maliyet işlevi biçimindedir
burada bizim YSAnın ağırlıkları olan, , bizim YSAnın bias olan , tek bir eğitim numune giriş ve bu eğitim numunenin istenen çıkışıdır. Bu fonksiyonun potansiyel olarak , katmanındaki herhangi bir nöron için ve de bağlı olabileceğini unutmayın , çünkü bu değerler , ve .
Geriye yayılımda, maliyet fonksiyonu çıkış katmanımızın ( ,
Ayrıca bir vektör olarak da yazılabilir.
Maliyet fonksiyonlarının gradyanını ikinci denklem açısından sağlayacağız, ancak bu sonuçları kendileri kanıtlamak istiyorsa, çalışılması daha kolay olduğu için ilk denklemin kullanılması önerilir.
Maliyet fonksiyonu gereksinimleri
Geri yayılımda kullanılmak için, bir maliyet işlevi iki özelliği sağlamalıdır:
1: Maliyet fonksiyonu ortalama olarak yazılabilmelidir
Bireysel eğitim örnekleri için aşırı maliyet fonksiyonları , .
Bu, tek bir eğitim örneği için gradyanı (ağırlıklar ve önyargılara göre) hesaplamamızı ve Gradient İniş'i çalıştırmamızı sağlar.
2: Maliyet fonksiyonu , sinir ağının aktivasyon değerlerine, çıkış değerlerine bağlı olmamalıdır .
Teknik olarak bir maliyet işlevi herhangi veya . Sadece bu kısıtlamayı yapıyoruz, böylece geri yaylayabiliyoruz, çünkü son katmanın gradyanını bulma denklemi, maliyet işlevine bağlı olan tek şeydir (gerisi bir sonraki katmana bağlıdır). Maliyet işlevi, çıktının yanı sıra diğer aktivasyon katmanlarına bağlıysa, geri yayılma fikri artık çalışmadığı için geri yayılma geçersiz olacaktır.
Ayrıca, aktivasyon fonksiyonları tüm için çıkışına sahip olmalıdır . Bu nedenle, bu maliyet işlevlerinin yalnızca bu aralıkta tanımlanması gerekir (örneğin, geçerlidir çünkü garanti edilir ).