Copertina
Autore Eliano Pessa
Titolo Statistica con le reti neurali
Sottotitoloun'introduzione
EdizioneDi Renzo, Roma, 2004, , pag. 176, cop.fle., dim. 150x210x11 mm , Isbn 978-88-83230-74-5
LettoreLuca Vita, 2005
Classe matematica , scienze umane
PrimaPagina


al sito dell'editore


per l'acquisto su IBS.IT

per l'acquisto su BOL.IT

per l'acquisto su AMAZON.IT

 

| << |  <  |  >  | >> |

Indice

Introduzione                                               7

CAPITOLO I :
RICHIAMI SU ALCUNI CONCETTI DI STATISTICA

1.1 Notazioni e definizioni preliminari                   11
1.2 Nozioni di algebra lineare                            17
1.3 Elementi di statistica descrittiva                    32
1.4 Le distribuzioni statistiche                          38
1.5 La regressione lineare                                44
1.6 Aspetti più generali della regressione                49
1.7 L'analisi delle componenti principali                 54
1.8 La cluster analysis                                   67

CAPITOLO II:
RETI NEURALI PER L'ANALISI DEI DATI:
L'APPRENDIMENTO SUPERVISIONATO

2.1 Generalità sulle reti neurali                         77
2.2 Tipi di apprendimento nelle reti neurali              90
2.3 Il Perceptrone Multistrato e l'analisi di regressione
    non lineare                                           94
2.4 L'utilizzo efficiente dell'error-backpropagation     107
2.5 Le reti RBF                                          119
2.6 L'estrazione di regole simboliche da una rete neurale122
2.7 Le Reti Neuro-Fuzzy                                  133

CAPITOLO III:
RETI NEURALI PER L'ANALISI DEI DATI:
L'APPRENDIMENTO NON SUPERVISIONATO

3.1 La rete di Kohonen                                   139
3.2 La valutazione dell'efficienza di un clusterizzatore 150
3.3 La rete "Growing Neural Gas"                         155
3.4 La rete LVQ                                          161
3.5 Estrazione di componenti principali tramite reti
    neurali                                              163
3.6 La progettazione di architetture supervisionate      167

Bibliografia                                             171

 

 

| << |  <  |  >  | >> |

Pagina 7

INTRODUZIONE


Nel corso degli ultimi anni le tecniche di analisi dei dati, normalmente basate sui metodi della Statistica tradizionale, si sono arricchite di nuovi strumenti, collettivamente indicati con l'espressione soft computing. Questi ultimi si ispirano alle procedure di 'calcolo' adottate dai sistemi biologici, procedure che, anche se talvolta approssimate e imprecise, risultano assai più efficienti di quelle matematiche tradizionali quando si debba aver a che fare con un mondo dei dati di natura complessa, governato dal rumore, dalla variabilità e talvolta dall'ambiguità. Proprio per questo motivo gli strumenti basati sul soft computing hanno affiancato con successo (ovviamente senza soppiantarli) i metodi usuali di analisi dei dati, principalmente basati sulle tecniche di analisi multivariata. Tra i domini in cui questa 'alleanza' di metodi differenti ha avuto più successo si possono citare quelli relativi ai dati forniti dalle ricerche psicologiche e sociali, a causa della loro variabilità, delle rilevanti fonti di errore e, soprattutto, della mancanza di modelli dettagliati dei fenomeni sottostanti.

Nell'ambito di questo tipo di ricerche le tecniche di soft computing che hanno suscitato forse il maggiore interesse sono state quelle basate sulle cosiddette reti neurali. Questa espressione indica genericamente dei sistemi costituiti da unità, in grado di attivarsi in conseguenza della ricezione di segnali di ingresso, e di linee di interconnessione, in grado di veicolare l'attivazione da un'unità all'altra. Il funzionamento di tali sistemi si ispira dichiaratamente a quello dei sistemi nervosi biologici, come l'insieme dei neuroni che fanno parte del cervello. Questo libro, dunque, è stato espressamente dedicato ad una prima illustrazione delle potenzialità delle reti neurali come strumenti di analisi statistica dei dati nell'ambito delle scienze psicologiche e sociali. Esso ha un carattere esclusivamente introduttivo. Infatti, invece di esporre in modo dettagliato tutti gli aspetti relativi all'utilizzo delle reti neurali come strumenti di indagine statistica, si limita a presentare i principi di funzionamento di alcune delle reti più semplici e a mostrare come, unicamente servendosi di processi di apprendimento basati su esempi, si possano utilizzare le reti neurali per analisi dei dati assai sofisticate, come la regressione multivariata non lineare, la clusterizzazione, l'estrazione di componenti principali.

