Sinir ağları - vektör makinelerini destekler: ikincisi kesinlikle üstün mü?


52

Okuduğum makalelerin çoğu yazarları, SVM'lerin NN'lerle benzer sonuçlar elde edemediklerini bilerek, regresyon / sınıflandırma problemleriyle yüzleşmek için üstün bir teknik olduğunu kabul ediyorlar. Genellikle karşılaştırmalar

NN'ler yerine SVM'ler,

  • Güçlü bir kurucu teori var
  • İkinci dereceden programlama sayesinde global olarak optimum seviyeye ulaşın
  • Uygun sayıda parametre seçmekte sorun yok
  • Fazla giydirmeye daha az eğilimli
  • Tahmini modeli saklamak için daha az hafıza gerekir
  • Daha fazla okunaklı sonuç ve geometrik bir yorum elde edin

Cidden geniş kabul gören bir düşünce mi? Ücretsiz Öğle Yemeği Teoremi ya da benzeri ifadelerden alıntı yapmayın, benim sorum bu tekniklerin pratik kullanımı ile ilgili.

Öte yandan, NN ile kesinlikle hangi soyut probleminle karşı karşıya kalacaksın?


4
Bence soru biraz geniş olabilir. Fakat pratikte NN'ler, NN yapısının seçimi ile çok daha ayarlanabilir gibi gözükse de, SVM'ler daha az parametreye sahiptir. Bir NN, bir problemi çözmek için optimal olarak kurulmuş olsaydı iki soru var, SVM'ye nasıl giderdi? Ve ortalama uygulayıcının elinde, SVM NN ile nasıl karşılaştırılır?
Patrick Caldon

2
@PatrickCaldon Bakış açınızı anlıyorum, ancak başa çıkacak daha fazla parametre her zaman daha iyi bir araç anlamına gelmiyor, eğer bunları uygun bir şekilde nasıl yapılandıracağınızı bilmiyorsanız. Mümkün olsa bile, uzun bir çalışmaya ihtiyaç duyulabilir; veya, uygulamanızın amacı için çok geniş bir ayarlamaya ihtiyaç duymayabilirsiniz
stackovergio

1
bu benim amacım. Hangi soru, araç belirli problemlerde ideal koşullarda nasıl çalışır? veya araç çoğu zaman çoğu insan için nasıl çalışır? Bence buradaki en büyük bileşen btw. Bu nedenle ilgili faktörlerin sık sık olduğunu düşünüyorum: Her bir aracın öğrenmesi ne kadar zor? Nasıl kullanılacağını bilen uzmanlar var mı? Bu, "X’ten iyi bir performans gösterdim" gibi birçok şeyi
açıklayabilir

1
Bildiğim kadarıyla, çok katmanlı feedforward YSA, aktivasyon fonksiyonuna bakılmaksızın, az ya da çok evrensel yönlendiricilerdir. Bilgime daha çok kullanılan çekirdek fonksiyonuna bağlı olan SVM için benzer bir sonuç bilmiyorum.
Momo

2
Pratik kullanımda, NN'leri eğitim süresi nedeniyle biraz daha pratik buluyorum. Doğrusal Olmayan SVM'ler büyük N'yi çok iyi idare edemezler. Her iki algoritma da kullanılabilir ve her ikisi de güçlü bir düzenlileşmeye ihtiyaç duyar.
Shea Parkes,

Yanıtlar:


43

Bu bir takas meselesidir. SVM'lerin vardır içinde YSA'ları eskiden, şimdi de . Sen Rastgele Ormanlar, Olasılık Grafik Modelleri veya parametrik olmayan Bayes yöntemleri iddia gazetelerin yükselen sayıda bulacaksınız içinde. Birisi bir tahmin modeli yayınlamalıdır Improbable Araştırma Annals modelleri kalça dikkate alınacaktır ne.

Pek çok ünlü denetimli problem için en iyi performans gösteren tekli modellerin bazı NN tipleri, bazı SVM tipleri veya sinyal işleme yöntemleri kullanılarak uygulanan probleme özgü bir stokastik gradyan iniş yöntemi olduğunu söylemiştik.


NN'nin Artıları:

  • Destekleyebilecekleri veri türleri konusunda son derece esnektirler. NN'ler, özellikleri manuel olarak elde etmek zorunda kalmadan, temelde herhangi bir veri yapısından önemli özellikleri öğrenmek için iyi bir iş çıkarırlar.
  • NN hala özellik mühendisliğinden faydalanıyor, örneğin bir uzunluk ve genişliğe sahipseniz bir alan özelliğine sahip olmalısınız. Model aynı hesaplama çabası için daha iyi performans gösterecektir.

  • Denetimli makine öğreniminin çoğu, verilerinizi özellikler matrisine göre bir gözlemler halinde, uzunluk gözlemlerinin bir vektörü olarak etiketlerle yapılandırmanızı gerektirir. Bu kısıtlama, NN ile gerekli değildir. Yapılandırılmış SVM ile harika bir iş var, ancak NN'ler kadar esnek olamayacak gibi görünüyor.


