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)=1m∑i=1m−logP(Y=yi|xi;w,b)=1m∑i=1m−(yilogP(Y=1|z)+(yi−1)logP(Y=0|z))
Yana P(Y=0|z)=1−P(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:
- ∀z∈R:f(z)∈[0,1]
- f(0)=0.5
- f dönel olarak simetrik wrt(0,0.5) , yanif(−x)=1−f(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+e−z 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+e−z eden maliyet fonksiyonuna.
Y = 1 için doygunlukY=1
İçin P(Y=1|z)=11+e−z veY=1, tek bir yanlış sınıflandırılmış numunenin maliyeti (yanim=1):
J(z)=−log(P(Y=1|z))=−log(11+e−z)=−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 eder−z çı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 :
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:
z→−∞