Autoassociatori

Classificatori basati su autoassociatori neurali

Un autoassociatore neurale è una rete multistrato che ha un numero di uscite uguale al numero degli ingressi. L'autoassociatore viene addestrato in modo da riprodurre sulle uscite il vettore di ingresso minimizzando la norma quadratica del vettore differenza. Se il numero di neuroni nascosti è inferiore alle componenti dell'ingresso, l'attivazione dei neuroni nascosti rappresenta una rappresentazione compressa dell'ingresso. In particolare i pesi dagli ingressi ai neuroni nascosti rappresentano i parametri per comprimere l'ingresso, mentre quelli dai neuroni nascosti alle uscite definiscono la decompressione della rappresentazione nello strato nascosto. La rappresentazione nello strato nascosto è ricavata in ottimizzando l'errore di ricostruzione su un insieme di dati di esempio. In tal senso gli autoassociatori neurali possono essere assimilati ad un algoritmo di estrazione delle componenti principali non lineare.

Gli autoassociatori possono essere utilizzati come classificatori in base al principio secondo il quale riescono ad associare bene solo vettori provenienti dalla distribuzione dei dati con cui sono stati addestrati. In altre parole una volta addestrato con dati estratti da una certa distribuzione, l'autoassociatore rappresenta un prototipo per tale classe. Si può verificare se un vettore appartiene ad una classe di cui l'autoassociatore è il modello (o prototipo)  semplicemente calcolando la distanza fra il vettore di ingresso e l'uscita prodotta come mostrato in figura 1.

 
Figura 1 - Classificazione con un autoassociatore

Le superfici di decisione definite nel mdo descritto sono chiuse. La soglia di discriminazione può essere definita valutando la distribuzione delle distanze su un insieme di validazione per la classe diverso da quello utilizzato per l'apprendimento.

Un classificatore per più classi può essere costruito in modo modulare definendo un autoassociatore (prototipo) per ogni classe. Un vettore di ingresso può essere classificato presentandolo in parallelo a tutti gli autoassociatori e attribuendolo alla classe corrispondente all'autoassociatore per il quale la distanza fra ingresso e uscita è minima. Si può anche introdurre una soglia di reiezione, considerando non classificati quei vettori per i quali la distanza è superiore a tale soglia o per i quali la differenza di distanza fra due o più autoassociatori è inferiore alla soglia.

L'apprendimento di ogni autoassociatore può essere effettuato utilizzando solo esempi della classe a cui corrisponde. Per migliorare le prestazioni possono essere introdotti nell'insieme dei dati usati per l'apprendimento anche esempi negativi in genere appartenenti a quelle classi che più si confondono con quella che si deve riconoscere. Una tecnica per ottenere l'effetto di avere una cattiva associazione sugli esempi negativi è quella di utilizzare come costo per tali esempi il reciproco della distanza. Infatti tale funzione è tanto minore quanto più distante è il vettore associato dalla rete rispetto al vettore di ingresso.

 
Figura 2 - Apprendimento e superfici di decisione per un autoassociatore addestrato con e senza esempi negativi

La figura 2 mostra come l'uso di esempi negativi permetta di ottenere delle curve di decisione più ristrette.

 

[Home] [MLP] [Autoassociatori Neurali] [Reti Neurali Ricorsive]