Neden sigmoid başka bir şey yerine çalışıyor?


40

Neden fiili standart sigmoid fonksiyonu, 11+ex , (derin olmayan) sinir ağlarında ve lojistik regresyonda çok mu popüler?

Neden daha hızlı işlem süresi veya daha yavaş bozunma ile diğer türetilebilir fonksiyonların birçoğunu kullanmıyoruz (bu yüzden kaybolma derecesi daha az gerçekleşir). Sigmoid fonksiyonları hakkında birkaç örnek Wikipedia'da . Yavaş yavaş bozulan ve hızlı hesaplanan favorilerimden biri .x1+|x|

DÜZENLE

Soru, sadece 'neden' ve sadece sigmoid için ilgilendiğim için, artı / eksilere sahip sinir ağlarındaki Kapsamlı aktivasyon fonksiyonlarının listesi .


6
Lojistik sigmoidin softmax fonksiyonunun özel bir örneği olduğuna dikkat edin ve bu soruya cevabımı görün
Neil G

10
Orada olan yaygın kullanılan probitin veya cloglog gibi diğer işlevleri bakın: stats.stackexchange.com/questions/20523/...
Tim

4
@ user777 Bahsettiğiniz iş parçacığı neden soruyu gerçekten yanıtlamadığından, yinelenen bir kopya olup olmadığından emin değilim .
Tim

@KarelMacek, türevinin 0'da sol / sağ sınırı olmadığından emin misiniz? Pratik olarak Vikipedi bağlantılı görüntü üzerinde güzel bir teğet gibi görünüyor.
Mark Horvath

5
Bunu yinelemeli olarak kapatmak için oy veren çok sayıda seçkin topluluk üyesine katılmamaktan nefret ediyorum, ancak görünen yinelemenin "neden" i ele almadığı ve dolayısıyla bu soruyu yeniden açmak için oy kullandığım konusunda ikna oldum.
whuber

Yanıtlar:


24

Kendimi bu cevaptan farklı bir soruya atmak:

Örüntü Tanıma ve Makine Öğrenmesi'nin 4.2. Bölümünde (Springer 2006), Bishop, logitin doğal olarak iki sınıflı bir sınıflandırmada bir Bayesian tedavisinde posterior olasılık dağılımı biçiminde ortaya çıktığını göstermektedir. Daha sonra, aynısının isteğe bağlı olarak dağıtılmış özellikler ve üstel dağılımlar ailesinin bir alt kümesi için geçerli olduğunu göstermeye devam etti. Çok sınıflı sınıflandırma için, logit normalleştirilmiş üstel veya softmax fonksiyonuna genellenir.

Bu, bu sigmoidin lojistik regresyonda neden kullanıldığını açıklar.

Sinir ağları ile ilgili olarak, bu blog yazısı logit / softmax ve sinir ağlarında kullanılan probit gibi farklı doğrusallıklara nasıl istatistiksel bir yorum ve motivasyon verilebileceğini açıklar. Temel fikir, çok katmanlı bir sinir ağının genelleştirilmiş doğrusal modellerin hiyerarşisi olarak görülebileceği; buna göre, aktivasyon fonksiyonları, sırasıyla farklı dağıtım varsayımlarına karşılık gelen bağlantı fonksiyonlarıdır.


1
Harika! Dolayısıyla, bir ağda sigmoidler kullanırken, ağın çeşitli olayların (iç katmanlarda veya çıktıda) olasılıklarını "modellediğini" varsaydığımızı söyleyebiliriz. Bu, kare hatası için bile bir ağ içindeki mantıklı bir model olabilir (nöron çıkışına farklı bir aktivasyon işlevi sağlar). Daha önce bu sezgiyi hiç düşünmedim, teşekkürler!
Mark Horvath

@MarkHorvath Yardım edebildiğime sevindim. :-)
A. Donda

Tarihsel olarak, öyle değil. Dağınık bir tarihin en iyi özeti, logit'in istatistiksel bilime girmesidir, çünkü zamanla değişimi öngörmek için kullanılan işlevsel formlar (lojistik eğrileri izlemesi beklenen popülasyonlar), ikili yanıtlar için link işlevleri [orada aachronistic kullanım!] Uyarlandığında ve benimsendiğinde doğru görünüyordu. ; ve mutlak değerlerdeki ifadeler olmayan basit hesapla manipüle etmek kolaydır. Ancak, doğal olarak, bu tür işlevler için en basit mantıksal gerekçelendirme ilginç ve çok önemlidir ve cevabınız buna cevap verir.
Nick Cox

