SVM'yi takarken neden ikili problemle uğraşıyorsunuz?


50

Veri noktaları göz önüne alındığında ve etiketler y 1 , ... , Y , n{ - 1 , 1 } , sert kenar SVM asli bir sorundurx1,,xnRdy1,,yn{1,1}

s.t.

minimizew,w012wTw
s.t.i:yi(wTxi+w0)1

Bu, değişkenleri için optimize edilebilecek ikinci dereceden bir programdır ve i kısıtlamaları. Çiftd+1i

s.t.

maximizeαi=1nαi12i=1nj=1nyiyjαiαjxiTxj
olan bir kuadratik program , n + 1 ve optimize edilmesi değişken n eşitsizliği ve n, eşitlik kısıtlamaları.
s.t.i:αi0i=1nyiαi=0
n+1nn

Sert marjlı bir SVM uygularken, neden birincil problem yerine ikili problemi çözeyim? İlk sorun benim için daha sezgisel görünüyor ve kendimi dualite boşluğu, Kuhn-Tucker durumu vb. İle ilgilenmem gerekmiyor.

Bu ise ikili sorunu çözmek için bana mantıklı olur , ama daha iyi nedenler vardır şüpheli. Bu böyle mi?dn


26
Kısa cevap çekirdeklerdir. Uzun cevap keeerneeels (-;

İkili problemin en önemli özelliği, orijinal veriyi daha yüksek boyutlu uzayda haritalandırmayı amaçlayan çekirdek hilesini tanıtmaktır.
BigeyeDestroyer

Yanıtlar:


40

@ User765195'in cevabında (teşekkürler!) Belirtilen ders notlarına dayanarak en belirgin nedenler şöyle görünür:

wαixwTxd

αiαi=0x

wTx+w0=(i=1nαiyixi)Tx+w0=i=1nαiyixi,x+w0

Yalnızca birkaç destek vektörü varsa , bu terim çok verimli bir şekilde hesaplanır . Dahası, artık sadece veri vektörlerini içeren bir skaler ürüne sahip olduğumuz için, çekirdek hilesini uygulayabiliriz .


5
Bekleyin bekleyin. İki destek vektörünüzün x1 ve x2 olduğunu varsayalım. İkiden daha azına sahip olamazsın, değil mi? <X1, x> ve <x2, x> işlemlerinin <w, x> den daha hızlı olduğunu mu söylüyorsunuz?
Leo

1
@Leo: <x1, x>ve kullandığımı unutmayın wTx. İlki, x1 ve x'i çok yüksek boyutlu bir alana yansıtan ve yansıtılan değerlerin skaler çarpımını dolaylı olarak hesaplayan bir çekirdek değerlendirmesi K (x1, x) için bir sembol olarak kullanılır. İkincisi, normal skaler bir üründür, bu yüzden wve xaçıkça öngörülen edilecek gelmiş ve sonra skaler ürün açıkça hesaplanır. Çekirdeğin seçimine bağlı olarak, tek bir açık hesaplama birçok çekirdek değerlendirmesinden çok daha fazla hesaplama yapabilir.
blubb

1
ααα

2
"Ayrıca, artık yalnızca veri vektörlerini içeren bir skaler ürüne sahip olduğumuz için, çekirdek numarasını uygulayabiliriz." - Bu da ilkel formülasyonda doğrudur.
Firebug

2
Eğer millet, @Firebug'dan gelen yorum hakkında daha fazla ayrıntı istiyorsa ... lib.kobe-u.ac.jp/repository/90001050.pdf ( 10-15) 'in (bu ilkelin sınırlandırılmamış bir versiyonu) denklemlerine bakın .
MrDrFenner,


3

İkili formülasyonun sayısal optimizasyon açısından çekici olmasının bir nedeni. Ayrıntıları aşağıdaki makalede bulabilirsiniz :

Hsieh, C.-J., Chang, K.-W., Lin, C.-J., Keerthi, SS, ve Sundararajan, S., “İki boyutlu bir koordinat iniş ölçeği doğrusal SVM yöntemi”, Bildiriler 25. Uluslararası Makine Öğrenimi Konferansı, Helsinki, 2008.

İkili formülasyon, tek bir afin eşitlik kısıtını ve n bağlı kısıtlamaları içerir.

1. Afin eşitliği kısıtı ikili formülasyondan "elimine edilebilir".

Bu, her bir veri noktasına tek bir "1" koordinat eklenmesinden kaynaklanan R ^ (d + 1) 'de R ^ d'nin gömülmesiyle basitçe R ^ (d + 1) içindeki verilerinize bakarak yapılabilir. d ----> R ^ (d + 1): (a1, ..., reklam) | ---> (a1, ..., reklam, 1).

Eğitim setindeki tüm noktalar için bunu yapmak, R ^ (d + 1) 'deki lineer ayrılabilirlik problemini ortadan kaldırır ve w0 sabit terimini sınıflandırıcınızdan kaldırır, bu da afin eşitliği kısıtlamasını ikiliden ortadan kaldırır.

2. Nokta 1'e göre, ikili, kısıtları sadece sınırlı kısıtlamalar olan dışbükey bir ikinci dereceden optimizasyon problemi olarak kolayca kullanılabilir.

3. İkili problem şimdi etkin bir şekilde çözülebilir, yani O'da bir epsilon-optimal çözüm üreten çift koordinatlı bir iniş algoritması ile (log (1 / epsilon)).

Bu, biri hariç tüm alfaların sabitlenmesinin kapalı formlu bir çözüm getirdiğine dikkat çekerek yapılır. Daha sonra tüm alfalar arasında birer birer geçiş yapabilirsiniz (örneğin, bir tanesini rastgele seçerek, tüm diğer alfaları sabitleyerek, kapalı form çözümünü hesaplayarak). Bu sayede, "oldukça hızlı" bir şekilde en uygun çözeltiyi elde edebileceğinizi gösterebilir (yukarıda bahsedilen makalede Teorem 1'e bakınız).

İkili problemin bir optimizasyon bakış açısından çekici olmasının birçok nedeni vardır; bunlardan bazıları, yalnızca birinin eşitlik kısıtlamasına sahip olduğu gerçeğinden yararlanırken (geri kalan kısıtlamaların tümü sınırlı sınırlamalardır), diğerleri ise çözümdeki gözlemden yararlanır İkili problemin "çoğu zaman çoğu alfa" sı sıfırdır (destek vektörlerine karşılık gelen sıfır olmayan alfalar).

Stephen Wright'ın Hesaplamalı Öğrenme Atölyesi'ndeki (2009) sunumu ile SVM'ler için sayısal optimizasyonla ilgili iyi bir genel bakış elde edebilirsiniz .

PS: Ben burada yeniyim. Bu web sitesinde matematiksel gösterimi kullanmakta iyi olmadığım için özür dilerim.


1
Matematik yazımı nasıl kullanılacağı hakkında bilgi burada: math.meta.stackexchange.com/questions/5020/…
Monica

-5

Andrew ng ders notunda bence, 1 / || w || 'in temel probleminin dışbükey olmayan bir problem olduğu açıkça belirtilmiştir. İkili bir dışbükey sorunudur ve dışbükey bir fonksiyonun optimumunu bulmak her zaman kolaydır.


1
SVM primer yukarıda belirtildiği gibi dışbükeydir.
Dougal
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.