SVM'nin Artıları:

  • Daha az hiperparametre. Genellikle SVM'ler makul derecede doğru bir model elde etmek için daha az şebeke araştırması gerektirir. RBF çekirdeğine sahip SVM genellikle oldukça iyi bir performans gösterir.

  • Global optimum garantili.


NN ve SVM Eksileri:

  • Çoğu amaç için ikisi de kara kutulardır. SVM'lerin yorumlanması konusunda bazı araştırmalar var, ancak bunun GLM'ler kadar sezgisel olacağından şüpheliyim. Bu, bazı sorun alanlarında ciddi bir sorundur.
  • Bir kara kutuyu kabul edecekseniz, genellikle farklı takası olan birçok modeli torbalayarak / istifleyerek / artırarak biraz daha fazla doğruluk sıkabilirsiniz.

    • Rastgele ormanlar çekicidir, çünkü fazladan çaba göstermeden çanta dışı tahminler (bir-bir-dış tahminler) üretebilirler, çok yorumlanabilirler, iyi bir önyargı varyans takası (torbalı modeller için harika) ve onlar seçim önyargısına nispeten dayanıklıdır. Paralel bir uygulama yazmak için aptalca basit.

    • Olasılıklı grafik modeller çekicidir çünkü alana özgü bilgiyi doğrudan modele dahil edebilirler ve bu konuda yorumlanabilirler.

    • Parametrik olmayan (veya gerçekten aşırı parametrik) Bayesian yöntemleri, doğrudan güven aralıkları ürettikleri için caziptir. Küçük örneklem büyüklüklerinde ve büyük örneklem büyüklüğünde çok iyi performans gösterirler. Aptalca basit bir doğrusal cebir uygulaması yazmak.


41
Derin öğrenmenin son yükselişiyle birlikte, NN'lerin SVM'lerden “daha ​​fazla” olabileceğini söyleyebilirim.
bayerj

30

Sorunuzun cevabı benim deneyimimde "hayır" dır, SVM'ler kesinlikle üstün değildir ve hangisi en iyisi eldeki veri setinin doğasına ve her araç setiyle operatörün göreceli becerisine bağlıdır. Genel olarak SVM'ler iyidir çünkü eğitim algoritması verimlidir ve sizi düzenlileştirme ve aşırı uydurma hakkında düşünmeye zorlayan bir düzenlileştirme parametresine sahiptir. Bununla birlikte, MLP'lerin SVM'lerden daha iyi performans verdiği veri kümeleri vardır (çekirdek işlevi tarafından önceden belirlenmiş olması yerine kendi iç temsillerine karar vermelerine izin verilir). MLP'lerin (örn. NETLAB) iyi bir şekilde uygulanması ve düzenli hale getirme veya erken durdurma veya mimari seçimi (ya da daha iyisi yine de üçü) genellikle çok iyi sonuçlar verebilir ve tekrarlanabilir (en azından performans açısından) olabilir.

Model seçimi, SVM'lerde ana problemdir, çekirdeğin seçilmesi ve çekirdek ve düzenlenme parametrelerinin optimize edilmesi, model seçim kriterini aşırı derecede optimize ederseniz, genellikle aşırı aşırı uydurmaya neden olabilir. SVM'nin altını çizen teori bir rahatlık olsa da, çoğu yalnızca sabit bir çekirdek için geçerlidir, bu nedenle çekirdek parametrelerini optimize etmeye çalıştığınız anda artık uygulanmaz (örneğin, çekirdeği ayarlamada çözülmesi gereken optimizasyon problemi) genellikle dışbükey değildir ve yerel minimaya sahip olabilir).


7
Buna tamamen katılıyorum. Şu anda beyin-bilgisayar arayüz verileri üzerinde SVM'leri ve YSA'ları eğitiyorum ve SVM'lerin daha iyi olduğu bazı veri setleri ve YSA'ların daha iyi olduğu bazı veri setleri var. İlginç olan şudur: Kullandığım tüm veri kümelerindeki performansı ortaladığımda, SVM'ler ve YSA'lar aynı performansa ulaşıyor. Tabii ki, bu bir kanıt değil. Bu sadece bir fıkra. :)
alfa

27