Va sottolineato come questo non sia un libro di Statistica nel senso usuale del termine. Infatti i brevi e sintetici richiami di Statistica e algebra lineare contenuti nel primo capitolo servono unicamente a presentare la nomenclatura e la simbologia usate nei capitoli successivi quando si descrivono le potenzialità delle reti neurali in particolari tipi di analisi dei dati. Si suppone, quindi, che il lettore disponga di altre fonti di riferimento per quanto riguarda la Statistica convenzionale. Va, inoltre, tenuto presente come, per non appesantire l'esposizione e non aumentare eccessivamente le dimensioni del libro, si sia preferito esporre solo i principi generali e le formule essenziali riguardanti i vari argomenti, senza ricorrere a esercizi di carattere illustrativo (salvo brevi esempi sparsi qua e là).

Le reti neurali hanno suscitato grandi speranze. Il fatto che, basandosi solo sulla presentazione di esempi e su semplici leggi di apprendimento, si possa, in linea di principio, riprodurre qualunque forma di relazione tra variabili ha condotto a pensare che esse costituiscano uno strumento infallibile per scoprire, senza matematica e senza sforzo, la "struttura vera" del mondo, sottostante ai dati di cui disponiamo. Come vedremo nel libro, tali speranze sono solo parzialmente fondate. Infatti i risultati ottenuti tramite l'utilizzo delle reti neurali dipendono in modo cruciale dalle conoscenze che l'utente ha relativamente al dominio cui appartengono i dati, dai suoi scopi e dalle sue strutture cognitive. Qualunque sia la risposta fornita da una rete, essa non si basa che in piccola parte su garanzie di carattere matematico e, in larga misura, è essenzialmente una conseguenza delle scelte operate dall'utente, scelte la cui responsabilità è unicamente e totalmente sua. Nel dominio delle reti neurali, quindi, si manifesta in modo evidente il crollo dell'illusione della "scienza oggettiva", che ormai permea di sé gran parte delle ricerche contemporanee. Non resta che augurarsi che questo crollo conduca ad una visione più equilibrata del rapporto tra l'uomo e l'ambiente che lo circonda.

Pavia, febbraio 2004

Eliano Pessa

| << |  <  |  >  | >> |

Pagina 77

Capitolo II

RETI NEURALI PER L'ANALISI DEI DATI: L'APPRENDIMENTO SUPERVISIONATO


2.1 Generalità sulle reti neurali

Il termine "reti neurali" denota una classe di sistemi che, genericamente, sono costituiti da:

- un opportuno insieme di unità (chiamate anche neuroni o nodi), ciascuna delle quali, ad ogni istante di tempo, si trova in un certo stato di attivazione, a sua volta dipendente dagli ingressi ricevuti dall'unità stessa;

- un opportuno insieme di linee di interconnessione che veicolano lo stato di attivazione da un'unità agli ingressi di altre unità; ciascuna linea di interconnessione è caratterizzata da un valore numerico, detto peso o coefficiente di connessione (o talvolta efficacia sinaptica), che misura, in un certo modo, la 'forza' con la quale il segnale di attivazione viene trasmesso lungo la connessione in questione.

L'utilizzo dell'espressione "reti neurali" deriva dal fatto che, in origine, sistemi di questo tipo erano stati introdotti allo scopo esplicito di modellizzare il funzionamento delle reti neurali biologiche, come quelle che stanno alla base delle operazioni svolte dal cervello. Il primo lavoro in questo senso risale al 1943, quando W.S. McCulloch e W. Pitts proposero un rudimentale modello, noto come teoria delle reti nervose formali o modello di McCulloch-Pitts. Ancora oggi le reti neurali sono impiegate per questi scopi. Tuttavia ben presto i ricercatori si resero conto del fatto che sistemi di questo tipo potevano essere adoperati con successo anche per vari altri scopi, tra i quali la modellizzazione del sistema cognitivo e, cosa che soprattutto ci interessa nel contesto di questo libro, vari tipi di analisi dei dati. A volte, quando si lavora in quest'ultimo ambito, per sottolineare il fatto che le reti neurali non vengono impiegate per modellizzare sistemi biologici si usa l'espressione reti neurali artificiali (RNA).

Normalmente le reti neurali sono sistemi il cui comportamento viene simulato su un computer tramite appositi programmi software. Tuttavia esistono anche implementazioni hardware, tra le quali menzioniamo:

