Sinir ağlarında “serbestlik derecesi” ne demektir?


17

Bishop'un "Örüntü Sınıflandırma ve Makine Öğrenimi" kitabında, sinir ağları bağlamında düzenlileştirme tekniğini açıklar. Ancak, eğitim sürecinde, modelin karmaşıklığıyla birlikte serbestlik derecelerinin arttığını açıklayan bir paragraf anlamıyorum. İlgili teklif şudur:

Bir ağın etkili karmaşıklığını kontrol etmenin bir yolu olarak düzenlileştirmeye bir alternatif, erken durdurma prosedürüdür. Doğrusal olmayan ağ modellerinin eğitimi, bir dizi eğitim verisine göre tanımlanan hata işlevinin yinelemeli bir azalmasına karşılık gelir. Eşlenik gradyanlar gibi ağ eğitimi için kullanılan optimizasyon algoritmalarının çoğu için hata, yineleme indeksinin artmayan bir fonksiyonudur. Bununla birlikte, genellikle bir doğrulama seti olarak adlandırılan bağımsız verilere göre ölçülen hata, genellikle ilk başta bir azalma gösterir, ardından ağ aşırı uymaya başladığında bir artış gösterir. Bu nedenle, iyi bir genelleme performansına sahip bir ağ elde etmek için Şekil 5.12'de gösterildiği gibi doğrulama veri setine ilişkin eğitim en küçük hata noktasında durdurulabilir.Bu durumda ağın davranışı bazen nitel olarak ağdaki etkili serbestlik derecesi sayısı açısından açıklanır, burada bu sayı küçük başlar ve daha sonra eğitim sürecinde sürekli olarak etkili bir artışa karşılık gelir. modelin karmaşıklığı.

Ayrıca, eğitim sırasında parametre sayısının arttığını söylüyor. "Parametreler" ile, ağın gizli birimleri tarafından kontrol edilen ağırlıkların sayısını ifade ettiğini varsayıyordum. Belki yanılıyorum çünkü ağırlıkların düzenli hale getirme süreci ile artması engellenir, ancak sayıları değişmez. Çok sayıda gizli birim bulma sürecine atıfta bulunabilir mi?

Sinir ağında bir serbestlik derecesi nedir? Egzersiz sırasında hangi parametreler artar?


1
İsimlendirme. Parametre tek bir ağırlıktır. Artan parametre sayısı, "nöronların" veya "nöronlar arasındaki bağlantıların" arttığı anlamına gelir. Bu, topolojinin sabit olmadığı anlamına gelir.
EngrStudent - Monica'yı

Teşekkürler! Peki eğitim neden ağırlık sayısını artırıyor?
Robert Smith

Aslında eğitim sırasında bir sinir ağının yapısını manipüle eden eğitim algoritmaları vardır (Cascade Correlation, NEAT, ...). Genellikle ağırlık sayısını sürekli olarak arttırırlar. Ama Bishop'un kitabında bundan bahsettiğini sanmıyorum.
alfa

@alfa İlginç. Henüz tüm kitabı okumadım, bu yüzden bu tür algoritmalardan bahsedip bahsetmediğini bilmiyorum. Yine de kitabın bu bölümünde onlara atıfta bulunduğunu sanmıyorum.
Robert Smith

Yanıtlar:


12

Bishop'un ne anlama geldiğinden şüpheleniyorum:

Bir nöral ağı, girdileri bir çıktıya eşleyen bir fonksiyon olarak düşünüyorsanız, nöral ağı ilk önce küçük rastgele ağırlıklarla başlattığınızda, nöral ağ doğrusal bir fonksiyona çok benzer. Sigmoid aktivasyon fonksiyonu sıfıra yakın doğrusaldır (sadece bir Taylor genişletmesi yapın) ve küçük gelen ağırlıklar, her gizli ünitenin etkili domaine sıfır civarında sadece küçük bir aralık olmasını garanti eder, bu nedenle tüm sinir ağı, kaç tane olursa olsun katmanlarınız, doğrusal bir işleve çok benzeyecektir. Böylece sinir ağını sezgisel olarak az sayıda serbestlik derecesine sahip olarak tanımlayabilirsiniz (girdinin boyutuna eşit). Sinir ağını eğitirken, ağırlıklar keyfi olarak büyük olabilir ve sinir ağı, rastgele doğrusal olmayan fonksiyonlara daha iyi yaklaşabilir. Eğitim ilerledikçe,


