Posts Tagged ‘Algoritmi genetici’

Reti neurali attraverso algoritmi genetici in C++. Parte V

12 December 2008

In questa penultima parte della serie di articoli dedicati alle reti neurali, vedremo come creare una classe che riunisca tutto cio’ che abbiamo programmato in precedenza e ne renda piu’ facile l’utilizzo. Era gia’ possibile utilizzare le classi cosi’ com’erano, ma in questo modo ci rendiamo la vita piu’ semplice. Inoltre c’e’ da notare che quello che faremo oramai non ho molto a che fare con l’implementazione della rete, ma e’ piu’ una questione di ordine e OOP.

Leggi il resto »

Tags: , , ,
Pubblicato in Informatica | Commenti (0)

Reti neurali attraverso algoritmi genetici in C++. Parte IV

9 December 2008

Le classi Chromosome e Population.

Abbiamo finito l’implementazione della rete ed ora possiamo passare alla parte relativa all’addestramento della stessa, che come ho già detto, verrà realizzata tramite algoritmi genetici. Vediamo la classe Chromosome:

Leggi il resto »

Tags: , ,
Pubblicato in Informatica | Commenti (1)

Reti neurali attraverso algoritmi genetici in C++. Parte III

28 November 2008

IMPLEMENTAZIONE

Ok, siamo arrivati alla parte più tecnica cioè all’implementazione vera e propria della rete. Ho scelto di utilizzare il C++ e di programmare tutto ad oggetti perchè, anche se questo approccio sacrifica forse un po’ la velocità, rende, almeno per me, il tutto più comprensibile e riutilizzabile (dalle classi che qui espongo ho costruito poi una libreria per l’utilizzo delle reti neurali).

Leggi il resto »

Tags: , , ,
Pubblicato in Informatica | Commenti (0)

Reti neurali attraverso algoritmi genetici in C++. Parte II

23 November 2008

Algoritmi genetici.

Gli algoritmi genetici sono algoritmi particolari che si ispirano all’evoluzione naturale delle specie descritta da Darwin. Essi sono molto utilizzati nel risolvere problemi nei quali lo spazio di ricerca delle soluzioni non è ben definito e garantiscono sempre un avvicinamento alla soluzione ideale del problema. In un algoritmo genetico ogni individuo (cromosoma) possiede un DNA che rappresenta una potenziale soluzione del problema. Una popolazione di un certo numero di individui con DNA casuale viene creata e su di essa agiscono varie operazioni atte a simulare la selezione naturale per scegliere via via quelli che più si avvicinano alla soluzione desiderata. Il DNA di ogni individuo è in genere una soluzione del problema codificata in modo da facilitare le operazioni genetiche che bisogna fare su di essa (crossover, mutazioni genetiche, etc…, le vedremo fra poco).

Leggi il resto »

Tags:
Pubblicato in Informatica | Commenti (5)

Reti neurali attraverso algoritmi genetici in C++. Parte I

19 November 2008

PREFAZIONE

Le reti neurali sono un argomento molto ostico per molti all’inizio.
Anche io per riuscire ad implementare la mia prima rete neurale funzionante ci ho impiegato molto tempo ma ho soprattutto dovuto provare e riprovare più volte passando per diversi fallimenti. Mi sono accorto che molti dei tutorial che si trovano in giro tralasciano alcuni aspetti o li spiegano in maniera poco chiara, e tra l’altro i tutorial in lingua italiana sull’argomento sono anche pochi.
Con questo tutorial cercherò di creare un documento che comprenda almeno le basi per rendere chiunque lo legga, ed abbia alcuni prerequisiti elencati in seguito, capace di implementare una rete neurale.
Leggi il resto »

Tags: , , ,
Pubblicato in Informatica | Commenti (0)