Çekirdek lojistik regresyon vs SVM


32

Herkesin bildiği gibi, SVM çekirdek noktaları kullanarak veri noktalarını daha yüksek boşluklara yansıtır, böylece noktalar doğrusal bir boşlukla ayrılabilir. Ancak, çekirdek sınırında bu sınırı seçmek için lojistik regresyon kullanabiliriz, bu nedenle SVM'nin avantajları nelerdir? SVM, yalnızca bu destek vektörlerinin öngörme sırasında katkı sağladığı seyrek bir model kullandığından, bu durum SVM'yi öngörmede daha hızlı hale getirir mi?


1
Hastie'nin slaytları aradığınız şey
Yibo Yang

Yanıtlar:


28

KLR'ler ve SVM'ler

  1. Sınıflandırma performansı her iki durumda da neredeyse aynıdır.
  2. KLR sınıf olasılıkları sağlayabilirken, SVM deterministik bir sınıflandırıcıdır.
  3. KLR'nin çok sınıflandırma sınıflamasına doğal bir uzantısı vardır; SVM'de ise bunu çok sınıflandırma sınıflamasına genişletmenin birden fazla yolu vardır (ve diğerleri üzerinde kesinlikle üstün niteliklere sahip bir versiyonun olup olmadığı hala bir araştırma alanıdır).
  4. Şaşırtıcı veya şaşırtıcı olmayan bir şekilde KLR, SVM'lerin tadını çıkardığı optimum marj özelliklerine de sahiptir (en azından limitte)!

Yukarıya baktığımızda, neredeyse çekirdek lojistik regresyonu gibi hissetmeniz gerekir. Bununla birlikte, SVM'lerin tadını çıkarmasının bazı avantajları vardır.

  1. O(N3)O(N2k)k
  2. SVM'deki sınıflandırıcı, sadece destek vektörleri cinsinden tanımlanacak şekilde tasarlanırken, KLR'de sınıflandırıcı sadece destek vektörleri yerine tüm noktalar üzerinde tanımlanır. Bu, SVM'lerin KLR için elde edilmesi zor olan bazı doğal hızlandırmaların (verimli kod yazma) keyfini çıkarmasını sağlar.

7
+1 Hesaplamalı karmaşıklık bir sorunsa, eğitim setindeki düzenli kaybı veya diğer yaklaşımları en aza indirgemek için temel vektörleri açık bir şekilde seçerek seyrek bir çekirdek lojistik regresyon modeli oluşturmak çok zor olmasa da ekleyeceğim. Örneğin, "Bilgilendirici Vektör Makinesi" ndeki makalelere bakın.
Dikran Marsupial

4
Ayrıca, bir SVM'nin çekirdek ve düzenlileştirme parametrelerini optimize ederseniz, neredeyse tüm verinin destek vektörleri olduğu bir model elde edersiniz. SVM'lerin seyrekliği mutlu bir kazaydı, başka yöntemlerle daha fazla seyreklik elde etmek genellikle mümkün olduğu için tekniğin gerçekten iyi bir satış noktası değildir.
Dikran Marsupial

1
@DikranMarsupial Bilgilendirici Vektör Makinesi'ne gösterici için teşekkürler. Sparse KLR'deki bazı çalışmaları biliyorum ama şu ana kadar hiçbirinin büyük veri kümeleri için iyi ölçeklendiğini sanmıyorum. Her iki şekilde de, libSVM veya SVM Light gibi kullanıcı dostu olan seyrek bir KLR uygulamasının piyasaya sürülmesi, benimsenmesinde uzun bir yol kat edebilir. Böyle bir uygulama zaten mevcutsa özür dilerim, ancak bunun farkında değilim. (EDIT: "Bilgilendirici vektör makinesi" yerine "İthal vektör makinesi" anlamına mı
geliyorsunuz

2
Destek vektörleri olarak tüm veri noktalarıyla sona eriyorsanız, o zaman aşırı uyuyor demektir. Bu, RBF ile birçok kez olur. Aslında, bir SVM kullanıcısı olarak öğrendiğim temel şeylerden biri, her şeyden önce, destek vektörleri olarak seçilen noktaların oranını kontrol etmektir. Verilerin% 30'undan fazla bir şeyse, bu modeli doğrudan reddediyorum.
TenaliRaman

3
Tüm veri noktalarının SV olması doğru değildir. C'nin değeri küçükse, gevşek değişkenlerde çok az ceza vardır, o zaman çok yumuşak bir sınıflandırıcıya sahip olabilirsiniz (antrenman setinde birçok hata yapar) ve kenar boşluğu o kadar geniştir ki tüm veriler destek vektörleridir. Seyrek olmayan modellerin reddedilmesi, en iyi genelleme performansına sahip SVM'nin seyrek olmadığından bazen iyi bir kural değildir. SVs sayısı bir-bir-dışa çıkma hatası üzerine bir üst sınırdır, ancak genellikle gerçekten çok kaybedilen bir sınırdır!
Dikran Marsupial

15

İşte benim konuyla ilgili benim görüşüm:

SVM'ler sınıflandırma yapmanın çok şık bir yoludur. Güzel bir teori var, güzel bir matematik var, genelleşiyorlar ve çok yavaş değiller. Gerçi regresyon için onları kullanmaya çalışın ve dağınık olur.

  • İşte SVM regresyonu üzerine bir kaynak . Titremeye ekstra parametreler ve optimizasyon algoritmaları hakkında derinlemesine tartışma dikkat edin.

Gauss Süreci Regresyonu, aynı çekirdek matematiğinin bir çoğuna sahiptir ve regresyon için harika çalışıyor. Yine, çok zarif ve çok yavaş değil. Onları sınıflandırma için kullanmaya çalışın ve oldukça iğrenç hissetmeye başlar.

  • İşte GP kitaptan regresyon hakkında bir bölüm .

  • İşte bir bölüm karşılaştırma için sınıflandırılmasına. Bazı karmaşık yaklaşımlar veya yinelemeli bir yöntemle sonuçlandığına dikkat edin.

Yine de sınıflandırma için GP'leri kullanma ile ilgili güzel bir şey, basit bir evet / hayır sınıflandırması yerine, size tahminli bir dağılım sağlamasıdır.


2
+1 GP'ler KLR'ye iyi bir alternatiftir (KLR genellikle daha iyi performans gösterse de, kanıta dayalı model seçimi, yanlış bir model varsa, kolayca yanlış gidebilir) ve çapraz doğrulama genellikle tercih edilir.
Dikran Marsupial

7

lütfen http://www.stanford.edu/~hastie/Papers/svmtalk.pdf adresini ziyaret edin.

Bazı sonuçlar: Sınıflandırma performansı çok benzerdir. Optimum marj özelliklerini sınırlandırır. Sınıf olasılıklarının tahminlerini sağlar. Genellikle bunlar sınıflandırmalardan daha faydalıdır. Kernel multi-logit regresyon ile doğal olarak M sınıfı sınıflandırmasına yaygınlaştırır.

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.