Multinomial Lojistik Kayıplar vs (Çapraz Entropi ve Kare Hata)


9

Caffe'nin (derin öğrenme çerçevesi) model örneklerinin çoğu için Softmax Kayıp Katmanını SoftmaxWithLoss çıktı katmanı olarak kullandığını gözlemledim .

Bildiğim kadarıyla Softmax Loss katmanı , Multinomial Logistic Loss Layer ve Softmax Layer kombinasyonudur .

Caffe'den,

Softmax Kaybı Katmanı gradyan hesaplaması daha sayısal olarak kararlıdır

Ancak, bu açıklama istediğim cevap değil, açıklama sadece katman katman yerine Multinomial Lojistik Kayıp Katmanı ve Softmax Kaybı katmanın kombinasyonunu karşılaştırıyor . Ancak diğer kayıp fonksiyonu ile karşılaştırılmamalıdır.

Bununla birlikte, denetimli öğrenme perspektifinde Multinomial Lojistik Kayıp , Çapraz Entropi (CE) ve Kare Hatası (SE) olan bu 3 hata fonksiyonunun farkları / avantajları / dezavantajları nedir daha fazla bilmek istiyorum ? Destekleyici makaleler var mı?


1
Sadece bir ipucu: Sanırım sorularınıza "caffe" etiketini eklerseniz daha hızlı bir cevap alacaksınız. Ayrıca stackexchange yerine stackoverflow üzerine göndermek daha fazla dikkat verebilir).
mcExchange

1
Kombinasyon, degradenin hesaplanmasını kolaylaştırır y-t. willamette.edu/~gorr/classes/cs449/classify.html
Jingpeng Wu

Yanıtlar:


11

