VC boyutu neden önemlidir?


12

Wikipedia şunları söylüyor:

VC boyutu, bir algoritmanın paramparça edebileceği en büyük nokta kümesinin temelidir.

Örneğin, doğrusal bir sınıflandırıcı n + 1 kardinalitesine sahiptir. Sorum şu, neden önemsiyoruz? Doğrusal sınıflandırma yaptığınız çoğu veri kümesi çok büyüktür ve çok fazla nokta içerir.

Yanıtlar:


4

VC boyutu nedir

@CPerkins tarafından belirtildiği gibi, VC boyutu bir modelin karmaşıklığının bir ölçüsüdür. Ayrıca, belirttiğiniz gibi wikipedia gibi veri noktalarını paramparça etme yeteneği ile de tanımlanabilir.

Temel sorun

  • Görünmeyen veriler üzerinde genelleme yapan bir model (örn. Bazı sınıflandırıcılar) istiyoruz .
  • Belirli miktarda örnek veri ile sınırlıyız.

Aşağıdaki görüntü ( buradan alınmıştır ) bazı Modelleri gösterir (S1 kadar Sk), burada x ekseni üzerinde gösterilen ve çağrılan farklı karmaşıklık (VC boyutu) h.

Önyargı-Varyans Tradeoff

Görüntüler, daha yüksek bir VC boyutunun daha düşük bir ampirik riske izin verdiğini (bir modelin örnek veriler üzerinde yaptığı hata), ancak daha yüksek bir güven aralığı getirdiğini göstermektedir. Bu aralık, modelin genelleme yeteneğine olan güven olarak görülebilir.

Düşük VC boyutu (yüksek sapma)

Düşük karmaşıklıkta bir model kullanırsak, veri kümesiyle ilgili bir tür varsayım (sapma) ortaya koyarız, örneğin doğrusal bir sınıflandırıcı kullanırken verilerin doğrusal bir modelle tanımlanabileceğini varsayıyoruz. Aksi takdirde, verilen problemimiz doğrusal bir modelle çözülemez, örneğin problem doğrusal olmayan yapıda olduğu için. Verilerin yapısını öğrenemeyecek kötü bir performans modeliyle sonuçlanacağız. Bu nedenle güçlü bir önyargı vermekten kaçınmaya çalışmalıyız.

Yüksek VC boyutu (daha büyük güven aralığı)

X ekseninin diğer tarafında, genel temel yapısını yani modelin abartıyor olduğunu öğrenmek yerine verileri ezberlemeyi tercih edecek kadar büyük bir kapasiteye sahip olabilecek daha yüksek karmaşıklık modelleri görüyoruz. Bu sorunu fark ettikten sonra karmaşık modellerden kaçınmamız gerektiği anlaşılıyor.

Bir sapma yani düşük VC boyutuna sahip olmamakla birlikte yüksek VC boyutuna sahip olmamamız gerektiğinden bu tartışmalı görünebilir. Bu problemin istatistiksel öğrenme teorisinde derin kökleri vardır ve önyargı-varyans-dengesizliği olarak bilinir . Bu durumda yapmamız gereken, olabildiğince karmaşık ve olabildiğince basit olmaktır, bu yüzden aynı ampirik hata ile sonuçlanan iki modeli karşılaştırırken, daha az karmaşık olanı kullanmalıyız.

Umarım size VC boyutu fikrinin arkasında daha fazla şey olduğunu gösterebilirim.


1

VC boyutu, bir küme arasında belirli bir nesneyi (işlevi) bulmak için ihtiyaç duyulan bilgi bitlerinin (örneklerin) sayısıdır. N-nesneler (işlevler) .

VCboyut, bilgi teorisindeki benzer bir kavramdan gelir. Bilgi teorisi, Shannon'un aşağıdakileri gözlemlemesinden başladı:

Eğer varsa N- nesneler ve bunlar arasında N-belirli bir nesneyi aradığınız nesneler. Bu nesneyi bulmak için kaç bilgi parçasına ihtiyacınız var ? Nesne kümenizi iki yarıya bölebilir ve "Aradığım nesnenin hangi yarısında bulunur?" . İlk yarıda ise "evet", ikinci yarıda ise "hayır" alırsınız. Başka bir deyişle, 1 bit bilgi alırsınız . Bundan sonra, aynı soruyu sorar ve sonunda istediğiniz nesneyi bulana kadar setinizi tekrar tekrar bölersiniz. Kaç bilgiye ihtiyacınız var ( evet / hayır cevapları)? AçıkçalÖg2(N-) bilgi bitleri - sıralı dizideki ikili arama sorununa benzer şekilde.

