Destek Vektör Makineleri hala nişlerinde “en son teknoloji” sayılıyor mu?


58

Bu soru, başka bir soruda gördüğüm yoruma cevap olarak geliyor.

Yorum, Coursera'daki Makine Öğrenimi kursu müfredatıyla ve “SVM'ler bugünlerde çok fazla kullanılmamaktadır”.

İlgili dersleri yeni bitirdim ve SVM'leri anlamam, sınıflandırma için sağlam ve verimli bir öğrenme algoritması olduklarını ve bir çekirdek kullanırken, belki de 10 ila 1000 arasında bir dizi özelliğe sahip bir "niş" değerine sahip olmalarıdır. Eğitim örneklerinin sayısı belki 100 ila 10,000'dir. Eğitim örnekleri üzerindeki sınır, temel algoritmanın, orijinal özelliklerin sayısını değil, eğitim örneklerinin sayısını temel alan boyutlara sahip bir kare matristen elde edilen sonuçları optimize etme etrafında dönmesidir.

Öyleyse gördüğüm yorum, kursun yapıldığı günden bu yana gerçek bir değişime işaret ediyor mu? Öyleyse, bu değişiklik neydi: SVM'nin "tatlı noktasını" da kapsayan yeni bir algoritma, SVM'nin hesaplama avantajlarının değmeyeceği anlamına gelen daha iyi CPU'lar ? Veya yorumcunun fikri ya da kişisel deneyimi olabilir mi?

Örneğin, "modası olmayan destek vektör makineleri" diye bir arama yapmaya çalıştım ve başka hiçbir şeyin lehine bırakılmalarını ima edecek hiçbir şey bulamadım.

Ve Vikipedi'de bu var: http://en.wikipedia.org/wiki/Support_vector_machine#Issues . . . Ana yapışma noktasının modeli yorumlamanın zor olduğu görülüyor. Bu da kara kutu tahmin eden bir motor için SVM'yi daha iyi hale getirir, ancak içgörü oluşturmak için iyi değildir. Bunu ana mesele olarak görmüyorum, iş için doğru aracı seçerken göz önünde bulundurulması gereken başka bir küçük şey (eğitim verilerinin niteliği ve öğrenme görevi vb. İle birlikte).



6
Anlamadım - bu CrossValidated'te yayınlanması gereken bir soru değil mi? DataScience ve CrossValidated arasında nereye gittiği konusunda kafam karışmaya devam ediyorum.
15

@fnl: svms, daha az matematiksel olarak "saf" tasarımlı çözümlerin sınıflandırıcıları olarak bazı rekabetlere sahiptir, bu nedenle DataScience'ın burada karşılaştırma yapmak için daha iyi bir konumda olduğunu düşünüyorum. Her ne kadar kafanı karıştırsam da!
Neil Slater

Yanıtlar:


46

SVM güçlü bir sınıflandırıcıdır. Bazı güzel avantajları var (sanırım popülaritesinden sorumluydu) ... Bunlar:

  • Verimlilik: Sınıflandırma sınırının belirlenmesinde sadece destek vektörleri rol oynar. Eğitim setindeki diğer tüm noktaların hafızaya kaydedilmesine gerek yoktur.
  • Çekirdeklerin sözde gücü: Uygun çekirdeklerde, özellik alanını daha yüksek bir boyuta dönüştürebilirsiniz, böylece doğrusal olarak ayrılabilir hale gelir. Çekirdek kavramı, içsel ürünler yardımıyla bazı benzerlik kavramlarını tanımlayabileceğiniz keyfi nesnelerle çalışır ... ve böylece SVM'ler ağaçlar, grafikler vb. Gibi keyfi nesneleri sınıflandırabilir.

Bazı önemli dezavantajları da var.

  • Parametre hassasiyeti: Performans, modelde biraz farklılık sağlayan normalleştirme parametresi C'nin seçimine oldukça duyarlıdır.
  • Gauss çekirdeği için ekstra parametre: Gauss çekirdeğinin yarıçapı, sınıflandırma doğruluğu üzerinde önemli bir etkiye sahip olabilir. Tipik olarak en uygun parametreleri bulmak için bir ızgara araştırması yapılmalıdır. LibSVM şebeke arama desteği veriyor.

SVM'ler genellikle "Seyrek Çekirdek Makineleri" sınıfına aittir. SVM durumunda seyrek vektörler, maksimum marj kriterinden seçilen destek vektörleridir. Alaka Vektörü Makinesi (RVM) gibi diğer seyrek vektör makineleri SVM'den daha iyi performans gösterir. Aşağıdaki şekilde, ikisinin karşılaştırmalı performansı gösterilmektedir. Şekilde, x ekseni iki sınıftan bir boyutlu veriyi gösterir y = {0,1}. Karışım modeli P (x | y = 0) = Unif (0,1) ve P (x | y = 1) = Unif (.5,1.5) (Unif düzgün dağılım gösterir) olarak tanımlanır. Bu karışımdan 1000 nokta örneklenmiş ve postereri tahmin etmek için bir SVM ve bir RVM kullanılmıştır. SVM'nin sorunu, öngörülen değerlerin gerçek log oranlarından uzak olmasıdır.

RVM ve SVM

Günümüzde çok popüler olan çok etkili bir sınıflandırıcı, rastgele ormandır . Başlıca avantajları:

  • Ayarlanacak yalnızca bir parametre (örn. Ormandaki ağaç sayısı)
  • Tamamen parametreye duyarlı değil
  • Birden fazla sınıfa kolayca genişletilebilir
  • Olasılık ilkelerine dayanır (karar ağaçları yardımıyla karşılıklı bilgi kazanımını maksimize etmek)

