SVM, lineer ayırmanın her zaman mümkün olduğu sonsuz özellik alanını nasıl bulabilir?


36

Gaussian Çekirdeği olan bir SVM'nin sonsuz boyutsal özellik alanına sahip olduğu gerçeğinin ardındaki sezgi nedir?


1
Soruyu gerçekten anlamadım. Karşılık gelen özellik alanının neden sonsuz boyutlu olduğunu veya ortaya çıkan hiper uçağın ne anlama geldiğinin bir yorumu olduğunu açıklamak ister misiniz ?
Marc Claesen

1
İkisini de duymakta sakıncası olmaz!
user36162

5
Bence bu ilginç bir soru (+1)

Yanıtlar:


39

Bu cevap aşağıdakileri açıklar:

  1. Mükemmel ayrım neden her zaman farklı noktalarda ve bir Gauss çekirdeğinde (yeterince küçük bant genişliğinde) mümkündür?
  2. Bu ayrımın doğrusal olarak nasıl yorumlanabileceği, ancak yalnızca verilerin yaşadığı alandan farklı bir soyut özellik alanında
  3. Veri uzayından özellik boşluğuna nasıl eşleştirilir "bulunur". Spoiler: SVM tarafından bulunmaz, örtük olarak seçtiğiniz çekirdek tarafından tanımlanır.
  4. Özellik uzayının neden sonsuz boyutlu olduğu.

1. Mükemmel ayrılık elde etmek

Kusursuz bir karar sınırlamasına yol açan, çekirdeğin konum özellikleri nedeniyle, Gauss çekirdeğiyle (farklı sınıflardan iki puanın tamamen aynı olmaması şartıyla) her zaman mükemmel bir ayrım mümkündür. Yeterince küçük çekirdek bant genişliği için, karar sınırı olumlu ve olumsuz örnekleri ayırmak için gerektiğinde noktaların etrafına küçük daireler çizmiş gibisiniz:

Böyle bir şey

