2016-05-26 27 views
6

Makine öğrenim alanında yeni ve şu anda en yaygın öğrenme algoritmalarının nasıl çalıştığını ve bunların her birini ne zaman uygulayacağını anlamaya çalışıyorum. Şu anda Support Vector Machines'in nasıl çalıştığını ve özel çekirdek işlevleriyle ilgili bir sorum olduğunu öğreniyorum.
Web üzerinde SVM'ler için daha standart (doğrusal, RBF, polinom) çekirdekler hakkında birçok bilgi vardır. Bununla birlikte, özel bir çekirdek işlevi için gitmenin makul olduğunu anlamak istiyorum. Sorularım:SVM için özel çekirdekler, ne zaman uygulanacak?

1) SVM'ler için diğer olası çekirdekler nelerdir?
2) Hangi durumda özel çekirdekler uygulanır?
3) Özel çekirdek, SVM'nin tahmin kalitesini önemli ölçüde artırabilir mi?

cevap

8

1) SVM'ler için diğer olası çekirdekler nelerdir?

bu sonsuz sayıda vardır, (ayrıntılı olmaktan uzaktır olan) pykernels uygulanan olanların örnek listesi için

  • Polinom

    https://github.com/gmum/pykernels

    • Doğrusal bkz
    • RBF
    • Kosinüs benzerliği
    • Üstel
    • Laplace
    • Rasyonel kuadratik
    • Ters Multikuadratik
    • Cauchy
    • T-Öğrenci
    • ANOVA
    • Katkı Ki^2
    • Ki^2
    • minmaks
    • Min/Histogram aralığı ction
    • Genelleştirilmiş histogram kesişimi
    • Kamalı
    • Sorensen
    • Tanimoto
    • Dalgacık
    • Fourier
    • Log (GBM)
    • Güç (GBM)

    2) Hangi durumda özel çekirdekler uygulanır? İki durumda da Temelde

    : - Bir bunu dejenere sahip geleneksel tanelerini uygulamak için

    • "basit" olanlar çok kötü sonuçlar
    • verileri vermek yüzden bazı anlamda spesifik ve olduğunu.Örneğin, verileriniz bir grafik biçiminde ise, grafik sabit boyutlu bir vektör olmadığı için RBF çekirdeği uygulayamazsınız, bu nedenle bir tür bilgi kaybeden projeksiyon olmadan bu nesneyle çalışmak için bir grafik çekirdeğine ihtiyacınız vardır. Ayrıca bazen veriler hakkında bilgi sahibi olursunuz, sınıflandırıcıya yardımcı olabilecek bazı temel yapıları bilirsiniz. Buna bir örnek size verilerdeki etkisini recuring bir tür olduğunu biliyoruz, dönemselliğin - sonra belirli bir kernel arayan değer olabilir vs.

    3) özel esasen çekirdek tahmin kalitesini artırmak Can SVM?

    Evet, özellikle her zaman olduğu gibi tanımlanan bir (hypothethical) Bayes optimum çekirdek, var : başka bir deyişle

    K(x, y) = 1 iff arg max_l P(l|x) == arg max_l P(l|y) 
    

    biri gerçek olasılık P varsa (l | x) etiket l x noktasına atandığında, veri noktalarınızı en muhtemel etiketlerinin bir-sıcak kodlamasıyla eşleştiren bir çekirdek oluşturabiliriz, böylece Bayes optimal sınıflandırmasına yol açar (Bayes riskini alacağından). Pratikte, bu tür bir çekirdeği elde etmek elbette ki imkansızdır, çünkü probleminizi zaten çözdünüz demektir. Bununla birlikte, "optimal çekirdek" kavramının olduğunu ve açıkça, klasik olanların hiçbirinin bu türden olmadığını (verilerinizin basit dağıtımlardan kaynaklanmadığı sürece) gösterdiğini gösterir. Dahası, her çekirdek bir dizi önceden karar verme fonksiyonudur - indüklenen aile fonksiyonlarınızla gerçek olana yaklaştığınızda - SVM ile makul bir sınıflandırıcı elde etmek daha olasıdır.

  • +0

    Cevabınız için teşekkürler - Ben sadece yukarıdaki yerine sadece bir öğle yemeği vermekten mutluluk duyuyordum. Çekirdeğe özgü veri yapısı (örneğin, değişen vektör uzunluklarına sahip grafik) hakkındaki içgörü ilginçti. – javadba