Arkadaşlarımın çoğu tarafından paylaşıldığı ortaya çıkan fikrimi açıklamaya çalışacağım. NN ile ilgili hiçbir şekilde SVM ile ilgili olmayan endişelerim var:

  1. Klasik bir NN'de, parametre miktarı son derece yüksektir. Diyelim ki, iki sınıfa sınıflandırmak istediğiniz uzunluğu 100 olan vektörlere sahipsin. Giriş katıyla aynı boyutta bir gizli katman, sizi 100000'den fazla serbest parametreye yönlendirecektir. Ne kadar fazla donanıma sahip olabileceğinizi (böyle bir alanda yerel asgari seviyeye düşmenin ne kadar kolay olduğunu) ve bunu önlemek için ne kadar eğitim noktasına ihtiyacınız olacağını (ve daha sonra ne kadar zamana ihtiyacınız olacak) hayal edin.
  2. Genellikle topolojiyi bir bakışta seçebilmek için gerçek bir uzman olmanız gerekir. Bu, iyi sonuçlar elde etmek istiyorsanız birçok deney yapmanız gerektiği anlamına gelir. Bu nedenle SVM kullanmak ve NN ile benzer sonuçlar elde edemediğinizi söylemek daha kolaydır.
  3. Genellikle NN sonuçları tekrarlanamaz. NN eğitiminizi iki kez çalıştırsanız bile, bir öğrenme algoritmasının rastgeleliği nedeniyle muhtemelen farklı sonuçlar alırsınız.
  4. Genelde sonuçların hiçbir yorumu yoktur. Bu küçük bir endişe, ama yine de.

Bu, NN kullanmamanız gerektiği, sadece dikkatlice kullanmanız gerektiği anlamına gelmez. Örneğin, Convolutional NN, görüntü işleme için son derece iyi olabilir, diğer Deep NN, diğer sorunlar için de iyi oldu.

Umarım yardımcı olur.


2
YSA sonuçlarını tekrarlanabilir hale getirmek için, rastgele işlevi tohumlayın.
Franck Dernoncourt

@ Franck Bu gerçek tekrarlanabilirlik değil.
akıl sağlığı

17

Çoğu problem için sinir ağları kullanıyorum. Önemli olan, çoğu durumda kullanıcının deneyimi hakkında modelden daha fazla olmasıdır. NN'leri sevmem için bazı nedenler.

  1. Esnekler. Onlara istediğim kaybı atarım: menteşe kaybı, kare, çapraz entropi, siz adlandırın. Farklılaştığı sürece, ihtiyaçlarıma tam olarak uyan bir zarar bile tasarlayabilirim.
  2. Muhtemel olarak tedavi edilebilirler: Bayes sinir ağları, değişken Bayes, MLE / MAP, her şey orada. (Ancak bazı durumlarda daha zor.)
  3. Onlar hızlı. Çoğu MLP, iki matris çarpımı ve arada bir doğrusal olmayan uygulamalı bileşen olacaktır. Bunu bir SVM ile yendi.

Diğer noktalarından adım adım ilerleyeceğim.

Güçlü bir kurucu teori var

Bence, NN'ler bu durumda eşit derecede güçlü: onları olasılıklı bir çerçevede eğittiğiniz için. Bu, öncekilerin kullanımını ve Bayesian tedavisini (örneğin, varyasyon teknikleri veya yaklaşımlarla) mümkün kılar.

İkinci dereceden programlama sayesinde global olarak optimum seviyeye ulaşın

Bir takım hiperparametreler için. Bununla birlikte, iyi hps arayışı dışbükey değildir ve global optimum da bulup bulamadığınızı bilemezsiniz.

Uygun sayıda parametre seçmekte sorun yok

SVM'lerde, hiper parametreleri de seçmek zorundasınız.

Tahmini modeli saklamak için daha az hafıza gerekir

Destek vektörlerini saklamanız gerekir. SVM'ler genel olarak MLP'leri depolamak için daha ucuz olmayacaktır, duruma göre değişir.

Daha fazla okunaklı sonuç ve geometrik bir yorum elde edin

Bir MLP'nin üst katmanı, sınıflandırma durumunda lojistik bir regresyondur. Bu nedenle, geometrik bir yorum (hiper düzlemi ayıran) ve olasılıklı bir yorum da var.


Neden destek vektörlerini saklamam gerekiyor? SVM'nin hiper düzlemini / maringini depolamak yetmiyor mu?
Julian

Bunun nedeni, hiper düzlemin destek vektörleri ile temsil edilmesidir. Ondan yeni bir noktanın mesafesini hesaplamak için, bunların üzerinde yinelemelisiniz.
bayerj

0

Bazı açılardan bu iki geniş makine öğrenme tekniği kategorisi ilişkilidir. Mükemmel olmasa da, bu tekniklerdeki benzerliklerin gösterilmesinde yardımcı olduğum iki makale aşağıda

Ronan Collobert ve Samy Bengio. 2004. Perceptronlar, MLP'ler ve SVM'ler arasındaki bağlantılar. Makine öğrenimi üzerine yirmi birinci uluslararası konferansın Bildirilerinde (ICML '04). ACM, New York, NY, ABD, 23-. DOI: https://doi.org/10.1145/1015330.1015415

ve

Andras, Peter. (2002). Destek Vektör Makinesinin Denkliği ve Düzenli Sinir Ağları. Sinirsel İşlem Mektupları. 15. 97-104. 10,1023 / A: 1015292818897.

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.