1
Her iki Bishop kitabındaki (2006 ve 1995) bölümleri okudum ve hala logit ile motivasyona sahip olmama rağmen, sigmoidin burada gerekli olduğuna ikna olmadım. İki sınıf Poisson varsayımına dayanarak aynı çapraz entropi kaybı fonksiyonunu yazarsam, ancak daha sonra sigmoid yerine farklı bir aktivasyon fonksiyonu kullanırsam ne olur? Mesela, bu benzer fakat oldukça iyi olmayan bir parça parça tanımlanmıştır: g (x) = 1 / (2-2x) eğer x <0, 1 - 1 / (2 + 2x) için x> 0, g (0) = 0.5. Şimdi, maksimum olabilirlik denklemi farklı görünüyor, ancak en aza indirirsek, yine de çıktı olarak olasılıklar elde edemez miyiz?
eraoul

Bischop a = p ( x , C 1 ) almış olsaydı , "doğal olarak ortaya çıkan" fonksiyonu olacaktırbira=p(x,C1)(1+p(x,C1))p(x,C2) , değil mi? a1+a2
Bay Tsjolder

18

Bu fonksiyonun diğerlerinden daha "doğal" görünmesinin bir nedeni, Bernoulli dağılımının kanonik parametresinin tersi olması şudur: (Üs içindekipişlevikanonik parametre olarak adlandırılır.)

f(y)=py(1-p)1-y=(1-p)tecrübe{ygünlük(p1-p)}.
p

Belki daha çekici bir gerekçe, sigmoid fonksiyonunun bir maksimum entropi modeli olarak türetilebileceği bilgi teorisinden kaynaklanmaktadır . Kabaca konuşursak, sigmoid işlevi minimal bir yapıya bürünür ve temel model hakkındaki genel cehalet durumumuzu yansıtır.


Lojistik regresyon için iyi bir gerekçe. Bunu da kare hata için kullanmaya devam ettiğimiz komik şey ...
Mark Horvath

11

Bu soruyu kendime aylardır sordum. CrossValidated ve Quora'daki cevaplar, lojistik sigmoid fonksiyonunun güzel özelliklerini listeliyor, fakat sanırım bu fonksiyonu zekice tahmin ediyoruz. Kaçırdığım şey, onu seçmenin gerekçesiydi. Sonunda Bengio'nun (2016) "Derin Öğrenme" kitabının 6.2.2.2 bölümünde bir tane buldum . Kendi sözlerime göre:

Kısaca, modelin çıktısının logaritmasının, eğitim verilerinin log olasılığının gradyan tabanlı optimizasyonuna uygun olmasını istiyoruz.

Motivasyon

  • Bir lineer model isteyen, ancak kullanamaz z=wTx+b ile doğrudan olarak z(,+) .
  • Sınıflandırma için, Bernoulli dağılımı almaları ve anlaşmanın parametre modellemek için mantıklı θ içindeP(Y=1)=θ .
  • Yani, biz haritaya ihtiyacımız z den (,+) için [0,1] sınıflandırma yapmak.

Neden lojistik sigmoid fonksiyonu?

Kesilmesi z ile P(Y=1|z)=max{0,min{1,z}} için bir sıfır gradyanı z dışında [0,1] . Modelin öngörüsü yanlış olduğunda güçlü bir degradeye ihtiyacımız var, çünkü lojistik gerilemeyi degrade iniş ile çözüyoruz. Lojistik regresyon için kapalı form çözümü yoktur.

Lojistik fonksiyonu, modelin öngörüsü yanlış olduğunda, modele uyması için Maksimum Olabilirlik Tahminini kullandığımızdan dolayı sabit bir degradeyi asimto etme özelliğine sahiptir. Bu aşağıda gösterilmiştir:

Sayısal avantajlar için, Maksimum Verimlilik Tahmini, eğitim verilerinin negatif log olasılığını en aza indirerek yapılabilir. Yani, bizim maliyet fonksiyonumuz:

J(w,b)=1mi=1mlogP(Y=yi|xi;w,b)=1mi=1m(yilogP(Y=1|z)+(yi1)logP(Y=0|z))

Yana P(Y=0|z)=1P(Y=1|z) , biz odaklanabilir Y=1 durumunda. Öyleyse soru, z = w T x + b olduğu göz önüne alındığında P(Y=1|z) nin nasıl modelleneceğidir .z=wTx+b

