2012-07-26 21 views
20

Sadece Neural ağları için programlama yapmaya başladım. Şu anda bir Backpropogation (BP) sinir ağının nasıl çalıştığını anlamaya çalışıyorum. BP ağlarında eğitim için algoritma oldukça basit olsa da, algoritmanın neden işe yaradığı konusunda herhangi bir metin bulamadım. Daha spesifik olarak, sinir ağlarında sigmoid fonksiyonlarını kullanarak haklı çıkarmak için bazı matematiksel akıl yürütmeyi ve onlara atılan neredeyse tüm veri dağılımlarını taklit eden şeyleri arıyorum.Sigmoid işlevleri neden Sinir Ağları'nda çalışır?

Teşekkürler!

cevap

23

Sigmoid işlevi, ağda doğrusal olmayanlığı tanıtır. Doğrusal olmayan bir aktivasyon fonksiyonu olmadan, ağ sadece girdilerinin lineer kombinasyonları olan fonksiyonları öğrenebilir. Sonuç, 1989'da kendini kanıtlayan beyefendiden sonra universal approximation theorem veya Cybenko theorem olarak isimlendirilir. Wikipedia, başlamak için iyi bir başlangıç ​​noktasıdır ve orijinal kağıdın bir bağlantısı vardır (kanıt biraz olsa da). Bir sigmoidi başka bir şeye karşı kullanmanın nedeni, bunun sürekli ve farklılaştırılabilir olmasıdır, onun türevinin hesaplanması çok hızlıdır (benzer özelliklere sahip tanh türevinin aksine) ve sınırlı bir aralığa sahiptir. 1, özel)

+1

Güzel cevap, ancak "sürekli (ve dolayısıyla farklılaşabilir)" varsayımı ayakta değildir. Örnek: sıfırda sürekli fakat farklılaştınlabilen abs (x). – Michael

+0

Doğru, cevabımı düzenledim – mbatchkarov

+1

Vikipedi makalesinde şunu yazıyor: * "Kurt Hornik, 1991'de aktivasyon işlevinin özel bir seçiminin olmadığını, bunun yerine nöral ağların varlık potansiyelini veren çok katmanlı ileri teknolojinin kendisi olduğunu gösterdi. Üniversal tahmin ediciler: Çıkış ünitelerinin her zaman doğrusal olduğu varsayılır. "* Aslında doğrusal olmayan bir aktivasyon fonksiyonuna ihtiyaç duyulduğu söylenemez. Ancak teoremin resmi ifadesi "kararsız, sınırlı ve tekdüze artan sürekli işlev" anlamına gelir - belki de * sınırlı * ve tekdüze parça doğrusal olmayanlığı ima eder? – Desty

İlgili konular