a) schede che fungono da espansioni "neurali" dell'hardware di un computer tradizionale;

b) schede programmabili tramite un normale programma software che consentono di implementare vari tipi di dispositivi input-output;

c) reti neurali "ottiche" realizzate tramite raggi laser e cellule fotosensibili;

d) reti neurali "chimiche" realizzate tramite la crescita di polimeri;

e) reti neurali "biologiche" composte da neuroni biologici veri, interfacciati con materiali conduttori di tipo tradizionale.

Per individuare una particolare rete neurale occorre specificare in dettaglio le scelte compiute relativamente a ciascuno dei seguenti aspetti:

- Tipo di unità;

- Tipo di organizzazione;

- Tipo di architettura;

- Tipo di connessioni.

Qui nel seguito illustreremo brevemente alcuni dei tipi di scelte possibili relativamente a questi quattro aspetti.

| << |  <  |  >  | >> |

Pagina 94

2.3 Il Perceptrone Multistrato e l'analisi di regressione non lineare

L'architettura neurale in assoluto più popolare è costituita dal Perceptrone Multistrato, rappresentato graficamente nella Figura 8. Si tratta di una rete avente le seguenti caratteristiche:

- almeno tre strati di unità: uno di ingresso, uno nascosto e uno di uscita; esistono anche Perceptroni Multistrato con più strati nascosti, ma sono usati molto raramente e, ai fini dell'analisi dei dati, non apportano alcun miglioramento alla performance rispetto a quelli con un solo strato di unità nascoste;

- connessioni di ordine uno e di tipo esclusivamente feedforward, ma totali: ogni unità di uno strato è connessa con tutte le unità dello strato immediatamente successivo;

- unità dello strato nascosto e, spesso, anche dello strato di uscita di tipo sigmoidale (è possibile avere anche altri tipi di unità, purchè le leggi di attivazione siano di tipo non lineare); ovviamente le unità di ingresso servono solo a trasmettere i segnali provenienti dall'esterno;

