2009-11-10 9 views
16

Conosci qualche buona libreria C++ svm là fuori Ho provato libsvm http://www.csie.ntu.edu.tw/~cjlin/libsvm/ ma finora non sono sbalordito.Conosci bene le librerie SVM (C++ support vector machine) del C++?

Ho anche sentito parlare di SVMLight e TinySVM. Li hai provati? Qualche nuovo giocatore?

Grazie!

+1

libsvm è ottimo, tuttavia, e funziona molto bene. –

+1

Sì, l'ho usato un po 'di più e ora posso dire che funziona abbastanza bene per me, senza bisogno di niente di più divertente :) – levesque

+0

LibSVM e SVMLight sono ben note librerie mature. – mrgloom

risposta

13
  • SVMTorch (support vector machines per problemi di regressione di grandi dimensioni) implementato nella libreria di apprendimento torch macchina.
  • mySVM - basato sull'algoritmo di ottimizzazione di SVM-Light.

È possibile trovare un elenco completo di librerie SVM here.

7

Ho già utilizzato SVMLight e l'ho trovato molto stabile e veloce. Ho avuto una buona esperienza nell'usarlo e lo consiglierei.

Tuttavia, penso che ci sia probabilmente meno documentazione su SVMLight di libSVM; solo i documenti di Thorsten Joachims e i commenti nel codice sorgente. Non ho trovato la fonte troppo difficile da seguire in generale, ma è necessario leggere prima i documenti per capire lo sfondo. È scritto anche in puro C, non in C++, se questo è importante per te.

Per quanto riguarda i "nuovi giocatori", la nuova ricerca è principalmente volta a rendere più efficienti gli algoritmi di ottimizzazione SVM. Ad esempio, utilizzando la discesa del gradiente stocastico come in svmsgd e pegasos. Non ho esaminato le implementazioni di questi algoritmi, ma è un codice di ricerca, quindi non mi aspetto che siano particolarmente facili da seguire, se questa è la tua preoccupazione principale.

1

il modo migliore per iniziare è di leggere la guida libsvm fornite nel sito web, anche, una buona partenza video tutorial su come installare libsvm, e fare ur compito primo trainig/classificazione può essere trovato qui: http://www.youtube.com/watch?v=gePWtNAQcK8 buona fortuna con quello, anche io sto iniziando da questi giorni, risultati abbastanza buoni che ho ottenuto, ma ancora in fase di messa a punto.

2

C'è anche dlib, che è silenzioso completo.

In particolare, ci sono algoritmi per l'esecuzione di classificazione, di regressione, clustering, l'etichettatura sequenza, rilevamento delle anomalie, e dispongono di classifica, così come gli algoritmi per effettuare i calcoli più specializzati.

0

shark

SHARK è una libreria modulare C++ per la progettazione e l'ottimizzazione dei sistemi adattativi. Fornisce metodi per l'ottimizzazione lineare e non lineare, in particolare algoritmi evolutivi e basati su gradiente, algoritmi di apprendimento basati sul kernel e reti neurali e varie altre tecniche di apprendimento automatico. SHARK funge da cassetta degli attrezzi per supportare applicazioni del mondo reale e ricerche in diversi campi dell'intelligenza computazionale e dell'apprendimento automatico. Le fonti sono compatibili con le seguenti piattaforme: Windows, Solaris, MacOS X e Linux.