Perceptron kuralından Gradient İnişe: Sigmoid aktivasyon işlevine sahip Perceptronların Logistic Regression'dan farkı nedir?


21

Temelde benim sorum çok katmanlı Algılayıcılarda, algılayıcıların bir sigmoid aktivasyon işlevi ile kullanıldığıdır. Böylece güncelleme kuralında olarak hesaplanır.y^

y^=11+exp(-wTxben)

Bu "sigmoid" Perceptron'un lojistik regresyondan farkı nedir?

Tek katmanlı bir sigmoid algılayıcının, her ikisinin de kullanması anlamında bir lojistik regresyona eşdeğer olduğunu söyleyebilirim. güncelleme kuralında . Ayrıca, her ikisi de öngörmede dönüşünü döndürür . Bununla birlikte, çok katmanlı algılayıcılarda, sigmoid aktivasyon fonksiyonu, lojistik regresyon ve tek katmanlı algılayıcının aksine açık bir sinyal değil bir olasılık döndürmek için kullanılır. işareti( y =1y^=11+exp(-wTxben)işaret(y^=11+exp(-wTxben))

"Perceptron" teriminin kullanımının biraz belirsiz olabileceğini düşünüyorum, bu yüzden, tek katmanlı algılayıcılar hakkındaki mevcut anlayışımı temel alarak biraz bilgi vereyim:

Klasik algılayıcı kuralı

İlk olarak, bir adım işlevine sahip olduğumuz F. Rosenblatt'ın klasik algılayıcısı:

Δwd=η(yben-yben^)xbendyben,yben^{-1,1}

ağırlıkları güncellemek için

wk: =wk+Δwk(k{1,...,d})

Böylece olarak hesaplanır.y^

y^=işaret(wTxben)=işaret(w0+w1xben1+...+wdxbend)


Dereceli alçalma

Degrade iniş kullanarak, maliyet işlevini optimize ediyoruz (en aza indiriyoruz)

J(w)=Σben12(yben-yben^)2yben,yben^R,

burada "gerçek" sayılara sahibiz, bu yüzden temel olarak sınıflandırma çıktımızın eşik olduğu farkıyla doğrusal regresyona benzer görüyorum.

Burada ağırlıkları güncellediğimizde degradenin negatif yönüne doğru bir adım atıyoruz

Δwk=-ηJwk=-ηΣben(yben-yben^)(-xbenk)=ηΣben(yben-yben^)xbenk

Fakat burada yerine y =işareti(y^=wTxbeny^=işaret(wTxben)

wk: =wk+Δwk(k{1,...,d})

Ayrıca, tüm eğitim veri setinde (toplu öğrenme modunda) tam geçiş için kare hatalarının toplamını, yeni eğitim örnekleri geldiğinde ağırlıkları güncelleyen (stokastik gradyan inişine analog - çevrimiçi) karşılaştırarak hesaplıyoruz. öğrenme).


Sigmoid aktivasyon fonksiyonu

Şimdi, işte sorum:

Çok katmanlı Algılayıcılarda, algılayıcılar bir sigmoid aktivasyon işlevi ile kullanılır. Böylece güncelleme kuralında olarak hesaplanır.y^

y^=11+exp(-wTxben)

Bu "sigmoid" Perceptron'un lojistik regresyondan farkı nedir?


4
Şaşırtıcı, bu soru kendi başıma makine öğrenmemi ve sinir ağının temellerini yoğunlaştırmamı sağladı!
varun

Yanıtlar:


4

Degrade iniş kullanarak, maliyet işlevini optimize ediyoruz (en aza indiriyoruz)

J(w)=Σben12(yben-yben^)2yben,yben^R,

Ortalama kare hatasını en aza indirirseniz, lojistik regresyondan farklıdır. Lojistik regresyon normal olarak çapraz entropi kaybı ile ilişkilidir, icikit-learn kütüphanesinden bir giriş sayfası .


(Çok katmanlı algılayıcıların sinir ağları denilen şeyle aynı olduğunu varsayacağım.)

Eğer tek katmanlı bir sinir ağı için çapraz entropi kaybını (normalizasyon ile) kullandıysanız, lojistik regresyon ile aynı model (log-linear model) olacaktır. Bunun yerine çok katmanlı bir ağ kullanırsanız, parametrik doğrusal olmayan temel fonksiyonlarla lojistik regresyon olarak düşünülebilir.


Bununla birlikte, çok katmanlı algılayıcılarda, sigmoid aktivasyon fonksiyonu, lojistik regresyon ve tek katmanlı algılayıcının aksine açık bir sinyal değil bir olasılık döndürmek için kullanılır.

Hem lojistik regresyonun hem de sigmoid aktivasyon işlevine sahip sinir ağlarının çıktısı olasılık olarak yorumlanabilir. Çapraz entropi kaybı aslında Bernoulli dağılımı ile tanımlanan negatif kütük olabilir.


2

Çünkü gradyan iniş her parametreyi, tüm parametrelerin fonksiyonunun devam etmesi gereken çıkış hatasını azaltacak şekilde günceller. Eşik tabanlı aktivasyon ayırt edilemez, bu nedenle sigmoid veya tanh aktivasyonunun kullanılması.

İşte tek katmanlı bir NN

dJ(w,b)dωkj=dJ(w,b)dzkdzkdωkj

dJ(w,b)dzk=(birk-yk)(birk(1-birk))

dzkdωkj=xk

J(w,b)=12(yk-birk)2

birk=sbengm(zk)=sbengm(Wkj*xk+bk)

Eğer aktivasyon fonksiyonu basit bir adım fonksiyonu (eşik) olsaydı , wrt türevi olurdu.Jzk

İşte genel olarak açıklayan bir link.

Düzenleme: Belki de, algılayıcılığın ne demek istediğini yanlış anladım. Yanılmıyorsam, algılanan girdilerin toplamından ağırlıklı olarak algılanır. Lojistik fonksiyonu ile engellemeyi değiştirirseniz, lojistik regresyona dönüşür. Sigmoid (lojistik) aktivasyon fonksiyonlarına sahip çok katmanlı NN, lojistik regresyonlardan oluşan kademeli katmanlardır.


3
Bu soruya cevap vermiyor.
Neil G

Bu güzel yorumu yazdığın için teşekkürler, ama istediğim bu değildi.

@SebastianRaschka Onlar aynı. Farklı olduklarını düşündüren nedir? Degrade inişini sürdüm, çünkü degrade iniş değerlendirmesinde bir hata gördüm. Araba sürerken olduğunu varsaydınız . Bu yüzden, hem Perceptron hem de Gradient güncellemeleri için aynı türevi buldun. y=WTX
yasin.yazici

1
“Farklı olduklarını düşündüren ne?” - isimlendirme, bu yüzden başka bir şey olup olmadığını merak ediyordum; Sadece neden aynı şey için 2 farklı terimimiz olduğunu merak ediyorum. Btw. Benim sorum degrade iniş herhangi bir hata görmüyorum. doğru. Ayrıca, "algılanan kural" ile "gradyan iniş" güncelleme arasında aynı türetmeyi bulamadım. İlki, çevrimiçi öğrenme biçiminde (örneklem numunesi) yapılır, ikincisi toplu olarak yapılır ve ayrıca adım adım işlev kullanmak yerine kare hataların toplamını en aza indiririz. y=wjTxjben

Sanırım karışıklığa neden olabilecek şey, “sınıflandırma” ve “öğrenme” aşamasını birbirinden ayırmanızdır. Sınıflandırma adımı her zaman eşittir (isterseniz 1 veya 1 veya 0 ve 1). Bununla birlikte, güncelleme farklıdır, klasik algılayıcıda, güncelleme oysa ki stokastik degrade inişini η(y-sbengn(wTxben))xη(y-wTxben)xben

2

Sezgisel olarak, giriş özelliklerim üzerinde doğrusal olmayan bir dönüşüm hesaplamak ve daha sonra bu dönüştürülmüş değişkenleri bir lojistik regresyona beslemek olarak çok katmanlı bir algılayıcı olduğunu düşünüyorum.

βbenXbenβbenXΣjβjX

Seni bilmiyorum ama modelleme kurslarım ve araştırmamda, girdi özelliklerini önemini ve genel model tahminini geliştirmek için her türlü mantıklı ve aptalca dönüşümle denedim. Şeyleri karmak, kütükleri almak, ikisini bir orana bağlamak, vb. Utanmam yoktu, ama sabrım sınırlıydı.

Xβben

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.