- organizzazione logica (e quindi il disegno di Figura 8 non rappresenta vere posizioni spaziali delle unità, ma serve solo a dare un'idea del tipo di struttura)

Questo tipo di rete si presta molto bene ad implementare un apprendimento supervisionato, il cui scopo è quello di realizzare un'analisi di regressione non lineare sull'insieme degli esempi presentati durante l'apprendimento. Per comprendere a che cosa essa possa servire e come possa funzionare occorre qui richiamare brevemente alcuni dei concetti già presentati nei paragrafi 1.5 e 1.6. In essi avevamo visto come lo scopo dell'analisi di regressione sia quello di trovare, a partire da opportuni esempi di associazioni tra valori delle variabili indipendenti (i pattern di ingresso) e corrispondenti valori delle variabili dipendenti (i pattern di uscita), la funzione che approssima nel modo migliore possibile la legge che mette in relazione le variabili indipendenti con le variabili dipendenti (ovvero che mette in relazione i pattern di ingresso con quelli di uscita). Negli stessi paragrafi avevamo anche mostrato come tale problema sia risolvibile solo nel caso di funzioni lineari (sia pure con qualche difficoltà quando si ha a che fare con più variabili indipendenti e con difficoltà ancora maggiori quando anche le variabili dipendenti sono più di una). Infatti nel caso di funzioni non lineari le difficoltà matematiche e anche computazionali diventano ben presto insormontabili.

Al contrario il Perceptrone Multistrato può, in linea di principio, risolvere il problema dell'analisi di regressione per qualunque tipo di funzione non lineare e per qualsiasi numero di variabili, sia dipendenti che indipendenti, grazie ad un Teorema, dimostrato per la prima volta da Hornik, Stinchcombe e White nel 1989, che asserisce quanto segue:

Qualunque tipo di funzione, relativa ad un qualunque numero di variabili indipendenti e dipendenti, può, in linea di principio, essere approssimata con qualunque precisione si desideri da un Perceptrone Multistrato, avente almeno lo strato nascosto costituito di unità sigmoidali, pur di disporre del giusto numero di unità nascoste e di appropriati valori dei pesi delle connessioni.

Questo teorema, in sostanza, asserisce che qualunque funzione (in particolare quelle non lineari) si può approssimare tramite una opportuna combinazione lineare di funzioni sigmoidali.

| << |  <  |  >  | >> |

Pagina 133

2.7 Le Reti Neuro-Fuzzy

Il concetto di Insieme Fuzzy (o Fuzzy Set) è stato introdotto per la prima volta nel 1965 dallo scienziato iraniano Lofti Zadeh. Un Insieme Fuzzy costituisce una sorta di generalizzazione di un insieme nel senso ordinario del termine. Normalmente un insieme di quest'ultimo tipo costituisce un sotto-insieme di un insieme di tipo globale, chiamato spesso Universo, che contiene tutti i possibili elementi che fanno parte del dominio di cui ci occupiamo, e ripartisce gli elementi dell'Universo stesso in due classi: quelli che appartengono all'insieme considerato e quelli che non vi appartengono. In altri termini, l'appartenenza ad un insieme di tipo ordinario è una proprietà di tipo binario: o la si possiede o non la si possiede. Se introduciamo, per ogni elemento x dell'Universo, una funzione M(x) il cui valore specifica se l'elemento appartiene all'insieme considerato (la cosiddetta funzione di appartenenza o membership function), vediamo subito che, nel caso di un insieme di tipo ordinario, tale funzione ha solo due valori possibili: M(x) = 1 se x appartiene all'insieme e M(x) = O se x non vi appartiene. Invece in un Insieme Fuzzy i vari elementi che lo compongono sono caratterizzati da una funzione di appartenenza che può assumere valori diversi da O e da 1. Ciò significa che il valore della funzione M(x) in un Insieme Fuzzy misura il grado di appartenenza dell'elemento x all'insieme stesso.

Gli Insiemi Fuzzy sono stati introdotti per tener conto del fatto che, nel linguaggio naturale, molte proprietà sono definite in modo vago e impreciso e gli elementi che le posseggono vengono quindi a costituire insiemi di questo tipo. Prendiamo, ad esempio, in considerazione un attributo come "abbastanza alto". Se sottoponiamo ad un insieme di soggetti, aventi stature di altezza diversa, un campionario di differenti altezze e chiediamo loro di valutare, per ciascuna di esse, se tale altezza basti per qualificare un individuo come "abbastanza alto", otterremo, per ciascuna delle altezze esaminate, un numero che fornirà la percentuale di soggetti che hanno valutato l'altezza in questione come appropriata all'attributo di cui ci occupiamo. Possiamo ora considerare tale numero come una misura del grado di appartenenza dell'altezza effettiva all'Insieme Fuzzy dei soggetti "abbastanza alti". Ovviamente capiterà che altezze come 1,60 m abbiano un grado di appartenenza assai basso; invece altezze come 1,75 m avranno un grado di appartenenza intermedio e altezze di 1,90 m avranno un grado di appartenenza sicuramente pari a 1 (a meno che i soggetti non siano giocatori di pallacanestro). Così come l'attributo "abbastanza alto", la maggior parte degli attributi e delle proprietà descritti dal linguaggio comune corrispondono a Insiemi Fuzzy, specificati da opportune funzioni di appartenenza.

Per quanto riguarda queste ultime, esistono tre modi differenti per definirle:

a) tramite i risultati di esperimenti condotti su soggetti umani, in cui essi debbono fornire valutazioni, proprio come accadeva nell'esempio dell'attributo "abbastanza alto";

b) tramite scelte aprioristiche dettate unicamente da ragioni di pura convenienza matematica;

c) tramite le regole della Logica Fuzzy, nel caso in cui gli attributi siano di natura complessa e derivino da opportune combinazioni di attributi più semplici.

A proposito del caso c) va ricordato che, così come esistono operazioni che, a partire dagli insiemi ordinari, generano nuovi insiemi ordinari (ad esempio tramite unione, intersezione, ecc.), nello stesso modo esistono operazioni che, a partire da Insiemi Fuzzy, generano nuovi Insiemi Fuzzy. E, nello stesso modo in cui le operazioni insiemistiche tradizionali possono essere interpretate in termini di operazioni logiche, dando luogo alla ben nota logica binaria (nota anche come logica booleana o calcolo proposizionale), basata sulla dicotomia vero/falso e utilizzata nei moderni computer digitali, analogamente le operazioni sugli Insiemi Fuzzy forniscono la base per la formulazione di una opportuna Logica Fuzzy. Senza entrare in dettagli tecnici su quest'ultima, ci limiteremo a dire che essa costituisce lo strumento fondamentale per descrivere il ragionamento Fuzzy, che rappresenta la maggior parte dei ragionamenti effettuati usando il linguaggio naturale.

Quando un ragionamento Fuzzy viene implementato usando una rete neurale, si parla di una rete neuro-fuzzy.

| << |  <  |