Fonksiyon için belirgin şartlar f eşleme z için P(Y=1|z) şunlardır:

  • zR:f(z)[0,1]
  • f(0)=0.5
  • f dönel olarak simetrik wrt(0,0.5) , yanif(x)=1f(x) , böylece sınıfların işaretlerini çevirmenin maliyet fonksiyonu üzerinde bir etkisi olmaz.
  • f , azalan olmayan, sürekli ve farklı olabilir olmalıdır.

Bu gerekliliklerin tümü sigmoid fonksiyonlarını yeniden ölçeklendirerek yerine getirilir . Her ikisi de f(z)=11+ez vef(z)=0.5+0.5z1+|z|onları yerine getirmek. Bununla birlikte, sigmoid fonksiyonları log olasılığının gradyan tabanlı optimizasyonu sırasındaki davranışlarına göre farklılık gösterir. F(z)lojistik fonksiyonunu takarak farkı görebiliriz.f(z)=11+ez eden maliyet fonksiyonuna.

Y = 1 için doygunlukY=1

İçin P(Y=1|z)=11+ez veY=1, tek bir yanlış sınıflandırılmış numunenin maliyeti (yanim=1):

J(z)=log(P(Y=1|z))=log(11+ez)=log(ez1+ez)=z+log(1+ez)

Doğrusal bir bileşen olduğunu görebiliriz z . Şimdi iki davaya bakabiliriz:

  • Tüm z büyük olduğu için, modelin tahmini, doğru Y=1 . Maliyet fonksiyonunda, log(1+ez) büyük z için asimptotları zz . Böylece, kabaca iptal ederz çıkışınıbu örnek için kabaca sıfır bir maliyete ve zayıf bir degradeye neden olur. Bu, model zaten doğru sınıfı öngördüğü için anlamlıdır.
  • Tüm z (ancak küçük |z| büyüktür), modelin tahmini olarak değil , çünkü doğru Y=1 . Maliyet fonksiyonunda log(1+ez) küçük z için asimptotları 0 olarak z . Bu durumda, bu örnek için toplam maliyeti kabaca z gradyanı wrt anlamı, z yaklaşık edilir 1 . Bu, modelin aldığı sabit gradyanı temel alarak yanlış tahminini düzeltmesini kolaylaştırır. Çok küçük z bile içinz, devam eden bir doygunluk yoktur, bu da kaybolma derecelerine neden olur.

Y = 0 için doygunlukY=0

Yukarıda, Y=1 örneğine odaklandık . İçin Y=0 , maliyet fonksiyon davranır benzer şekilde, güçlü gradyanları temin modelin tahmini yanlış olduğu zaman.

Bu, Y = 1 için J(z) maliyet fonksiyonudur.Y=1 :

görüntü tanımını buraya girin

Yatay olarak döndürülmüş softplus işlevidir. İçin Y=0 , bu SOFTPLUS fonksiyonudur.

Alternatifler

Lojistik sigmoid fonksiyonunun alternatiflerinden bahsettiniz, örneğin z1+|z|. [0,1]e normalize edildiğinde, buP(Y=1|z)=0.5+0.5zmodelini kullandığımız anlamına gelir.P(Y=1|z)=0.5+0.5z1+|z|.

MLE sırasında Y = 1 için maliyet fonksiyonuY=1 şöyle olacaktır:

J(z)=log(0.5+0.5z1+|z|)

Bu gibi görünüyor:

görüntü tanımını buraya girin

z


"Model yanlış olduğunda" yazarken ne demek istiyorsunuz?
Gabriel Romon

(xben,yben)z=5yben=0

6

Asıl soru, çürüyen gradyan probleminden bahsettiğinden, sadece şunu eklemek isterim ki, orta tabakalar için (aktivasyonları sınıf olasılıkları veya regresyon çıktıları olarak yorumlamanıza gerek kalmaz), diğer doğrusal olmayanlar genellikle sigmoidal fonksiyonlar üzerinde tercih edilir. En belirgin olanı pozitif alan üzerinde doğrusal ve negatif alan üzerinde sıfır olan doğrultucu fonksiyonlardır ( ReLU'larda olduğu gibi ). Avantajlarından biri, türev pozitif alan üzerinde sabit olduğu için çürüyen gradyan problemine daha az maruz kalmalarıdır. ReLU'lar artık sigmoidlerin artık de-facto standardı olarak adlandırılamadıkları için popüler hale gelmiştir.

Glorot ve diğ. (2011) . Derin seyrek doğrultucu sinir ağları


2
Evet. Lojistik fonksiyonun bu kadar popüler olmasının sebebinin istatistiklerden ithal edilmesinden kaynaklandığını düşünüyorum. Relu günümüzde pek çok alanda en popüler olanıdır.
Ricardo Cruz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.