Cevabınız için teşekkür ederim. Kitabın ilgili kısmını alıntı olarak ekledim, böylece içeriği görebilirsiniz. Yine de önerinizi doğrulayıp onaylamadığından emin değilim.
Robert Smith

Evet, bu Bishop'un ne demek istediğini doğrular.
Marc Shivers

Cevabınızı birkaç kez okuduğumda, eğitim ilerledikçe ve model revize etmeye başladığında, modelin yaklaşık olarak yapabileceği işlevlerin sayısının aslında azaldığından, eğitim verilerinden çok iyi puanlara yaklaşacağını ancak tahminlerini kazandığını düşünüyorum. Diğer noktalara veya benzer veri kümelerine uymak için genelleme yapamayacağı için iyi olun.
Robert Smith

4

"Bazen niteliksel olarak açıklanır" ifadesi, sadece basit doğrusal regresyona bir benzetme yaptığını gösterir. Doğrusal regresyon modeline her terim eklediğimizde, modele bir derece özgürlük ekler ve hata terimiyle ilişkili olanlardan bir derece özgürlük çıkarırız. Bir modele yeterince bağımsız terimler koyarsak, rasgele sayılar kümesinden tarihi mükemmel bir şekilde "tahmin edebiliriz", ancak geleceği tamamen tahmin edemeyiz.


3

Karmaşık istatistiksel öğrenme modellerinde serbestlik derecesi konusu 1998 1998 JASA'da tartışılmıştır . Temel olarak fikir, sinir ağı gibi karmaşık bir modelin çıktısının girdilerdeki birim değişikliğine ne kadar tepki verdiğini görmektir. Doğrusal modeller için, ilişki şaşırtıcı olmayan bire birdir, bu nedenle karmaşıklık modeli için özgürlük derecelerip (regresör sayısı) p. Daha karmaşık modeller için (Ye regresyon ağaçları olarak kabul edilir), CART modeli bölünmek için iyi bir değişken ve iyi bir ayrılma noktası arayacağından ekstra bir düğüm ekleme yeteneği daha fazla esneklik sağlar. Bu, lineer bir modele regresör eklemenin yapabileceğinden çok daha fazlasıdır ve Ye, regresyon ağaçlarının düğüm başına yaklaşık 3.5-4 dfs tüketmesi için buldu. Sinir ağları arasında bir yerde olabilir, ancak özgürlük dereceleri kesinlikle birim sayısından çok daha fazladır ve ağırlık sayısından daha büyük olabilir.

Benzer bir şeyin HTF Sec tarafından sağlandığını düşünüyorum . 7.6 , şaşırtıcı bir şekilde Ye'ye (1998) değinmese de. Yine de Bishop'a özel bir durum olarak atıfta bulunurlar.


1
Teşekkürler. Bu doğru görünüyor ama sinir ağının eğitimi ile olan ilişkisi ne olacak? "İstatistiksel Öğrenmenin Unsurları" sayfa 96'da ( docs.google.com/… ) özgürlük ve kovaryans dereceleriyle ilgili bir ifade buldum ve neden daha fazla eğitimin hata işlevini ve sonuç olarak kovaryansı artırdığını ve özgürlük derecesi. Ancak, bu denklemin (kitapta 3.60) neden bulunduğunu anlamıyorum.
Robert Smith

Bu arada, aynı zamanda Ye'nin gazetesinde bahsi geçen (genelleştirilmiş) serbestlik derecelerinin tanımından biraz farklı görünüyor.
Robert Smith

1
Sanırım bu kovaryansı türevin kaba bir versiyonu olarak düşünebilirsiniz ... ya da başka bir yol olabilir: adımın boyutu sıfıra inerken limit olarak tanımlanan türev, plim olarak düşünülebilir bu bozukluğun varyansı olarak kovaryans sıfıra gider. Denklem (3.60) tutmak zorunda değildir, bu bir tanımdır , bu yüzden tutulacak hiçbir şey yoktur. Ne yapar tutun onlar sonraki sayfada kısaca bahsedince doğrusal modeller için DFS'in standart tanımlı olan denklik olduğunu ve sadece doğrusal modellerin lineer cebir olduğunu. Ye (1998) de bunun hakkında konuşmalı.
StasK

3

