Çekirdek SVM: Daha yüksek boyutlu bir özellik alanına eşlemenin sezgisel bir şekilde anlaşılmasını ve bunun doğrusal ayırmayı nasıl mümkün kıldığını anlamak istiyorum


15

Çekirdek SVM'lerin arkasındaki sezgiyi anlamaya çalışıyorum. Şimdi, doğrusal SVM'nin nasıl çalıştığını anlıyorum, böylece verileri olabildiğince bölen bir karar satırı hazırlanıyor. Verileri daha yüksek boyutlu bir alana taşıma arkasındaki ilkeyi ve bunun bu yeni alanda doğrusal bir karar çizgisi bulmayı nasıl kolaylaştırabileceğini de anlıyorum. Anlamadığım şey, veri noktalarını bu yeni alana yansıtmak için bir çekirdeğin nasıl kullanıldığıdır.

Bir çekirdek hakkında bildiğim, etkin bir şekilde iki veri noktası arasındaki "benzerliği" temsil etmesidir. Peki bu projeksiyonla nasıl bir ilişkisi var?


3
Yeterince yüksek boyutlu bir alana giderseniz, tüm egzersiz veri noktaları bir uçakla mükemmel şekilde ayrılabilir. Bu, herhangi bir tahmin gücüne sahip olacağı anlamına gelmez. Bence çok yüksek boyutlu uzaya gitmek aşırı uymanın ahlaki eşdeğeri (bir biçimi).
Mark L. Stone

@Mark L. Stone: bu doğru (+1) ama yine de bir çekirdeğin sonsuz boyutlu uzayda nasıl eşlenebileceğini sormak iyi bir soru olabilir mi? Bu nasıl çalışıyor? Denedim, cevabımı gör

Özellik eşlemesine "projeksiyon" deme konusunda dikkatli olurum. Özellik eşleme genellikle doğrusal olmayan dönüşümdür.
Paul

Çekirdek hilesi üzerine çok yararlı bir yazı, çekirdeğin iç ürün alanını görselleştirir ve yüksek boyutlu özellik vektörlerinin bunu başarmak için nasıl kullanıldığını açıklar, umarım bu soruyu kısaca cevaplar: eric-kim.net/eric-kim-net/ posts / 1 / kernel_trick.html
JStrahl

Yanıtlar:


6

Let yüksek boyut boşluğuna çıkıntı olması . Temel olarak, iç ürün olan çekirdek işlevi . Bu yüzden veri noktalarını yansıtmak için değil, projeksiyonun bir sonucu. Bir benzerlik ölçüsü olarak düşünülebilir, ancak bir SVM'de bundan daha fazlasıdır.K K ( X 1 , x 2 ) = h ( x 1 ) , h ( x 2 ) h(x)FK(x1,x2)=h(x1),h(x2)

da en iyi ayırıcı köprüyü bulmak için yapılan optimizasyon , sadece iç ürün formuyla içerir. Yani, biliyorsanız, nin tam biçimini bilmeniz gerekmez , bu da optimizasyonu kolaylaştırır. h ( x ) K ( , ) h ( x )Fh(x)K(,)h(x)

Her çekirdek karşılık gelen bir değerine de sahiptir. Bu çekirdeğe sahip bir SVM kullanıyorsanız, öğesinin alandaki doğrusal karar satırını dolaylı olarak bulursunuz .h ( x ) h ( x )K(,)h(x)h(x)

İstatistiksel Öğrenme Unsurlarının 12. Bölümü SVM'ye kısa bir giriş niteliğindedir. Bu, çekirdek ve özellik eşleme arasındaki bağlantı hakkında daha ayrıntılı bilgi verir: http://statweb.stanford.edu/~tibs/ElemStatLearn/


Çekirdek için benzersiz bir temel h ( x ) olduğunu mu söylüyorsunuz ? K(x,y)h(x)

2
@fcoppens Hayır; önemsiz bir örnek için ve - h'yi düşünün . Bununla birlikte, bu çekirdeğe karşılık gelen benzersiz bir çoğaltma çekirdeği Hilbert alanı vardır. hh
Dougal

@Dougal: O zaman sizinle aynı fikirdeyim, ama yukarıdaki cevapta 'karşılık gelen bir ' denildi, bu yüzden emin olmak istedim. Anlıyorum RKHS ama için bunun bir 'sezgisel bir şekilde' açıklamak mümkün olduğunu düşünüyorum ne bu dönüşümün h bir Kernel için gibi görünüyor K ( x , y ) ? hhK(x,y)

@fcoppens Genel olarak hayır; bu haritaların açık temsillerini bulmak zordur. Bazı çekirdekler için bu ya çok zor değil ya da daha önce yapılmıştı.
Dougal

