2011-12-30 5 views
11

Non riesco a trovare un framework ML/AI basato su C++ che implementa un'ampia varietà di algoritmi di reti neurali. Ho usato Encog per questi scopi quando lavoro in Java, ma non vedo nulla di simile, in termini di funzionalità, in C++. Il più vicino che ho visto è FANN, ma manca un po 'di materiale, ad esempio la ricottura LMA &.Quadro di apprendimento automatico C++

EDIT: L'alternativa migliore che ho trovato è Shark, ma come ho detto, è ancora carente e ha solo le caratteristiche più comunemente utilizzati, senza LMA, ricottura o PSO o qualcosa di quel livello.

+0

Il fu di Google è debole, ma sembra che la squadra encog ha uno spin-off: http://code.google .com/p/encog-cpp/ – AJG85

+1

@ AJG85 L'ultimo commit in esso è ottobre 2010, sembra piuttosto morto per me ... – TC1

+1

@ TC1 dici morto, dico ** finale **. :) –

risposta

9

Ok, quindi dopo alcuni giorni di ricerca on e off, penso di poter tranquillamente dire che non esiste una cosa del genere. Nessuna delle librerie esistenti fornisce qualcosa di simile al livello di sofisticazione di Encog, e dal momento che uno dei motivi principali per cui lo volevo in C++ era il fatto che ho bisogno di integrazione con QT, suppongo che finirò per usare Encog e Jambi.

In ogni caso, per coloro che si imbattono in questo dopo/da Google, ci sono fondamentalmente tre framework/librerie che offrono caratteristiche abbastanza ragionevoli, e dovrebbero essere davvero sufficienti se non si desidera LMA, PSO, ricottura o nessuna di queste cose più esotico:

Questo è praticamente tutto. Il resto è immaturo/morto o semplicemente troppo carente in termini di funzionalità. Se mai decidessi di realizzare il mio progetto (è possibile, dato che ne ho praticamente bisogno per lavoro), cercherò di aggiornare questo luogo con un link.

1

Anche se OpenCV viene utilizzato principalmente per la computer vision sua machine learning library (ml) contiene le classi che gestiscono alberi decisionali, Bayes classificatore, perceptron multistrato, amplificazione ecc

+0

Abbastanza pulito, meglio di qualsiasi cosa avessi trovato, ma ancora, la sezione MLP supporta solo RProp .. – TC1

8

Il repository mloss ha un numero di C++ basato open source quadri di apprendimento automatico. Personalmente, trovo che lo dlib sia abbastanza utile.

+0

Si potrebbe anche voler esaminare la [libreria MLPACK C++] (http://mlpack.org), che ha molti algoritmi di apprendimento automatico – mtall

2

Questo è il migliore che abbia mai visto per le reti neurali: EBLearn

+2

Meglio fornire alcuni dettagli. Mi piace come e perché pensi sia il migliore. –