2015-07-01 11 views
6

Matlab'da SVM'lerde yeniyim ve bununla ilgili biraz yardıma ihtiyacım var.Matlab'da SVM: Fonksiyonda 'kutu kısıtlaması' anlamı fitcsvm

İstatistik Araç Kutusu'ndaki yapı fitcsvm işlevini kullanarak bir destek vektör makinesini eğitmek istiyorum. Elbette SVM'nin nasıl eğitileceğini kontrol eden birçok parametre seçeneği vardır.

Matlab yardımı, parametrelerin daha iyi bir eğitim sonucunu nasıl arşivlediği konusunda bir litte bit ücretidir. Özellikle 'Box Contraint' parametresi, seçilen destek vektörlerinin sayısı ve genelleme kalitesi üzerinde önemli bir etkiye sahip gibi görünmektedir.

Yardım (http://de.mathworks.com/help/stats/fitcsvm.html#bt8v_z4-1) diyor

aşırı oturma (düzenlenişi) önlenmesinde bir margin-ihlal gözlemlere dayatılan maksimum ceza denetleyen parametre ve yardımcıları.

Kutu kısıtlamasını artırırsanız, SVM sınıflandırıcısı daha az destek vektörü atar. Bununla birlikte, kutu kısıtının artırılması daha uzun eğitim sürelerine yol açabilir.

Bu parametre tam olarak nasıl kullanılır? the Wikipedia referansında aynı ya da yumuşak marj faktörü C gibi bir şey mi var? Ya da tamamen farklı bir şey?

Yardımlarınız için teşekkürler.

cevap

11

Kesinlikle doğru yoldasınız. fitcsvm belgesindeki (soruya gönderdiğiniz gibi) belgelerindeki açıklama çok kısa olsa da, MATLAB belgesindeki Understanding Support Vector Machines sitesine bir göz atmalısınız. Ayrılamaz durumda (genellikle Soft-Margin SVM olarak adlandırılır), bir C ceza faktörünün maliyetine göre yanlış sınıflandırmalar yapılmasına izin verilir. SVM matematiksel formülasyonu şu şekilde olur: C ile ağırlıklı bir ceza terimi neden gevşek değişken s_i ile

SVM Minimization Problem

. C ürününün büyük olması, daha sert bir ayırım yapılmasına yol açan yanlış sınıflandırmaların ağırlığını artırır. Bu faktör , numaralı kutu kısıtlaması olarak kutu kısıtlaması olarak adlandırılır. Bu adın sebebi, ikili optimizasyon probleminin formülasyonunda, Langrange çarpanlarının [0,C] aralığından sınırlandırılmasıdır. C, bu nedenle Lagrange çarpanları üzerinde bir kutu kısıtlaması oluşturur.

tl; dr tahmininiz doğruydu, C yumuşak marjda SVM.

+0

çok teşekkür ederim! – cahilx

+0

Teşekkür ederim ... kutu kısıtlaması için en iyi değerle ilgili ipucu? – user836026

+0

@ user836026 Bunun için en iyi 1 değere sahip olmak mümkün değildir. SVM'nizin performansını optimize etmek için genellikle kutu kısıtlamasını ayarlayacaksınız. Bazı iyi ayrıntılar MATLAB makalesinde [SVM'leri Anlamak] (http://mathworks.com/help/stats/support-vector-machines-svm.html) verilmiştir. – hbaderts