JINGPaC



Java Interface for
Neural and Genetic Pattern Classification

Istruzioni per il l'uso di JINGPaC v2.0 Beta

Un archivio zip contenente sia il codice binario che quello sorgente e la documentazione correlata (JavaDoc) è scaricabile qui.

Uso:

java -cp . -jar jinpac2.jar [ NN | GP | BP | SOM | GA2NN | WORLD ]

Opzioni:
NN
Test evolutivo sulle NN. Una popolazione di 50 reti neurali viene fatta evolvere da operatori di mutazione che agiscono sui pesi dei nodi della rete; durante l'operazione di valutazione della fitness ogni individuo viene addestrato mediante BackPropagation per un massimo di 100 cicli di training: la fitness è data dal numero di errori sul training set dopo l'addestramento. In tal modo si riesce ad esplorare un paesaggio di fitness molto vasto mantenendo la capacità caratteristica delle NN di focalizzarsi su un minimo locale.
Causa la dimensione del training set, la conseguente dimensione delle reti neurali, il numero di cicli di training e il numero totale di reti, il completamento del test necessita di un tempo di calcolo quantomeno "importante".
GP
Evoluzione di una popolazione di GP in senso più "classico". In particolare viene evoluto un classificatore per la cifra "3" sul data set "ts2.txt"; la popolazione è di duecento individui su cui vengono applicati operatori di crossover e di mutazione. Ogni individuo elabora i dati di ingresso, nella dimensione di 28 bit, con operatori bitwise XOR, NOT, AND, OR e presenta una struttura simile alla seguente:

AND(
  NOT(bit 23),
     XOR(
       OR(
         AND(
           OR(
             bit 10,
             OR(bit 3,bit 23)
           ),
           NOT(bit 6)
         ),
         NOT(bit 23)
        ),
       bit 10
     )
  )

BP
Vengono creati due threds per l'addestramento di due reti neurali multilivello distinte,
tramite l'algoritmo BackPropagation; la prima rete viene addestrata usando come training set
il file "ts1.txt" mentre la seconda sfrutta il data set del file "ts1.txt".

Una volta addestrate le reti vengono valutate sfruttano come test set il data set su cui non sono state addestrate.
SOM
Il test prevede l'acquisizione di un'immagine PPM (palette a 256 colori) codificata ASCII/TEXT, quindi ad ogni neurone viene fornita in ingresso la tripletta RGB di ogni pixel. La mappa di neuroni si auto-organizzerà per ridimesionare la palette a 16 colori. Il risultato sarà un file "SOM16.ppm".
GA2NN
Questo test è "altamente sperimentale" e risponde più a esigenze di fattibilità che di funzionamento in senso stretto. L'idea è di sfruttare l'evoluzione di una popolazione GA per ridurre la dimensione dello spazio degli ingressi del data set utilizzato in modo da poter sfruttare una rete neurale per la classificazione; in particolare, lo schema seguente mostra il pattern seguito:
Data Set Iniziale   Popolazione
evolutiva di GA
  L' output di un individuo GA è un vettore di dimensioni pari al n• di cromosomi      
Ingressi a 28bit > > >
[ xor and or or not or xor and ]

(ogni cromosoma è un GP in grado di elaborare attraverso operatori bitwise ciascuno dei 28bit dei dati in ingresso)
> > > [ 1 0 1 0 0 0 0 1 ] > > > Ora posso utilizzare una rete neurale di dimensioni contenute per classificare e valutare la fitness dell' individuo GA
WORLD
Inizializza un sistema evolutivo in cui sono presenti più Environment che evolvono parallelamente ( GA, GP, NN); a ogni Environment possono essere associate una o più popolazioni.
SourceForge.net Logo