(Kredi: Andrew Ng'nin çevrimiçi makine öğrenim kursu ).

Peki, bu neden matematiksel bir bakış açısıyla gerçekleşiyor?

Standart kurulumu göz önünde bulundurun: Gaussian bir çekirdeğe sahipseniz ve egzersiz veriniz ( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) , , ( x ( n ) ,K(x,z)=exp(||xz||2/σ2) burada y ( i ) değerleri ± 1'dir . Bir sınıflandırıcı işlevi öğrenmek istiyoruz(x(1),y(1)),(x(2),y(2)),,(x(n),y(n))y(i)±1

y^(x)=iwiy(i)K(x(i),x)

Şimdi nasıl biz hiç ağırlıkları atar ? Sonsuz boyutlu alanlara ve ikinci dereceden bir programlama algoritmasına ihtiyacımız var mı? Hayır, çünkü sadece noktaları mükemmel şekilde ayırabileceğimi göstermek istiyorum. Bu yüzden σ 'yu en küçük ayrılmadan milyar kat daha küçük yaptım | | x ( i ) - x ( j ) | | Herhangi iki eğitim örneği arasında ve sadece w i = 1 olarak ayarladım . Tüm eğitim noktaları birbirinden kadarıyla çekirdek söz konusu olduğunda bir milyar sigma vardır ve her nokta tamamen işaretini kontrol ettiği bu araçlar ywiσ||x(i)x(j)||wi=1y^mahallesinde. Resmen, biz

y^(x(k))=i=1ny(k)K(x(i),x(k))=y(k)K(x(k),x(k))+iky(i)K(x(i),x(k))=y(k)+ϵ

Burada keyfi olarak küçük bir değerdir. Biliyoruz ε çünkü küçücük x ( k ) bu yüzden herkes için bir milyar sigma uzakta başka bir noktadan olan i k Elimizdekiϵϵx(k)ik

K(x(i),x(k))=exp(||x(i)x(k)||2/σ2)0.

Yana kadar küçüktür ki, y ( x ( k ) ) kesinlikle işaretine y ( k ) ve sınıflandırıcı eğitim verilerine mükemmel doğruluk başarır.ϵy^(x(k))y(k)

2. Çekirdek SVM doğrusal ayrılma olarak öğrenme

Bunun “sonsuz boyutlu bir özellik uzayında mükemmel lineer ayrılık” olarak yorumlanabilmesi gerçeği, çekirdeği hileden gelir ve çekirdeği (potansiyel olarak sonsuz boyutlu) bir özellik uzayında bir iç ürün olarak yorumlamanıza izin verir:

K(x(ben),x(j))=Φ(x(ben)),Φ(x(j))

burada özelliği boşluğa veri alanı ile ilgili eşleştirme yapılır. O hemen ardından y ( x ) özelliği alanı doğrusal bir fonksiyonu olarak işlev:Φ(x)y^(x)

y^(x)=iwbeny(ben)Φ(x(ben)),Φ(x)=L(Φ(x))

burada doğrusal işlev , v olarak öznitelik uzay vektörlerinde tanımlanır.L(v)v

L(v)=Σbenwbeny(ben)Φ(x(ben)),v

Bu işlev cinsinden doğrusaldır, çünkü sadece iç ürünlerin sabit vektörlerle doğrusal bir birleşimidir. Özelliği alanı olarak, uygun sınır y ( x ) = 0 , sadece bir L ( v ) = 0 , bir doğrusal fonksiyonu seviyesi grubu. Bu, özellik uzayındaki bir hiper düzlemin tanımıdır.vy^(x)=0L(v)=0

3. Haritalama ve özellik alanını anlama

Not: Bu bölümde, notasyonu, eğitim verilerini değil,rastgele bir n noktakümesini ifade eder. Bu saf matematik; Eğitim verileri bu bölüme hiç dahil değil!x(ben)n

Çekirdek yöntemler aslında "Bul" veya "hesaplama" özelliği boşluk veya haritalama asla açıkça. SVM gibi çekirdek öğrenme yöntemleri çalışmalarına ihtiyaç duymaz; sadece K çekirdek fonksiyonuna ihtiyaç duyarlar .ΦK

Bununla birlikte, için bir formül yazmak mümkündür . Φ Eşleştiren özellik alanı bir tür soyuttur (ve potansiyel olarak sonsuz boyutludur), fakat esasen, haritalama sadece bazı basit özellik mühendisliği yapmak için çekirdeği kullanıyor. Nihai sonuç açısından, çekirdeği kullanarak öğrenmeyi sonlandırdığınız model, doğrusal regresyon ve GLM modellemesinde popüler bir şekilde uygulanan geleneksel özellik mühendisliğinden farklıdır, örneğin bir regresyon formülüne beslenmeden önce pozitif bir tahmin değişkeninin günlüğünü almak gibi. Matematiğin çoğu, çekirdeğin, sparsite ve büyük veri setlerine iyi ölçeklendirme avantajları olan SVM algoritması ile iyi oynamasını sağlamak için sadece oradadır.ΦΦ

Hala ilgileniyorsanız, işte nasıl çalışır. Esasen duraklatma istediğiniz kimliği almak , ve tanım gereği tutan bu şekilde bir boşluk ve iç bir ürünün kurulması. Bunu yapmak için, her vektörün verinin içinde yaşadığı alandan ( X) gerçek sayılara ( R) gerçek bir fonksiyon olduğu bir soyut vektör uzayı ( V) tanımlarız . Bir vektör f de V : çekirdek dilimlerin sonlu doğrusal kombinasyonundan oluşan bir fonksiyonudur f ( xΦ(x),Φ(y)=K(x,y)VXRfV yazma için uygundur f ve daha kısa bir f = n Σ i = 1 α i K x ( i ) burada K x ( y ) = K ( x , y ), çekirdeğe bir "dilim" veren bir fonksiyonudur x .

f(x)=i=1nαiK(x(i),x)
f
f=i=1nαiKx(i)
Kx(y)=K(x,y)x

Uzaydaki iç ürün sıradan nokta ürün değil, çekirdeğe dayalı soyut bir iç üründür:

i=1nαiKx(i),j=1nβjKx(j)=i,jαiβjK(x(i),x(j))

Bu şekilde tanımlanan özellik alanıyla, , her noktayı x'i "çekirdek dilimine" götüren bir haritalama XV'dir :ΦXVx

Φ(x)=Kx,whereKx(y)=K(x,y).

K , pozitif bir çekirdek olduğunda , bir iç çarpım alanı olduğunu kanıtlayabilirsiniz . Ayrıntılar için bu makaleye bakın. (Bu şeye işaret ettiği için şüphe eder!)VK

4. Özellik alanı neden sonsuz boyutlu?

Bu cevap güzel bir lineer cebir açıklaması verir, ancak işte hem sezgiyle hem de kanıtla geometrik bir bakış açısı.

Sezgi

Herhangi bir sabit nokta , bir çekirdek dilimi işlevine sahibiz K z ( x ) = K ( z , x ) . Grafiği K z sadece bir Gauss yumru merkezlenmiş olan zzKz(x)=K(z,x)Kzz. Şimdi, eğer özellik alanı sadece sonlu boyutta olsaydı, bu, sabit bir nokta kümesinde sonlu bir çarpma kümesi alabileceğimiz ve başka herhangi bir yerde herhangi bir Gauss yumru oluşturabileceğimiz anlamına gelirdi. Ama açıkça bunu yapmamızın bir yolu yok; eski yumrulardan yeni bir yumru yapamazsınız, çünkü yeni yumru eskilerden çok uzak olabilir. Bu yüzden, ne kadar özellik vektörümüze (çarpmalara) sahip olursak olalım, daima yeni tümsekler ekleyebiliriz ve özellik alanında bunlar yeni bağımsız vektörlerdir. Dolayısıyla özellik alanı sonlu boyutlu olamaz; sonsuz olması gerekiyor.

Kanıt

İndüksiyon kullanıyoruz. Diyelim ki noktalarından oluşan bir dizi noktaya sahip olmalısınız, öyle ki Φ ( x ( i ) ) vektörleri özellik alanında doğrusal olarak bağımsızdır. Şimdi bu n noktalarından farklı bir nokta x ( n + 1 ) , aslında hepsinden bir milyar sigma uzakta bulun. Claim ( x ( n + 1 ) ) ' olduğunu iddia ediyoruz.x(1),x(2),,x(n)Φ(x(i))x(n+1)nΦ(x(n+1))ilk özellik vektörlerinden Φ ( x ( i ) ) doğrusal olarak bağımsızdır .nΦ(x(i))

Çelişki ile kanıt. Aksine olduğunu varsayalım

Φ(x(n+1))=i=1nαiΦ(x(i))

Şimdi her iki taraftan da iç ürünü isteğe bağlı . Kimlik ile Φ ( z ) , Φ ( x ) = K ( Z , X ) elde ederizxΦ(z),Φ(x)=K(z,x)

K(x(n+1),x)=i=1nαiK(x(i),x)

Burada serbest bir değişkendir, bu nedenle bu denklem iki fonksiyonun aynı olduğunu belirten bir kimliktir. Özellikle, x ( n + 1 ) merkezli bir Gaussian'ın diğer noktalardaki x ( i ) Gaussların lineer bir kombinasyonu olarak gösterilebileceğini söylüyor . Geometrik olarak apaçık olarak, diğer tüm merkezlere çarpılmış bir Gauss çarpma kombinasyonundan, özellikle diğer bütün Gauss çarpmalarının bir milyar sigma olduğu durumlarda, bir noktada merkezlenmiş bir Gauss yumrularının diğer noktalarda ortalanmış bir Gauss yumruları oluşturamayacağı açıktır. Dolayısıyla, lineer bağımlılık varsayımımız, gösterdiğimiz gibi bir çelişkiye yol açtı.xx(n+1)x(i)


6
Mükemmel ayrılık mümkün değildir. Karşı örnek: (0,0, Sınıf A), (0,0, Sınıf B). Bu veri setini ayırmada iyi şanslar!
Anony-Mousse

4
Bu ... teknik olarak doğru, en doğru tür! Olumlu bir oy ver. Yayına bir not ekleyeceğim.
Paul,

3
(Farklı sınıflardan örnekler arasında minimum bir mesafeye ihtiyaç duymanız durumunda, amacınızın mantıklı olduğunu düşünüyorum. Bu senaryoda, SVM'nin en yakın komşu sınıflandırıcı haline geldiğine dikkat etmek faydalı olabilir)
Anony-Mousse

1
Ben sadece biz bir eğitim kümesi verilmiştir kez öylesine noktalar arasındaki minimum mesafe her zaman vardır, sonlu eğitim seti durumda hedefledigim ile çalışmalarına ayrı puan. n
Paul,

@Paul Bölüm 2 ile ilgili olarak, bir sorum var. Izin eğitim noktası için RKHS içinde DANIŞMANI olmak x ( i ) ve k x keyfi yeni nokta için x böylece y ( x ) = Σ i w ı y ( i )k i , k x= Σ i w i y ( i ) k i ( x ) yani işlev kix(i)kxxy^(x)=iwiy(i)ki,kx=iwiy(i)ki(x)bazıziR. Bana göre bu işlevi uzay versiyonu gibi y sütun uzayda olmanınXlineer regresyon ve doğrusallık gerçekten nereden geldiğini olduğunu. Bu açıklama doğru görünüyor mu? Hala bu RKHS şeylerini öğreniyorum. y^=izikiziRy^X
jld

12

Gauss çekirdeğin çekirdek matrisi farklı için her zaman tam sırası vardır . Bu, her yeni bir örnek eklediğinizde, rütbenin 1 kat arttığı anlamına gelir . Eğer σ ayarını çok küçük yaparsanız bunu görmenin en kolay yolu . O zaman çekirdek matrisi neredeyse köşegendir.x1,...,xm1σ

Rütbenin her zaman bir artış göstermesi , özellik uzayındaki projeksiyonlarının doğrusal olarak bağımsız (dikey değil, bağımsız) olduğu anlamına gelir. Bu nedenle, her örnek, ions ( x 1 ) , çıkıntılarının aralığına yeni bir boyut ekler . . . , Φ ( x m ) . Sayısız şekilde sonsuz sayıda örnek ekleyebildiğiniz için, özellik alanı sonsuz boyutta olmalıdır. İlginçtir ki, giriş boşluğunun özellik boşluğuna projeksiyonları bir küre üzerinde yatmaktadır, çünkü | | Φ ( x ) | |Φ(x)Φ(x1),...,Φ(xm). Bununla birlikte, kürenin geometrisi düzdür. Bu konuda daha fazla okuyabilirsiniz||Φ(x)||H²=k(x,x)=1

Burges, CJC (1999). Çekirdek Bazlı Yöntemlerde Geometri ve Değişmezlik. B. Schölkopf, CJC Burges ve AJ Smola (Eds.), Çekirdek Metodlarındaki Gelişmeler Vektör Öğrenmeyi Desteklemektedir (s. 89-116). MIT tuşuna basın.


Hala anlamadım, ama yine de bir artı puan kazandın :)
stmax

Demek istediğim, geometrinin neden düz olduğunu veya neden sonsuz boyutlu olduğunu anlamıyor musunuz? Oy verdiğiniz için teşekkürler.
Fabee

100 örneğim varsa, özellik alanım 100 boyutlu mu, yoksa zaten sonsuz boyutlu mu? Neden sınırsız sayıda "sayısız" örnek ekleyebilirim? Bu sayılabilir bir sonsuzluk değil mi? Sayılabilir / sayılamayan neden burada önemli? Henüz “düz küre” hakkında düşünmeyi bile denemedim: D Açıklamalarınız için teşekkürler!
stmax

5
Umarım bana, her yeni örneğin önceki örneklerden lineer olarak bağımsız olduğuna inanırsınız (aynı hariç ). In R n ötesinde her nokta: Bunu yapamaz n başkalarına doğrusal bağımlı olması gerekir. Gaussian RKHS için, eğer 100 farklı örneğiniz varsa, sonsuz boyutlu uzayın 100 boyutlu bir alt uzayını kapsarlar. Bu nedenle, yayılma alanı sonlu boyutludur, ancak içinde yaşadıkları özellikler uzay sonsuz boyuttadır. Her yeni nokta için sonsuz, sayılamayacak kadar R n, yeni bir boyut ve çok puan sayılamayacak vardır R n . xRnnRnRn
fabee

@ fabee: Farklı bir şekilde denedim, çok fazla şey biliyor gibisin, cevabımı aşağı yukarı 'doğru' alıp almadığımı kontrol edebilir misin?

5

Geçmiş ve notasyonlar için cevaba bakınız. Karar sınırlarını destek vektörlerinden nasıl hesaplayabilirim? .

Bu nedenle, 'orijinal' uzayda bulunan özellikler vektörleri , ikili sonuç y i{ - 1 , + 1 } ve Lagrange çarpanları α i'dir .xiyi{1,+1}αi

Bu çekirdek olarak yazılabilir bilinmektedir ( ' ' iç çarpımı temsil eder.) Burada Φ yeni bir özellik olan, bir (kapalı ve bilinmeyen) dönüşümdür alanı.K(x,y)=Φ(x)Φ(y)Φ

Bazı vermeye çalışacaktır 'sezgisel' açıklama bu ne Bu cevap Resmi kanıt yani, sadece istediği, bakışlar gibi bu eserlerin düşünüyorum nasıl bazı hissi verir. Hatalıysam beni düzeltmekte tereddüt etmeyin. Açıklamamın temeli bu pdf’in 2.2.1.Φ

Özellik alanımı (bu yüzden ) doğrusal ayrımın çözüleceği bazı 'yeni' özellik alanlarına dönüştürmeliyim.xi

xiϕi(x)=K(xi,x)ϕiϕiϕiV=span(ϕi,i=1,2,N)N Eğitim örneğinin büyüklüğü).

VVϕii=1NγiϕiγiV={v=i=1Nγiϕi|(γ1,γ2,γN)RN}

Note that (γ1,γ2,γN) are the coordinates of vector v in the vector space V.

N is the size of the training sample and therefore the dimension of the vector space V can go up to N, depending on whether the ϕi are linear independent. As ϕi(x)=K(xi,x) (see supra, we defined ϕ in this way), this means that the dimension of V depends on the kernel used and can go up to the size of the training sample.

If the kernel is 'complex enough' then the ϕi(x)=K(xi,x) will all be independent and then the dimension of V will be N, the size of the training sample.

The transformation, that maps my original feature space to V is defined as

Φ:xiϕi(x)=K(xi,x).

This map Φ maps my original feature space onto a vector space that can have a dimension that goes up to the size of my training sample. So Φ maps each observation in my training sample into a vector space where the vectors are functions. The vector xi from my training sample is 'mapped' to a vector in V, namely the vector ϕi with coordinates all equal to zero, except the i-th coordinate is 1.

Obviously, this transformation (a) depends on the kernel, (b) depends on the values xi in the training sample and (c) can, depending on my kernel, have a dimension that goes up to the size of my training sample and (d) the vectors of V look like i=1Nγiϕi, where γi are real numbers.

Looking at the function f(x) in How to calculate decision boundary from support vectors? it can be seen that f(x)=iyiαiϕi(x)+b. The decision boundary found by the SVM is f(x)=0.

In other words, f(x) is a linear combination of the ϕi and f(x)=0 is a linear separating hyperplane in the V-space : it is a particular choice of the γi namely γi=αiyi !

The yi are known from our observations, the αi are the Lagrange multipliers that the SVM has found. In other words SVM find, through the use of a kernel and by solving a quadratic programming problem, a linear separation in the V-spave.

This is my intuitive understanding of how the 'kernel trick' allows one to 'implicitly' transform the original feature space into a new feature space V, with a different dimension. This dimension depends on the kernel you use and for the RBF kernel this dimension can go up to the size of the training sample. As training samples may have any size this could go up to 'infinite'. Obviously, in very high dimensional spaces the risk of overfitting will increase.

So kernels are a technique that allows SVM to transform your feature space , see also What makes the Gaussian kernel so magical for PCA, and also in general?


+1 bu katı. Bu materyali kendi açıklayıcı stilime çevirip cevabımı ekledim.
Paul

5

Ne yazık ki, fcop'un açıklaması oldukça yanlış. Öncelikle “Çekirdeğin yeni bir özellik alanına (örtük ve bilinmeyen) bir dönüşüm olduğu ... olarak yazılabildiği bilinmektedir. Bilinmiyor. Bu aslında özelliklerin haritalandığı alandır ve bu RBF örneğinde olduğu gibi sonsuz boyutlu olabilecek alandır. Çekirdeğin yaptığı, bir eğitim örneğinin dönüştürülmüş bir özellik vektörüyle dönüştürülmüş özellik vektörünün iç çarpımını almak ve sonuçta bir işlev uygular. Bu nedenle örtük olarak bu daha yüksek boyutlu özellik vektörünü temsil eder. Örneğin, x ^ 2 + 2xy + y ^ 2 yerine (x + y) ^ 2 yazmayı düşünün. Şimdi hangi sonsuz dizinin üstel fonksiyonla örtük olarak temsil edildiğini bir düşünün ... orada sonsuz özellik alanınız var.

SVM'leri düşünmenin doğru yolu, özelliklerinizi, eğitim seti büyüklüğü kadar büyük olabilen, başka bir sonlu boyutlu "Çekirdek" özellik alanında dolaylı olarak gösterilebilecek, sonsuz boyutsal bir boyutsal özellik alanıyla eşleştirmenizdir.

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.