2010-05-11 6 views
5

Voglio utilizzare SMO (Sequential Minimal Optimization) per addestrare un SVM (Support Vector Machine). Qualcuno può suggerire le librerie C++ esistenti che implementano SMO?Ricerca di librerie che implementano l'ottimizzazione minima sequenziale in C++

Ho intenzione di usarlo per addestrare un SVM per trovare un oggetto in un'immagine (probabilmente un essere umano).

+0

Wow, di solito sono abbastanza tollerante nei confronti dei non madrelingua, ma quella domanda è semplicemente confusa. Sicuramente anche google translate potrebbe fare un lavoro migliore. Per favore riprova, e scrivi SVM e SMO in modo da avere una migliore possibilità di comprendere la domanda. –

+0

Da una rapida ricerca, sembra che ci sia pochissimo codice pubblicato pubblicamente per farlo; la maggior parte delle referenze che ho trovato erano articoli che descrivevano qualcosa di VINCOLANTE fuori dal mio campionato! M. – Max

+0

@Caspin: Non ho avuto molta difficoltà a leggerlo, ma la maggior parte della mia comprensione si basa sul fatto di avere su google SMO per capire di cosa stava parlando. E c'erano troppi articoli SQL indipendenti: /. Bene, ora è in inglese normale. – Brian

risposta

4
  1. Visita this CiteSeer page.
  2. Fare clic su "Visualizza o scarica".
  3. Copia/incolla o altrimenti estrae codice C++ dalla sezione di implementazione (pagine 15 in poi).

Sospetto che una ricerca più accurata potrebbe trovare una copia già costruita. Ammetto che questo codice è un'implementazione grezza e probabilmente avrà bisogno di un po 'di giocherellare per renderlo adatto per l'integrazione nel proprio software. Inoltre, non so che tipo di licenza si applica qui.

2

Ti suggerisco di provare svmlight. Non sono sicuro che implementa SMO, comunque. So che Weka ha un'implementazione java di un classificatore SVM utilizzando SMO, che potrebbe essere utile anche a voi. Include anche molti altri tipi di classificatori ed è abbastanza facile da usare.

Удачи!

+1

weka fa tutto. È un po 'complesso, ma incredibilmente completo. –

1

Si potrebbe considerare Numenta http://www.vitamindinc.com Hanno un progetto di riconoscimento di immagini di AI che sembra piuttosto buono.

1

Verificare LIBSVM (http://www.csie.ntu.edu.tw/~cjlin/libsvm/). Non l'ho mai usato con C++, ma i suoi ganci MATLAB funzionavano perfettamente. Inoltre, alcuni documenti che ho trovato utilizzavano la libreria come confronto di riferimento per i loro miglioramenti algoritmici a SMO.