Ich bin relativ neu in SVM, ich versuche, Ein-Klasse-SVM-Modell mit 'Fitcsvm' Funktion in Matlab zu trainieren. 'rbf' (~ gaussian kernel) Kernel-Funktion wird verwendet.Beschleunigen SVM (Model trainig)
Meine Datengröße beträgt etwa 150k. leider ist die Modell Trainingszeit langsam (ca. 3 min). Ich benutze die folgende Zeile in Matlab zum Trainieren eines SVM-Modells
SVMModel = fitcsvm (X, y, 'KernelScale', 'auto', 'Standardisieren', wahr, 'KernelFunction', 'rbf', 'Nu' , 1);
X n * m Matrix, wobei in der Anzahl der Datenpunkte (~ 150K) und m die Eigenschaften Zahl ist (= 2-Funktionen)
Y ist die Daten lable, wobei i trainiere ein Ein-Klassen-Modell y = one (n, 1);
Irgendwelche Tipps/Vorschläge zur Beschleunigung des Modells Trainingsschritt?
Dank
Dies ist sehr breit! Beachten Sie, dass kernelSVM zwischen O (n^2) und O (n^3) komplexitätsorientiert ist (n = n_samples, hängt vom Caching ab). Ich bin mir nicht sicher, ob diese Implementierung libsvm intern verwendet (sie erwähnen eines dieser libsvm Papiere; aber nicht das, was ich erwartet habe), also wirst du etwas gewinnen, indem du libsvm irgendwie verwendest. – sascha
In meiner persönlichen Erfahrung ist die Matlab-Integration von [LibSVM] (https://www.csie.ntu.edu.tw/~cjlin/libsvm/) viel schneller als die eingebaute fitcsvm. –
Danke Sascha und Vahe LibSVM funktioniert gut Grüße; – Jason