Vapnik ve Chernovenkis de örüntü tanıma probleminde benzer bir soru sordular. Varsayalım kiN- giriş verilen fonksiyonlar x, her işlev evet veya hayır (denetlenen ikili sınıflandırma sorunu) ve bunların arasında çıkış yaparN-Belirli bir veri kümesi için evet / hayır doğru sonuçları veren belirli bir işlevi aradığınız işlevlerD={(x1,y1),(x2,y2),...,(xl,yl)}. Şu soruyu sorabilirsiniz: " Belirli bir işlev için hangi işlevler hayır döndürüyor ve hangi işlevler evet döndürüyorxbenveri kümenizden. Sahip olduğunuz eğitim verilerinden gerçek cevabın ne olduğunu bildiğiniz için, bazıları için size yanlış cevap veren tüm fonksiyonları atabilirsiniz.xben. Kaç bilgiye ihtiyacınız var? Başka bir deyişle: Tüm bu yanlış işlevleri kaldırmak için kaç eğitim örneğine ihtiyacınız var? . Burada Shannon'un bilgi teorisindeki gözleminden küçük bir fark var. İşlev kümenizi tam olarak yarıya bölmüyorsunuz (belki yalnızca bir işlevN- bazıları için yanlış cevap veriyor xben) ve belki de işlev kümeniz çok büyüktür ve bir işlevi bulmanız yeterlidir. ε-İstediğiniz işlevi kapatın ve bu işlevin ε-olasılıkla kapat 1-δ ((ε,δ)- PAC çerçevesi), ihtiyacınız olan bilgi bitlerinin sayısı (örnek sayısı)lÖg2N-/δε.

Şimdi varsayalım ki N-fonksiyonlarında hata yapmayan bir fonksiyon yoktur. Önceden olduğu gibi, bir işlevi bulmanız yeterlidir.ε-olasılıkla kapat 1-δ. İhtiyacınız olan örnek sayısılÖg2N-/δε2.

Her iki durumda da sonuçların lÖg2N- - ikili arama problemine benzer.

Şimdi sonsuz sayıda fonksiyona sahip olduğunuzu ve bu fonksiyonlar arasında ε-olasılıkla en iyi işleve yakın 1-δ. Fonksiyonların sürekli afin (SVM) olduğunu ve (çizimin basitliği için)ε-en iyi işlevine kapatın. Eğer fonksiyonunuzu biraz hareket ettirirseniz, sınıflandırma sonuçlarını değiştirmez, ilk sonuç ile aynı sonuçlarla sınıflandıran farklı bir fonksiyona sahip olursunuz. Size aynı sınıflandırma sonuçlarını (sınıflandırma hatası) veren tüm bu işlevleri alabilir ve bunları tek bir işlev olarak sayabilirsiniz, çünkü verilerinizi aynı kayıpla (resimdeki bir çizgi) sınıflandırırlar.

resim açıklamasını buraya girin

___________________Her iki çizgi (fonksiyon) noktaları aynı başarı ile sınıflandırır ___________________

Bu tür bir işlev kümesinden belirli bir işlevi kaç örnek bulmanız gerekir (işlevlerimizi, her bir işlevin belirli bir nokta kümesi için aynı sınıflandırma sonuçlarını verdiği işlev kümelerine ayırdığımızı hatırlayın)? İşte buVC boyut anlatıyor - lÖg2N- ile değiştirildi VCçünkü belirli noktalar için aynı sınıflandırma hatasına sahip bir dizi fonksiyona bölünmüş sonsuz sayıda sürekli fonksiyonunuz vardır. İhtiyacınız olan örnek sayısıVC-lÖg(δ)ε Mükemmel tanıyan bir fonksiyonunuz varsa ve VC-lÖg(δ)ε2 orijinal işlev kümenizde mükemmel bir işleve sahip değilseniz.

Yani, VC size ulaşmak için ihtiyacınız olan birkaç örnek için size bir üst sınır (btw geliştirilemez) verir ε olasılık hatası 1-δ.


0

VC boyutu, modelin karmaşıklığının bir ölçüsüdür. Örneğin, VC boyutu Dvc verildiğinde, iyi bir kural, modelinizin karmaşıklığı göz önüne alındığında n = 10xDvc veri noktalarına sahip olmanızdır.

Bunu, test hatası üzerinde bir üst sınır oluşturmak için de kullanabilirsiniz.

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.