Çekirdeğin ne olduğu sezgisel olarak nasıl açıklanır?


96

Birçok makine öğrenme sınıflandırıcısı (örneğin, destek vektör makineleri) bir tanenin bir çekirdek belirtmesine izin verir. Bir çekirdeğin ne olduğunu açıklamanın sezgisel bir yolu ne olurdu?

Düşündüğüm bir yön, doğrusal ve doğrusal olmayan çekirdekler arasındaki ayrımdır. Basit bir ifadeyle, 'doğrusal karar fonksiyonları' ndan bir 'doğrusal olmayan karar fonksiyonlarından' bahsedebilirim. Ancak, bir çekirdeği 'karar işlevi' olarak adlandırmanın iyi bir fikir olup olmadığından emin değilim.

Öneriler?

Yanıtlar:


112

Çekirdek, iki vektörün ve y nokta ürününü bazı (muhtemelen çok yüksek boyutlu) özellik uzayında hesaplamanın bir yoludur , bu yüzden çekirdek işlevlerine bazen "genelleştirilmiş nokta ürün" denir.xy

Bir eşlememiz olduğunu varsayalım bizim vektörleri getiren Ar n bazı özellik uzay için R m . Daha sonra,bu boşluktaki x ve y nokta ürünüφ( x ) T φ( y ) olur. Bir çekirdek,bu nokta ürününe karşılık gelenbirkişlevidir, yanik( x , y )=φ( x ) T φ( y ).φ:RnRmRnRmxyφ(x)Tφ(y)kk(x,y)=φ(x)Tφ(y)

Bu neden faydalıdır? Çekirdekler bile bu uzay ne olduğunu bilmeden bazı özellik uzayda nokta ürünlerini hesaplamak için bir yol vermek ve ne .φ

Örneğin, basit bir polinom çekirdek dikkate ile x , yR 2 . Bu, herhangi bir eşleme fonksiyonu karşılık görünmüyor cp sadece gerçek sayı döndüren bir fonksiyon var. Varsayarak bu X = ( x 1 , x 2 ) ve y = ( y 1 , y 2 ) , bunu ifade genişlemesine izin:k(x,y)=(1+xTy)2x,yR2φx=(x1,x2)y=(y1,y2)

k(x,y)=(1+xTy)2=(1+x1y1+x2y2)2==1+x12y12+x22y22+2x1y1+2x2y2+2x1x2y1y2

Bunun iki vektör arasındaki bir nokta ürününden başka bir şey olmadığını unutmayın (1,x12,x22,2x1,2x2,2x1x2)(1,y12,y22,2y1,2y2,2y1y2)φ(x)=φ(x1,x2)=(1,x12,x22,2x1,2x2,2x1x2)k(x,y)=(1+xTy)2=φ(x)Tφ(y)

k(x,y)=exp(γxy2)φ

Son olarak, çekirdek tabanlı yöntemlere iyi bir giriş olarak Profesör Yaser Abu-Mostafa tarafından çevrimiçi bir "Veriden Öğrenme" kursu öneririm . Özellikle, "Destek Vektör Makineleri" , "Çekirdek Yöntemleri" ve "Radyal Temel Fonksiyonlar" dersleri çekirdeklerle ilgilidir.


2
Mevcut etiket tanımı: "Sezgisel: kavramsal veya matematiksel olmayan bir istatistik anlayışı arayan sorular." Kavramsal olarak matematiksel olmayanın eş anlamlısı olarak kabul edilip edilmediğine dair net bir gösterge yoktur.
rolando2,

40