"Ağın etkin karmaşıklığı" diyor. Aslında ağın ağırlıklarının boyutunu ifade eder. Bu, minimum açıklama uzunluğu prensibi açısından anlaşılabilir . Ama buna girmeden önce, sezgi, ağırlıklar ne kadar büyük olursa, ağınızın o kadar farklı işlevlere sığabileceğidir ve bu nedenle özgürlük dereceleri (ve etkili karmaşıklık) o kadar yüksek olur.

Bu bölümde, ağırlıkların olabildiğince küçük olmasını talep ederek aşırı uyum riskini etkili bir şekilde azaltma tekniği olan düzenlilikten bahsediyor. Genel olarak,

p(D|w)=np(tn|xn,w)=nexp(β2[tny(xn,w)]2)/ZD(β)
. where w is a vector containing all parameters which characterize your algorithm and ZD(β) is a normalization constant. If you maximize the log-likelihood if this expression you get the ML estimate. Now, you add a prior on the parameters which acts as a regularizer and helps you avoid overfitting by controlling the complexity of your classifier. Concretely, in the case it is natural to assume that your parameters are Gaussian distributed,

p(w)=exp(α||w||22)/ZW(α)
MAP is defined as argmaxwp(w|D). Using Bayes' theorem,

p(w|D)=p(D|w)p(w)
If you substitute the above expressions and take logarithms you end up with (the Z's do not depend on w),

argminwnβ2[tny(xn,w)]2+α2iwi2

More generally, you have that the MAP estimate is equivalent to the following,

wMAP=argminwlog2P(D|w)log2(w)

The right hand side of the expression can be interpreted as the number of bits necessary to describe your classifier. The first term represent the number of bits necessary to code the errors your network does on the training data. The second represents the number of bits necessary to code the weights.

The MAP estimate is thus equivalent to choosing the most compact representation possible. In other words, you look for the set of weights which account for the training data as faithfully as possible which can be expressed with the least number of bits.

Notice that this is another form of the bias/variance problem: the bigger the weights, the lower the first term, because the network can fit the training data better (overfitting). But at the same time the higher the complexity of weights. The smaller the weights, the smaller the complexity of the network, but the higher the error term (bias). The higher the number of bits necessary to code the errors of the network.

Hope this gives you an good enough idea of what he is referring to.

P.S. adding a longer argument to the ongoing discussion Maybe I misunderstand you. Let me please try to explain myself a last time.

The prior on the weights means represent the assumption we make about the function you want to fit. The bigger the prior (i.e. the weights) the broader the Gaussian, i.e. the more possible configurations one considers to fit the network.

Let us consider the case of regression (as in the paper I referred to). Low generalization error means that the network is able to map unseen samples very close to the actual values. If you are fitting a straight line, then a first order polynomial suffices (low complexity). Now, you could also fit the data with a higher order polynomial (let higher order coefficients be different from zero). The complexity of the network is higher because you allow for oscillations, for a more complex curve. Nevertheless, if the coefficients corresponding to higher order terms are low enough, the network can approximate the straight line very well, thus resulting in good generalization.

So the whole point of MDL is to make your weights as small as possible, as long as the generalization error can me minimized along.

Finally, quoting you: "I still find troublesome the argument that as the model starts to overfit, its capabilities to model other functions will increase. I think that's quite the opposite because a model that overfits, can't generalize to be applied to new information.". Yes, it can model OTHER, more complex functions, but it will fail to model the function at hand properly. In the figure 5.12 in the book, the error first declines, as the size of the weight increases (reduction in bias). Up to a given point when it starts to increase again (decrease in generalization, overfit).


1
Thanks. This is similar to the idea of Marc, however, I still find troublesome the argument that as the model starts to overfit, its capabilities to model other functions will increase. I think that's quite the opposite because a model that overfits, can't generalize to be applied to new information.
Robert Smith

1
Robert, I believe that is some misunderstading of what generalization error means vs. complexity of the network, i.e. the ability to model more complex functions. There are a number of papers describing the different terms, like cbcl.mit.edu/projects/cbcl/publications/ps/….
jpmuc

I don't think there is confusion when the term "complexity" is used because if you have a bunch of weights with crazy values, that makes the model very complex and you can immediately tell by the resulting plot. On the other hand, being able to manage a wide set of functions requires a model capable of generalize well from the data which can be obtained by avoiding overfitting.
Robert Smith
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.