4
Aşırı derecede kritik olmak istemem ama SVM'ler verimli değil. Çoğu durumda kübik bir karmaşıklığa sahiptirler, bu yüzden birçok fazlamanın gerçekleştiği görülmektedir.
indico,

2
evet, standart yakınsama yöntemleri O (n ^ 3) alıyor ... ama sanırım bir yerlerde (T. Joachims'in ana sayfasından olabilir) O'ya düşürüldüğünü gördüm (n ^ 2)
Debasis

4
En pratik problemler için @indico çekirdeği SVM eğitim karmaşıklığı ikinci dereceden daha yakındır. Platt'ın kübik SMO'si bir süredir kullanılmıyor. Bu gerçekten büyük veri setleri için hala çok yüksek, ama canlandırdığın kadar kötü değil. Linear SVM, sublinear karmaşıklığı ile oldukça verimlidir.
Marc Claesen

SVM'lerin diğer avantajları: 1) İç çalışmaları, veri analizine daha az aşina olan insanlar tarafından iyi bir şekilde hayal edilebilir. [ve daha az ölçüde: (non veri bilimi) uzmanı tarafından gerçek zamanlı interaktif geribildirim gerekiyorsa 2), doğrusal SVM'lerin daha hızlı bir seçenek olabilir - uzmanlar tarafından daha iyi eğitim neden olur.]
tsttst

2
Rastgele Ormanlarda tipik olarak, ağaç başına maksimum özellik sayısı ve maksimum derinlik gibi başka hiperparametreler bulunur. Ayrıca, SVM'lerin kaynak kısıtlı ortamlarda üretime geçirilmesinin kolay olduğunu belirtmek önemlidir - modeli puanlamak için çok fazla hafızaya ihtiyaçları yoktur.
David Anderson,

8

Bu soruyu cevaplarken, yapmamız gereken önemli bir ayrım, doğrusal Destek Vektör Makineleri hakkında mı yoksa doğrusal olmayan , yani çekirdeklendirilmiş Destek Vektör Makineleri'nden mi bahsettiğimizdir.

Doğrusal SVM'ler

Lineer SVM'ler hem verilerinizin hem de özelliklerin doğrusal ilişkileri ile açıklanabildiği zaman hem teoride hem de pratikte çok iyi modellerdir. Doğrusal (yani en küçük kareler) regresyon gibi klasik yöntemlerden daha üstündürler, çünkü sağlamdırlar , çünkü girdi verilerindeki küçük bozulmalar modelde önemli değişiklikler yapmazlar. Bu, veri noktalarınız arasındaki boşlukları en üst seviyeye çıkaran çizgiyi (hiper düzlem) bulmaya çalışılarak elde edilir . Bu maksimum marj hiper düzleminin, modelin görünmeyen veri noktaları üzerinden genelleme kabiliyetine dair güvence verdiği, diğer makine öğrenme yöntemlerinin eksik olduğu teorik bir özellik olduğu gösterilmiştir.

Doğrusal SVM'ler, diğer her lineer model olarak da yorumlanabilir, çünkü her bir giriş özelliği, model çıktısını doğrudan etkileyen bir ağırlığa sahiptir.

Ayrıca doğrusal SVM'lerin eğitimi çok hızlıdır ve çok büyük veri kümeleri için sublineal eğitim süreleri gösterir. Bu, mevcut derin öğrenme yöntemlerinin modası olan stokastik gradyan iniş tekniklerinden yararlanılarak elde edilir.

Doğrusal olmayan SVM'ler

Doğrusal olmayan SVM'ler hala doğrusal modellerdir ve aynı teorik faydalara sahiptirler, ancak bu doğrusal modeli genişletilmiş bir alana inşa etmek için çekirdek numarası denir . Görünür sonuç, elde edilen modelin verileriniz üzerinde doğrusal olmayan kararlar alabilmesidir. Veri noktaları arasındaki benzerlikleri kodlayan özel bir çekirdek sağlayabildiğiniz için, bu tür çekirdeği probleminizin ilgili kısımlarına odaklamak için problem bilgisinden yararlanabilirsiniz. Bununla birlikte, bunu etkin bir şekilde yapmak zor olabilir, bu yüzden genel olarak hemen hemen herkes tak ve çalıştır gauss çekirdeğini kullanır.

Doğrusal olmayan SVM'ler, hangi eğitim verilerinin tahmin için uygun olduğunu ve hangilerinin uygun olmadığını söylediğinden, kısmen yorumlanabilir. Bu, Rastgele Ormanlar veya Derin Ağlar gibi diğer yöntemler için mümkün değildir.

Maalesef doğrusal olmayan SVM'ler yavaş. En gelişmiş algoritma, ikinci dereceden performans gösteren Sıralı Minimal Optimizasyondur ve bir dizi makine öğrenme kütüphanesinde LIBSVM kütüphanesi aracılığıyla yaygın bir şekilde uygulanmaktadır .

Bu yöntemlerin popülerliği

SVM'lerin eskisi kadar popüler olmadıkları doğrudur: Bu, SVM'lerin Random Forests veya Deep Learning yöntemlerine karşı araştırma makaleleri veya uygulamaları için googling ile kontrol edilebilir. Yine de, bazı pratik ayarlarda, özellikle doğrusal durumda faydalıdırlar.

Ayrıca, ücretsiz öğle yemeği teoremi nedeniyle, hiçbir makine öğrenim yönteminin tüm problemlerde diğerlerinden daha üstün olamayacağını unutmayın. Bazı yöntemler genel olarak daha iyi çalışsa da, her zaman çok yaygın olmayan bir yöntemin daha iyi sonuçlar elde edeceği veri kümelerini bulacaksınız.

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.