1
@fcoppens haklısın, h (x) benzersiz değil. İç ürünü <h (x), h (x ')> aynı tutarken h (x) üzerinde kolayca değişiklik yapabilirsiniz. Ancak, bunları temel işlevler olarak düşünebilirsiniz ve kapsadıkları alan (yani RKHS) benzersizdir.
Lii

4

Çekirdek SVM'nin yararlı özellikleri evrensel değildir - çekirdek seçimine bağlıdır. Sezgiyi elde etmek için en sık kullanılan çekirdeklerden birine, Gauss çekirdeğine bakmak faydalıdır. Dikkat çekici bir şekilde, bu çekirdek SVM'yi k'ye en yakın komşu sınıflandırıcıya çok benziyor.

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

  1. Pozitif ve negatif eğitim verilerinin mükemmel şekilde ayrılması, yeterince küçük bir bant genişliği olan Gauss çekirdeği ile neden her zaman mümkündür (aşırı sığdırma pahasına)
  2. Bu ayrımın bir özellik alanında doğrusal olarak nasıl yorumlanabileceği.
  3. Çekirdek, veri alanından özellik alanına eşleme oluşturmak için nasıl kullanılır. Spoiler: Özellik alanı, çekirdeğe dayanan alışılmadık bir soyut iç ürünle çok matematiksel olarak soyut bir nesnedir.

1. Mükemmel ayrılma elde etmek

Gauss çekirdeği ile, keyfi olarak esnek bir karar sınırına yol açan çekirdeğin yerellik özellikleri nedeniyle mükemmel bir ayrılma her zaman 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ş gibi görünecektir:

Böyle bir şey

(Kredi: Andrew Ng'in çevrimiçi makine öğrenimi kursu ).

Peki, bu neden matematiksel açıdan ortaya çıkıyor?

Standart kurulumu düşünün: Gauss çekirdeği ve egzersiz verileriniz ( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) , , ( x ( n ) ,K(x,z)=exp(||xz||2/σ2) burada y ( i ) değerleri ± 1'dir . Sınıflandırıcı fonksiyonunu öğ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 uzaylara 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 σ'yı en küçük ayrımdan milyar kat daha küçük yapıyorum | | x ( i ) - x ( j ) | | herhangi iki eğitim örnekleri arasında, ve sadece belirlenen ağırlık ı = 1 . 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. Resmi olarak,

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. Pratikte bu aşırı derecede uygun olurdu, ancak Gauss çekirdeği SVM'nin muazzam esnekliğini ve en yakın komşu sınıflandırıcıya çok benzer şekilde nasıl hareket edebileceğini gösteriyor.ϵy^(x(k))y(k)

2. Doğrusal ayırma olarak çekirdek SVM öğrenimi

Bunun "sonsuz boyutlu bir özellik alanında mükemmel doğrusal ayırma" olarak yorumlanabilmesi, çekirdeği soyut bir iç ürün olarak yeni bir özellik alanı olarak yorumlamanızı sağlayan çekirdek hilesinden gelir:

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

burada , veri alanından özellik alanına eşleme anlamına gelir. O hemen ardından y ( x ) özelliği alanı doğrusal bir fonksiyonu olarak işlev:Φ(x)y^(x)

y^(x)=iwiy(i)Φ(x(i)),Φ(x)=L(Φ(x))

doğrusal işlev burada özelliği tanımlanır uzay vektörleri v olarakL(v)v

L(v)=iwiy(i)Φ(x(i)),v

Bu fonksiyon cinsinden lineerdir, çünkü sabit vektörlere sahip iç ürünlerin doğrusal bir kombinasyonudur. Ö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. Çekirdek özellik alanını oluşturmak için nasıl kullanılır?

Çekirdek yöntemleri aslında özellik alanını veya eşlemeyi açıkça "bulmaz" veya "hesaplamaz" . SVM gibi çekirdek öğrenme yöntemlerinin çalışmasına gerek yoktur; sadece çekirdek fonksiyonu K'ye ihtiyaç duyarlar . Φ için bir formül yazmak mümkündür, ancak eşlendiği özellik alanı oldukça soyuttur ve sadece SVM ile ilgili teorik sonuçları kanıtlamak için kullanılır. Hâlâ ilgileniyorsanız, işte böyle çalışır.ΦKΦ

Temel olarak bir arka vektör uzayı tanımlayan , her vektörü, bir fonksiyonudur X için R . Bir vektör f de V çekirdek dilimlerinin sonlu doğrusal kombinasyonundan oluşan bir fonksiyonudur: f ( x ) = n Σ i = 1 α i K ( x ( i ) , x ) burada ( x ( i ) sadece bir keyfi puan kümesi ve eğitim seti ile aynı olması gerekmez.) f yazmak uygundurVXRfV

f(x)=i=1nαiK(x(i),x)
x(i)fdaha kompakt olarak burada K x ( y ) = K ( x , y ) , x'de çekirdeğin "dilimini" veren bir işlevdir .
f=i=1nαiKx(i)
Kx(y)=K(x,y)x

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

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

Bu tanım çok kasıtlı: inşaat biz doğrusal ayrılması için gereken kimlik sağlamaktadır .Φ(x),Φ(y)=K(x,y)

Bu şekilde tanımlanan özellik alanı ile bir eşleme olan XV her nokta alarak x o noktada "çekirdek dilim" için:ΦXVx

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

K pozitif bir çekirdek olduğunda bir iç ürün alanı olduğunu kanıtlayabilirsiniz . Ayrıntılar için bu makaleye bakın.VK


Harika bir açıklama, ama bence gauss çekirdeğinin tanımı için bir eksi kaçırdınız. K (x, z) = exp (- || x − z || 2 / σ2).
Yazıldığı gibi,

1

Arka plan ve gösterimler için Destek vektörlerinden karar sınırını nasıl hesaplayabilirim? .

'Orijinal' uzaydaki özellikler vektörleri , ikili sonuç y i{ - 1 , + 1 } ve Lagrange çarpanları α i'dir .xiyi{1,+1}αi

@Lii (+1) ile söylendiği gibi Çekirdek (' ' iç ürünü temsil eder ) olarak yazılabilir .K(x,y)=h(x)h(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. Yanılıyorsam beni düzeltmekte tereddüt etmeyin.h

Özellik alanımı (böylece benim ) doğrusal ayrılmanın çözüleceği bazı 'yeni' özellik alanına 'dönüştürmeliyim.xi

xiϕi(x)=K(xi,x)ϕiϕiϕiV=span(ϕi,i=1,2,N)

Vϕii=1Nγiϕiγi

NVNϕiϕi(x)=K(xi,x)ϕV

Orijinal özellik alanımı eşleyen dönüşüm,V

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

Φ

xiVi=1Nγiϕiγiγi

f(x)f(x)=iyiαiϕi(x)+b

f(x)ϕiγiγi=αiyi

yiαiV

V

Çekirdekler, SVM'nin özellik alanınızı dönüştürmesine izin veren bir tekniktir, ayrıca bkz . Gauss çekirdeğini PCA için bu kadar büyülü yapan nedir ve genel olarak?


"Eğitim örneğimin her bir öğesi için" - burada bir satır veya sütuna (yani özellik) gönderme yapan öğedir
user1761806

x ve x_i nedir? X'im 5 sütun ve 100 satırlık bir giriş ise, x ve x_i ne olurdu?
user1761806

@ user1761806 bir öğe bir satırdır.

1

Tahminleri (giriş verileri) yüksek boyutlu bir özellik alanına dönüştürün. Bu adım için sadece çekirdeği belirtmek yeterlidir ve veriler hiçbir zaman açıkça özellik alanına dönüştürülmez. Bu işlem yaygın olarak çekirdek numarası olarak bilinir.

xϕ(x)

resim açıklamasını buraya girin

xϕϕϕ(xi)Tϕ(x)xix

İlgili bir soru var Güzel bir cevap olan Gauss çekirdeği için özellik haritası /stats//a/69767/86202 .

K(xi,x)=ϕ(xi)Tϕ(x)xϕresim açıklamasını buraya girin


0

Daha yüksek bir boyuta eşleme, yalnızca orijinal boyutta tanımlanan bir sorunu çözme hilesidir; bu nedenle, çok fazla serbestlik derecesine sahip bir boyuta geçerek verilerinizi aşırı sığdırma gibi endişeler haritalama sürecinin bir yan ürünü değil, sorun tanımınızın doğasında vardır.

Temel olarak, eşlemenin yaptığı tek şey, orijinal boyuttaki koşullu sınıflandırmayı daha yüksek boyuttaki bir düzlem tanımına dönüştürmektir ve daha yüksek boyuttaki düzlem ile alt boyuttaki koşullarınız arasında 1'e 1 ilişki olduğundan, her zaman ikisi arasında hareket.

Aşırı takılma sorununu açıkça ele alarak, her bir gözlemi kendi sınıfına izole etmek için yeterli koşulları tanımlayarak herhangi bir gözlem setini geçersiz kılabilirsiniz, bu da verilerinizi n'nin gözlemlerinizin sayısı olduğu (n-1) D .

2D boyuta geçip verilerinizi bir satırla ayırarak gözlemlerinizin [[1, -1], [0,0], [1,1]] [[özellik, değer]] olduğu en basit problemi ele almak , sadece feature < 1 && feature > -1 : 0içinden geçen bir çizgiyi tanımlamanın koşullu sınıflandırmasını dönüştürüyorsunuz (-1 + epsilon, 1 - epsilon). Daha fazla veri noktanız varsa ve daha fazla koşula ihtiyacınız varsa, tanımladığınız her yeni koşulla daha yüksek boyutunuza bir derece daha özgürlük eklemeniz gerekir.

Daha yüksek bir boyuta eşleme sürecini, yeni probleminizin koşulları ve serbestlik dereceleri arasında 1'e 1 ilişki sağlayan herhangi bir işlemle değiştirebilirsiniz. Çekirdek hileleri bunu yapar.


1
Farklı bir örnek olarak, fenomenin formunun gözlemlenmesiyle sonuçlandığı sorunu ele alalım [x, floor(sin(x))]. Sorununuzu 2B bir boyuta eşleştirmek burada hiç yardımcı olmuyor; aslında, herhangi bir düzlemle eşleme burada yararlı olmayacaktır, çünkü problemi bir dizi olarak tanımlamak x < a && x > b : zbu durumda yararlı değildir. Bu durumda en basit haritalama, bir kutupsal koordinatla veya hayali düzleme eşlemektir.
Hou
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.