2012-02-21 5 views

Odpowiedz

15

"Zmienna luzu" to C w c-svm i nu w nu-SVM. Obie te funkcje pełnią tę samą funkcję w swoich odpowiednich formulacjach - kontrolując kompromis pomiędzy szerokim marginesem i błędem klasyfikatora. W przypadku C, ogólnie przetestuj go w rzędach wielkości, powiedzmy 10^-4, 10^-3, 10^-2, ... do 1, 5 lub więcej. nu to liczba od 0 do 1, ogólnie od .1 do .8, która kontroluje stosunek wektorów nośnych do punktów danych. Kiedy nu wynosi .1, margines jest mały, liczba wektorów wsparcia będzie niewielkim odsetkiem liczby punktów danych. Gdy nu wynosi 0,8, margines jest bardzo duży, a większość punktów spadnie na margines.

Pozostałe kwestie do rozważenia to wybór jądra (liniowy, RBF, sigmoid, wielomian) oraz parametry dla wybranego jądra. Generalnie trzeba dużo eksperymentować, aby znaleźć najlepszą kombinację parametrów. Należy jednak uważać na dopasowanie do zbioru danych.

Burges pisał wielki poradnik: A Tutorial on Support Vector Machines for Pattern Recognition

Ale jeśli w większości po prostu chcesz wiedzieć, jak go używać, a mniej o tym, jak to działa, przeczytaj "A Practical Guide to Support Vector Classication" by Chih-Wei Hsu, Chih-Chung Chang, and Chih-Jen Lin (autorów libsvm)

1

Najpierw zdecyduj, który typ SVM zamierzasz użyć: C-SVC, nu-SVC, epsilon-SVR lub nu-SVR. Moim zdaniem, musisz zmieniać C i gamma przez większość czasu ... reszta jest zazwyczaj ustalona.

+0

używam C-SVC – Hossein

+0

spójrz na opcje znajdujące się w linku w pytaniu ... istnieje również przykład ... np. -s 0 -c 10 -t 1 -g 1 -r 1 -d 3 – lakesh

+0

poza tym, u shld również przeczytaj folder README zapewnił ... jest bardzo rozbudowany i dobrze napisany ... – lakesh

Powiązane problemy