Çekirdekler hakkında düşünmenin çok basit ve sezgisel bir yolu (en azından SVM'ler için) benzerlik bir fonksiyondur. İki nesne göz önüne alındığında, çekirdek bazı benzerlik puanı verir. Nesneler, iki tamsayıdan başlayarak, iki gerçek değerli vektörden, çekirdek fonksiyonunun onları nasıl karşılaştıracağını bilmesini şart koşarsa, ağaçlardan herhangi biri olabilir.

Tartışılabilir şekilde en basit örnek, nokta-ürün olarak da adlandırılan doğrusal çekirdek. İki vektör verildiğinde, benzerlik bir vektörün diğerine projeksiyonunun uzunluğu.

Bir başka ilginç çekirdek örneği de Gaussian çekirdeğidir. İki vektör verildiğinde, benzerlik yarıçapı ile azalacaktır . İki cisim arasındaki mesafe bu yarıçap parametresi tarafından "yeniden sıkılır".σ

Çekirdeklerle öğrenmenin başarısı (yine, en azından SVM'ler için), çekirdeğin seçimine büyük ölçüde bağlıdır. Sınıflandırma probleminiz hakkındaki bilginin kompakt bir temsili olarak bir çekirdeği görebilirsiniz. Çok sık soruna özgüdür.

Çekirdek kullanılan bu yana bir çekirdeğe bir karar işlevi demem içindeki karar fonksiyonu. Sınıflandırılacak bir veri noktası verildiğinde, karar işlevi, bu veri noktasını, öğrenilen parametreler tarafından ağırlıklandırılan birkaç destek vektörüyle karşılaştırarak çekirdeği kullanır . Destek vektörleri bu veri noktasının alanındadır ve öğrenilen parametreler boyunca öğrenme algoritması tarafından bulunur.αα


Nokta ürün ve projeksiyon tamamen aynı değildir.
ttnphns

SVM durumunda, çekirdeklerin farklı alanlarda uzaklık ölçütleri olduğuna inanıyorum. Bu, bir SVM'nin bir destek vektör sınıflandırıcısını genelleştirdiği fikrine uygundur. Genel olarak, çekirdekler daha karmaşık olabilir.
aginensky,

29

Sezgiye yardımcı olmak için görsel bir örnek

Sarı ve mavi noktaların iki boyutta doğrusal olarak açıkça ayrılmadığı aşağıdaki veri setini göz önünde bulundurun.

görüntü tanımını buraya girin

Bu noktaların doğrusal olarak ayrılabildiği daha yüksek boyutlu bir boşluk bulabilirsek , aşağıdakileri yapabiliriz:

  • Orijinal özellikleri daha yüksek, dönüştürücü alanla eşleştirin (özellik eşlemesi)
  • Bu daha yüksek alanda lineer SVM gerçekleştirin
  • Karar sınırı hiper düzlemine karşılık gelen bir dizi ağırlık elde edin
  • Doğrusal olmayan bir karar sınırı elde etmek için bu hiper düzlemi orijinal 2D uzaya tekrar eşleyin

Bu noktaların doğrusal olarak ayrılabildiği birçok yüksek boyut alanı vardır. İşte bir örnek

x1,x2:→z1,z2,z3
z1=2x1x2  z2=x12  z3=x22

Bu, Çekirdek numarasının devreye girdiği yerdir. Yukarıdaki harika cevaplardan alıntı

Varsayalım ki vektörlerimizi de bazı özellik alanına getirir . Ardından bu alandaki ve nokta ürünleri . Bir çekirdek, bu nokta ürününe karşılık gelen bir işlevidir , yaniφ:RnRmRnRmxyφ(x)Tφ(y)kk(x,y)=φ(x)Tφ(y)

Yukarıdaki özellik haritasına eşdeğer bir çekirdek işlevi bulabilirsek, çekirdek işlevini doğrusal SVM'ye takıp hesaplamaları çok verimli bir şekilde yapabiliriz.

Polinom çekirdeği

Yukarıdaki özellik haritasının iyi bilinen polinom çekirdeğine karşılık geldiği ortaya çıktı : . Let ve elde ederizK(x,x)=(xTx)dd=2x=(x1,x2)T

k((x1x2),(x1x2))=(x1x2+x2x2)2=2x1x1x2x2+(x1x1)2+(x2x2)2=(2x1x2 x12 x22) (2x1x2x12x22)

k((x1x2),(x1x2))=ϕ(x)Tϕ(x)

ϕ((x1x2))=(2x1x2x12x22)

Özellik haritasını ve ortaya çıkan sınır çizgisini görselleştirme

  • Sol taraftaki arsa, dönüştürülmüş alanda çizilen noktaları, SVM doğrusal sınır hiper düzlemi ile birlikte gösterir.
  • Sağ taraftaki çizim, orijinal 2 boyutlu alanda sonuçları göstermektedir

görüntü tanımını buraya girin


Kaynak


4

Çok basit (ama doğru) bir çekirdek, iki veri dizisi arasındaki tartı faktörüdür . Bu tartma faktörü bir "daha fazla ağırlık atayabilir veri noktası bir" at " zaman noktası için diğer" daha " veri noktası ", ya da buna eşit ağırlık atamak ya da diğer "daha fazla ağırlık verilmektedir veri noktasına ve benzeri" ve.

Bu şekilde korelasyon ( nokta ürün ) bazı noktalarda diğerlerinden daha fazla "önem" verebilir ve böylece doğrusal olmayanlar (örneğin düz olmayan alanlar ), ek bilgiler, veri düzgünleştirme vb. İle başa çıkabilir .

Yine bir başka şekilde bir çekirdek, yukarıda belirtilenlerle başa çıkmak için iki veri dizisinin nispi boyutlarını (veya boyut birimlerini ) değiştirmenin bir yoludur .

Üçüncü bir şekilde (önceki iki ile ilgili olarak), bir çekirdek, verilen bilgileri veya kriterleri (örn. Kavisli alan, eksik veri, veri) dikkate alarak bir veri dizisini diğerine 1'e 1 şekilde eşlemek veya yansıtmak için bir yoldur. yeniden sipariş ve benzeri). Bu nedenle örneğin belirli bir çekirdek, 1'e 1'i diğerine sığdırmak veya eşlemek için bir veri dizisini gerebilir veya daraltabilir veya kırpabilir veya bükebilir .

Bir çekirdek " en iyi şekilde uyması " için bir Procrustes gibi hareket edebilir


Bence, çekirdek yoğunluğu tahmini anlamında çekirdeklerden söz ediyor olabilirsiniz, SVM'lerde kullanılan pozitif-yarı kesin Mercer çekirdekleri ve ilgili yöntemler.
Dougal

@Dougal, bu cevabın anlamında çekirdek, verileri belirli bir şekilde ilişkilendirmek veya belirli veri özelliklerinden yararlanmak için kullanılan bir tartı işlevi veya ölçüsüdür, bu nedenle SVM çekirdek yöntemleri de kapsanmaktadır
Nikos M.
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.