Bence kayıp fonksiyonu, sinir ağlarımızın ağırlıklarını buna göre optimize etmelerini istediğimiz objektif bir işlevdir. Bu nedenle, göreve özgüdür ve bir şekilde ampiriktir. Açık olmak gerekirse , Multinomial Lojistik Kayıp ve Çapraz Entropi Kaybı aynıdır (lütfen http://ufldl.stanford.edu/wiki/index.php/Softmax_Regression adresine bakın ). Multinomial Logistic Loss'in maliyet fonksiyonu şöyledir J(θ)=1m[i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))].

Genellikle sınıflandırma problemi için kullanılır. Hata Kare gibi denklemini 12Ni=1Nxi1xi222.

Bu nedenle, genellikle bazı inşaat hatalarını kullanarak en aza indirmek için kullanılır.

DÜZENLEME: @MartinThoma Yukarıdaki multinomiyal lojistik kaybı formülü sadece ikili durum içindir, genel durum için , burada K kategori sayısıdır.J(θ)=[i=1mk=1K1{y(i)=k}logP(y(i)=k|x(i);θ)]


2
Caffe olarak, MultinomialLogisticLoss olan , bu yüzden kim yanlış burada? 1Nn=1Nlog(pn,ln)
moi

Yanlış değil, ikili değişkenlerdir, sonunda formülasyonunuza indirgenebilir. yi
beahacker

Multinomail lojistik kaybının ikinci özet olmadan olduğunu düşündüm, bu yüzdenJ(θ)=1m[i=1my(i)loghθ(x(i))]
Martin Thoma

1
@MartinThoma Formülüm sadece ikili durum içindir, genel durum içinJ(θ)=[i=1mk=1K1{y(i)=k}logP(y(i)=k|x(i);θ)]
beahacker

@beahacker Bana ikinci topluluğun neden Martin Thoma'nın işaret ettiği gibi multinominal duruma dahil olmadığını söyleyebilir misiniz? Neden böyle yapıldığını anlamaya çalışıyorum. En azından beni araştırılacak bir kaynağa yönlendirebilir misin?
Nandeesh

2

Denetimli öğrenme perspektifinde Multinomial Lojistik Kayıp, Çapraz Entropi (CE) ve Kare Hatası (SE) olan bu 3 hata fonksiyonunun farkları / avantajları / dezavantajları nedir daha fazla bilmek istiyorum?

Multinomiyal lojistik kayıp, çapraz olarak entropi ile aynıdır. Bu işleve bakın ( softmax'ta maliyet fonksiyonu ): burada m örnek sayı, K sınıf numarasıdır.

J(θ)=i=1mk=1K1{y(i)=k}logp(y(i)=kx(i);θ)

Gösterge fonksiyonu ( ) , çapraz entropi tanımında körüğünün 0 veya 1 olup olmadığını belirler , bu antrenman verilerinde sıcak olarak etiketlenir ve , softmax'ın (q (x) aşağıda gösterildiği gibi) koşullu olasılığıdır. 1{y(i)=k}p(x)p(y(i)=kx(i);θ)

xp(x)logq(x)

Ve MSE çoğunlukla bağlantı fonksiyonunun birlik fonksiyonu (yanıt dağılımı normal bir dağılımı takip eder), standart lineer regresyon, çapraz entropi normalde link fonksiyonunun logit fonksiyonu olduğu durum içindir. İşte size başvurabileceğiniz harika bir karşılaştırma .

Destekleyici makaleler var mı?

Bağlantılardaki olanlar dışında, bunu gösteren bir tane önerin : https://github.com/rasbt/python-machine-learning-book/blob/master/faq/softmax_regression.md


1
Bir (ikili) sınıflandırıcıya uygulanan MSE'ye Brier skoru denir.
Dave

0

KISA CEVAP Diğer cevaplara göre Multinomial Lojistik Kayıp ve Çapraz Entropi Kaybı aynıdır.

Çapraz Entropi Kaybı, güncelleme denklemlerindeki sigma'ya bağımlılığı ortadan kaldırmak için yapay olarak tanıtılan sigmoid aktivasyon fonksiyonu ile NN için alternatif bir maliyet fonksiyonudur . Bazen bu terim öğrenme sürecini yavaşlatır. Alternatif yöntemler düzenli maliyet fonksiyonudur.σ

Bu tür ağlarda, çıkış olarak olasılıklar bulunabilir, ancak bu çok-multimedya ağındaki sigmoidlerde olmaz. Softmax işlevi çıkışları normalleştirir ve onları aralığında zorlar . Bu, örneğin MNIST sınıflandırmasında faydalı olabilir.[0,1]

BAZI ÖLÇÜLERLE UZUN CEVAP

Cevap oldukça uzun ama özetlemeye çalışacağım.

Kullanılan ilk modern yapay nöronlar, işlevi olan sigmoidlerdir:

σ(x)=11+ex
Aşağıdaki şekle sahip : resim açıklamasını buraya girin

Eğri güzeldir, çünkü çıktının aralığında olmasını garanti eder .[0,1]

Bir maliyet fonksiyonunun seçimi ile ilgili olarak, doğal bir seçim, türevi garanti edilen kuadratik maliyet fonksiyonudur ve bunun minimum olduğunu biliyoruz.

Şimdi ikinci dereceden maliyet fonksiyonu ile eğitilmiş sigmoidleri olan ve katmanları olan bir NN düşünün .L

Maliyet fonksiyonunu, bir dizi girişi için çıktı katmanındaki kare hatalarının toplamı olarak tanımlarız :X

C=12NxNj=1K(yj(x)ajL(x))2

burada , çıktı katmanı deki j-th nöron , istenen çıktı ve , eğitim örneği sayısıdır.ajLLyjN

Basit olması için tek bir girişin hatasını düşünelim:

C=j=1K(yj(x)ajL(x))2

Şimdi katmanındaki nöron için aktivasyon çıkışı :jaj

aj=kwjkaj1+bj=wjaj1+bj

Çoğu zaman (her zaman olmasa da) NN, temelde ve ağırlıklarının minimizasyon yönüne doğru küçük adımlarla güncellenmesini içeren gradyan iniş tekniklerinden biri ile eğitilir . Amaç, ağırlık işlevini en aza indiren yöne doğru ağırlık ve sapmalarda küçük bir değişiklik uygulamaktır.wb

Küçük adımlar için aşağıdakiler geçerlidir:

ΔCCviΔvi

Bizim ağırlıklar ve önyargılardır. Bu bir maliyet fonksiyonu olarak en aza indirmek, yani uygun değeri bulmak istiyoruz . Biz seçim varsayalım , o zaman: viΔvi

Δvi=ηCvi
ΔCη(Cvi)

Bu , parametredeki değişikliğinin maliyet işlevini azalttığı anlamına gelir .ΔviΔC

çıktı nöronu düşünün :j

C=12(y(x)ajL(x)2
ajL=σ=11+e(wjaj1+bj)

Biz kilo güncellemek istediğinizi varsayalım nöron gelen ağırlığı içinde için katmanın \ ell katmanda -th nöronun. Sonra elimizde:wjkk1j

wjkwjkηCwjk
bjbjηCbj

Zincir kuralını kullanarak türev alma:

Cwjk=(ajL(x)y(x))σak1
Cbj=(ajL(x)y(x))σ

Sigmoid'in türevine bağımlılığı görüyorsunuz (ilkinde aslında ikinci wrt wrt , ancak her ikisi de üs olduğu için çok fazla değişmiyor).wb

Şimdi jenerik tek değişkenli sigmoid için türev : z

dσ(z)dz=σ(z)(1σ(z))

Şimdi tek bir çıkış nöronunu düşünün ve nöronun çıkması gerektiğini varsayalım, bunun yerine yakın bir değer çıkarması gerekir : her ikisini de grafikten yakın değerler için sigmoid'in düz olduğunu, yani türevinin yakın olduğunu göreceksiniz. , yani parametrenin güncellemeleri çok yavaştır (güncelleme denklemleri bağlı olduğundan) .0110σ

Çapraz entropi fonksiyonunun motivasyonu

Çapraz entropinin başlangıçta nasıl türetildiğini görmek için, birisinin teriminin öğrenme sürecini yavaşlattığını öğrendiğini varsayalım . terimini ortadan kaldırmak için bir maliyet fonksiyonu mümkün olup olmadığını merak edebiliriz . Temel olarak biri isteyebilir:σσ

Cw=x(ay)Cb=(ay)
Zincir kuralından: İstenilen denklemi zincir kuralından biriyle karşılaştırdığımızda, biri Örtme yöntemini kullanarak:
Cb=Caab=Caσ(z)=Caσ(1σ)
Ca=aya(1a)
Ca=[ylna+(1y)ln(1a)]+const
Tam maliyet işlevini elde etmek için, tüm eğitim örneklerini ortalamalıyız ; burada buradaki sabit, her eğitim örneği için ayrı sabitlerin ortalamasıdır.
Ca=1nx[ylna+(1y)ln(1a)]+const

Bilgi teorisi alanından gelen çapraz entropiyi yorumlamanın standart bir yolu vardır. Kabaca söylemek gerekirse, fikir çapraz entropinin bir sürpriz ölçüsü olduğu. Çıktı beklediğimiz ise düşük sürpriz alırız ( ) ve çıktı beklenmedikse yüksek sürpriz alırız .ay

Softmax

İkili bir sınıflandırma için çapraz entropi, bilgi teorisindeki tanıma benzemektedir ve değerler yine de olasılıklar olarak yorumlanabilir.

Çok terimli sınıflandırmada bu artık geçerli değildir: çıktılar toplamı kadar not eder .1

Onları hiç özetlemek isterseniz sum böylece çıkışları normalleştirmek SoftMax işlevini kullanın .11

Ayrıca, çıktı katmanı softmax fonksiyonlarından oluşuyorsa, yavaşlatma terimi mevcut değildir. Softmax çıktı katmanı ile log olabilirlik maliyeti fonksiyonunu kullanırsanız, sonuç, sigmoid nöronlarla çapraz entropi fonksiyonu için bulunana benzer bir şekilde kısmi türevlerin bir formunu ve güncelleme denklemlerini elde edersiniz.

ancak

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.