Domanda

Sto cercando un buon esempio di codice sorgente di una rete neurale supervisionata che accetta più di due funzioni (a differenza di molti XY-esempi) ed i dati classifica i in due set. Da quello che ho letto, una Support Vector Machine (SVM) potrebbe essere una soluzione?

Tutti gli esempi di classificazione che ho trovato sono bidimensionali. Qui ci sono alcuni:

Sto cercando di distinguere eventi rari da un certo numero di ingressi che sono normalmente stabili. Caratteristiche sono coppie chiave-valore in cui il valore di solito può discretizzati come un piccolo numero. dati di allenamento disponibili per la prima categoria è enorme, ma solo con alcuni gruppi di formazione per la seconda categoria, se questo fa la differenza.

Esempio Training Set

categoria A

[2, 1, 0, 1, 4, 3] -> A  
[1, 1, 2, 3, 3, 0] -> A
[0, 0, 1, 3, 2, 0] -> A

Categoria B

[0, 4, 4, 4, 4, 3] -> B

Classifying Esempio

[1, 3, 4, 4, 4, 0] -> ??? (probably B)

Un voto di fiducia, per esempio. "85% certo di B", sarebbe utile per distinguere una soglia per un evento raro.

E 'una rete neurale la soluzione migliore e ci sono tutte le librerie .NET con questo in built-?

È stato utile?

Soluzione

In realtà, tutte queste tecniche di apprendimento automatico hanno i loro pro e contro. In con NN (singolo strato percettrone), è necessario considerare se si dispone di dati di allenamento abbastanza. Tecnicamente parlando, è necessario essere in grado di coprire tutte le celle all'interno delle dimensioni per avere un buon risultato.

SVM d'altra parte, cerca di trovare un confine che separa i punti dati, quindi se avete lacune nei settori che non sono vicino a questo confine, va bene.

Ci sono 5-6 classificatori intorno +/- d'amplificazione e ad essere onesti, sembra che la maggior parte del tipo di tempo del classificatore è scelto soggettivamente. D'altra parte, alcune persone utilizzano più classificatori e confrontare il risultato.

Con OpenCV, è così facile da pluggin un classificatore di diverso e quindi si è sulla strada giusta per esso. Ho usato OpenCV in C ++ con classificatori NN per il mio progetto e il risultato è stato molto buono:

http://www.springerlink.com/content/j0615767m36m0614/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top