Destek Vektör Makineleri için ne tür öğrenme problemleri uygundur?


16

Belli bir öğrenme probleminin destek vektör makineleri kullanılarak ele alınabileceğini gösteren işaretler veya özellikler nelerdir?

Başka bir deyişle, bir öğrenme problemi gördüğünüzde, sizi “ahlaksız ağlar veya karar ağaçları ya da başka bir şey yerine“ bunun için kesinlikle SVM kullanmalıyım? ”


SVM'ler denetimsiz öğrenme sorunlarındasupervised learning da kullanılabileceğinden etiketi kaldırıldı .
Dawny33

SVM'nin denetimsiz sorun için nasıl kullanılabileceğini ve hangi paketin uyguladığını açıklayabilir mi?
GeorgeOfTheRF

@ML_Pro Lütfen yorumuma eklediğim bağlantıyı gözden geçirin.
Dawny33

3
@ Dawny33, SVM'lerin gözetimsiz öğrenmeye uygulanması kural değil istisnadır. SVM'ler denetimli bir öğrenme yöntemidir.
AN6U5

1
@ AN6U5 Bilgilendirdiğiniz için teşekkürler :) exceptionYani, bu sadece bir tweak ve kongre değil, değil mi?
Dawny33

Yanıtlar:


7

SVM sınıflandırma (birkaç grup veya sınıf arasında ayrım) ve regresyon (bir şeyi tahmin etmek için matematiksel bir model elde etme) için kullanılabilir. Hem doğrusal hem de doğrusal olmayan problemlere uygulanabilirler.

2006 yılına kadar bunlar makine öğrenimi için en iyi genel amaçlı algoritma idi. En bilinen algoritmaların birçok uygulamasını karşılaştıran bir makale bulmaya çalışıyordum: svm, sinir ağları, ağaçlar, vb. Üzgünüm bulamadım (bana inanmanız gerekecek, kötü bir şey). Bu makalede, kütüphane libsvm ile en iyi performansı alan algoritma svm idi.

2006 yılında Hinton derin öğrenme ve sinir ağları ile geldi. Sanatın mevcut durumunu en az% 30 oranında geliştirdi, bu büyük bir gelişme. Bununla birlikte, derin öğrenme sadece büyük eğitim setleri için iyi bir performans elde eder. Küçük bir eğitim setiniz varsa svm kullanmanızı öneririm.

Ayrıca burada scikit-learn ile farklı makine öğrenme algoritmalarının ne zaman kullanılacağı hakkında yararlı bir infografik bulabilirsiniz . Ancak, bildiğim kadarıyla, bilimsel topluluk arasında bir sorunun X, Y ve Z özellikleri olup olmadığı konusunda bir anlaşma yoktur, o zaman svm kullanmak daha iyidir. Farklı yöntemler denemenizi öneririm. Ayrıca, svm veya nöral ağların sadece bir model hesaplamak için bir yöntem olduğunu unutmayın. Kullandığınız özelliklerin yanı sıra çok önemlidir.


1
@HoapHumaboid SVC ve SVR'yi biliyorum ve SVM'leri NLP'lere uygulamak için Çekirdekleri kullanabileceğimizi ve SVM'leri diğer öğrenme algoritmalarıyla karşılaştıran belgelerin farkındayım ... bir SVM ile ele alınması gerektiği açıktır. Başka bir deyişle, bir öğrenme problemi gördüğünüzde sizi “ah, NN'ler veya Karar ağaçları ya da başka bir şey yerine, bunun için kesinlikle SVM kullanmalıyım”
Ragnar

@Ragnar lütfen düzenlenmiş yanıtıma bakın
hoaphumanoid

2

Bir sınıflandırma ortamında olduğumuzu varsayalım.

İçin svmözellik mühendisliği taşıdır:

  • setler doğrusal olarak ayrılabilir olmalıdır. Aksi takdirde verilerin dönüştürülmesi gerekir (örneğin Çekirdekler kullanılarak). Bu, algo'nun kendisi tarafından yapılmaz ve özelliklerin sayısını patlatabilir.
  • svmBoyutların sayısını diğer yöntemlerden (ağaç topluluğu) daha hızlı artırdığımız için performansın düştüğünü söyleyebilirim . Bunun nedeni, svms'yi destekleyen kısıtlı optimizasyon problemidir . Bazen özellik azaltımı uygulanabilir, bazen değil ve bu, etkili bir kullanımın yolunu gerçekten açamadığımız zamandır.svm
  • svmmuhtemelen özellik sayısının gözlem sayısından çok daha büyük olduğu bir veri kümesiyle mücadele edecektir. Bu yine kısıtlı optimizasyon problemine bakılarak anlaşılabilir.
  • kategorik değişkenler svmalgoritma tarafından kutudan çıkarılmaz .
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.