introduzione all’apprendimento automatico e spazio delle...

80
Introduzione all’apprendimento automatico e Spazio delle versioni

Upload: buikhanh

Post on 18-Feb-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

Introduzione all’apprendimento automatico e

Spazio delle versioni

Page 2: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

2

Indice

• Definizione di Apprendimento Automatico (AA)

• Classificazione della ricerca in AA

• Linguaggi di rappresentazione

• Tecniche di apprendimento

– Linguaggi attributo valore

• ipotesi congiuntive

• alberi di decisione

• insiemi di regole

• statistiche

– Linguaggi del primo ordine

Page 3: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

3

Definizione di AA

• Definizione 1:

– Learning is constructing or modifying representations of what is being experienced [Michalski 1986], pag. 10

• Definizione 2:

– Learning denotes changes in the system that are adaptive in the sense that they enable the system to do the same task or tasks drawn from the same population more efficiently and more effectively the next time [Simon 1984], pag. 28

Page 4: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

4

Impieghi dell’AA

• A) estrazione di conoscenza

– da utilizzare per il funzionamento di sistemi basati su conoscenza (ad esempio, sistemi per la classificazione)

– a fini scientifici, ovvero scoperta di nuovi fatti e teorie attraverso l’osservazione e la sperimentazione

• B) miglioramento delle performance di una macchina

– ad esempio, miglioramento delle capacità motrici e cognitive di un robot

Page 5: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

5

Tecniche di AA

• Tecniche simboliche (impieghi A e B)

• diversi tipi di rappresentazione

– rappresentazione attributo valore

– rappresentazione del primo ordine

• Tecniche statistiche (impiego B)

• Reti neurali (impiego B)

Page 6: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

6

Apprendimento induttivo

• Apprendimento induttivo: il sistema parte dai fatti e dalle osservazioni derivanti da un insegnante o dall’ambiente circostante e le generalizza, ottenendo conoscenza che, auspicabilmente, sia valida anche per casi non ancora osservati (induzione). Due tipi di apprendimento induttivo:

– apprendimento da esempi: conoscenza acquisita a partire da un insieme di esempi positivi che sono istanze del concetto da imparare e di esempi negativi che sono non-istanze del concetto

– apprendimento di regolarità: non c’è un concetto da imparare, l’obiettivo è quello di trovare regolarità (ovvero caratteristiche comuni) nelle istanze date

Page 7: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

7

Apprendimento induttivo di concetti da esempi (1)

– Universo U: insieme U di tutti gli oggetti del dominio

– Concetto C: sottoinsieme C degli oggetti del dominio C˝U

– Un linguaggio di descrizione degli oggetti Lo

– Un linguaggio di descrizione dei concetti Lc

– Una procedura che interpreti i linguaggi e verifichi se la descrizione Dc di un concetto C è soddisfatta dalla descrizione Dx di un oggetto x (si dice che Dc copre Dx).

Page 8: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

8

Apprendimento induttivo di concetti da esempi (2)

– Informalmente:

• apprendere un concetto C significa trovare una descrizione di C che consenta di dire se un oggetto x ˛ U è una istanza di C, ovvero se x ˛ C.

Page 9: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

9

Apprendimento induttivo di concetti da esempi (3)

• Fatto: descrizione di un oggetto

• Esempio per un concetto C: fatto etichettato, con etichetta + se l’oggetto è un’istanza di C (esempio positivo), etichetta - se l’oggetto non è una istanza di C (esempio negativo).

• Training set: insieme E degli esempi (fatti etichettati). E è composto dall’insieme degli esempi positivi E+ e dall’insieme degli esempi negativi E-

Page 10: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

10

Apprendimento induttivo di concetti da esempi (4)

• Ipotesi: descrizione del concetto da imparare

• Se un fatto soddisfa una ipotesi si dice che l’ipotesi copre il fatto.

• Funzione per il test di copertura:

copre(H,e)

• ritorna vero se e è coperto dalla ipotesi H e falso altrimenti

• Estensione ad insiemi di esempi:

copre(H,E)={e ˛ E| copre(H,e)= true}

Page 11: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

11

Apprendimento induttivo di concetti da esempi (5)

• Vogliamo trovare una ipotesi H tale che

"e˛U: copre(H,e) Û e˛C

• In pratica però conosciamo solo gli esempi e˛E

• Richiediamo pertanto che sia vero copre(H,e) ⇔ e˛C solo per gli esempi e˛E e in particolare che

– "e˛E: copre(H,e)Þ e˛C

– "e˛E: ¬ copre(H,e)Þ ¬ (e˛C)

Page 12: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

12

Apprendimento induttivo di concetti da esempi: definizione del problema

• Dato un insieme E di esempi positivi e negativi di un concetto C, espressi in un linguaggio di descrizione degli oggetti Lo,

• trovare un’ipotesi H, espressa in un dato linguaggio di descrizione dei concetti Lc, tale che:

– ogni esempio positivo e+ ˛ E+ sia coperto da H

– nessun esempio negativo e- ˛ E- sia coperto da H

Page 13: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

13

Completezza e consistenza

• Un’ipotesi H si dice completa se copre tutti gli esempi positivi, cioè se copre(H,E+)=E+

• Un’ipotesi H si dice consistente se non copre nessun esempio negativo, cioè se copre(H,E-)=˘

Page 14: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di
Page 15: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

15

Rappresentazione della conoscenza

• Linguaggi utilizzati per la rappresentazione di esempi e concetti:

– Linguaggi attributo-valore

– Linguaggi relazionali

– Logica del primo ordine

Page 16: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

16

Linguaggi attributo-valore

• Ciascuna istanza è descritta dai valori assunti da un insieme di attributi (fisso per tutte le istanze).

• Gli attributi possono essere:

– booleani o binari

– nominali

– ordinali

– numerici (scale di intervalli o scale di rapporti)

• Se k sono gli attributi, ciascuna istanza può essere rappresentata come un punto in uno spazio k-dimensionale

Page 17: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

17

Esempio

• Universo: insieme degli atleti

• Istanze descritte dagli attributi

– altezza, peso, musica_preferita

• Esempio di istanza

altezza=1.85m, peso=80Kg, musica_preferita=rock

Page 18: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

18

Ipotesi congiuntive

• Linguaggio di descrizione dei concetti:– le ipotesi sono descritte da una congiunzione di

vincoli sugli attributi di una istanza• Per ogni attributo c’è un solo vincolo:

– attributo=?: qualsiasi valore è accettabile per questo attributo

– attributo=valore: solo il valore dato è accettabile– attributo=˘: nessun valore è accettabile

• Esempio: concetto: gicatore di calcio– <altezza=?,peso=80, musica_preferita=rock>– If peso=80 and musica_preferita=rock fi

giocatore_di_calcio• Una sola regola!

Page 19: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

19

Regole di produzione

• Linguaggio di descrizione dei concetti:

– regole di produzione

• contengono nell’antecedente congiunzioni e disgiunzioni di uguaglianze o disuguaglianze tra un attributo e un valore e nel conseguente la classe dell’istanza

• si può avere più di una regola

• Esempio: Concetto: giocatore di calcio

• Esempio di descrizione del concetto

peso>75 and (musica_preferita = rock or musica_preferita = rap) fi giocatore_di_calcio

Page 20: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

20

Alberi di decisione

• Linguaggio di descrizione dei concetti:

– alberi di decisione

• ogni nodo corrisponde ad un test su un attributo (uguaglianza, disuguaglianza) e ciascun ramo che parte dal nodo è etichettato con il risultato del test

• ad ogni foglia corrisponde una classe

Page 21: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

21

Alberi di decisione (esempio)

Peso>75

Musica preferita=?

no

yes

Giocatore di volleyGiocatore di calcio

Giocatore di golf

rock classica

Giocatore di calcio

rap

Page 22: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

22

Linguaggi relazionali

• I linguaggi attributo valore non sono adatti a rappresentare istanze costituite da sottoparti.

• Esempio: famiglia jones, componenenti:• name: dave, son: mike, father: ron• name: mike, son: junior, father: dave• name: junior, father: mike• La descrizione di famiglia potrebbe essere

trasformata in una lista di coppie attributo valore prevedendo un numero di attributi pari al prodotto del numero massimo di componenti per il numero massimo di attributi per componente: spreco di memoria

Page 23: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

23

Linguaggi relazionali

• I linguaggi attributo valore sono quindi inefficienti per rappresentare questi universi. Vengono perciò utilizzati linguaggi relazionali [Ber96] (vedi esempio precedente).

• Tali linguaggi consentono descrizioni dei concetti che possono contenere variabili e quantificatori (non proposizionali).

• Descrizione del concetto di famiglia con un nonno

∃x,y,z (son(x)=y and son(y)=z)

Page 24: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

24

Linguaggi del primo ordine

• Una ulteriore estensione del linguaggio consiste nell’utilizzare linguaggi logici del primo ordine.

• Essi forniscono la possibilità di rappresentare, oltre alle parti e agli attributi delle parti, anche relazioni tra le parti di una istanza.

• Forniscono inoltre una maniera semplice per rappresentare le parti di un oggetto utilizzando un predicato del tipo “oggetto”(nome-oggetto, nome-parte)

• Esempi non più descritti da componenti ma da letterali ground. Ogni attributo di un componente diventa un predicato.

Page 25: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

25

Esempio: mondo a blocchi

a

b

• Istanza e, forma relazionale: componenti:– name: a, shape=square, size=large, on-table=yes– name: b, shape=triangle, size=small, on-table=no • Istanza e, logica primo ordine: • oggetto(e,a), oggetto(e,b), square(a), triangle(b), large(a), small(b), on-table(a) , on(b,a)• “l’oggetto e contiene le parti a e b, esse hanno le proprieta’…..”

• Esempio di “oggetto”:

Page 26: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

26

Logica del primo ordine

• Rispetto ai linguaggi relazionali, essi consentono inoltre:• di definire i concetti in maniera ricorsiva

ad esempio: ancestor(X,Y):-father(X,Z),ancestor(Z,Y)• rappresentano un linguaggio più studiato e quindi maggiormente formalizzato.

Impiego della programmazione logica per la rappresentazione di oggetti e concetti

Page 27: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

27

Tecniche di apprendimento

• Apprendimento attributo valore:

– ipotesi congiuntive

– alberi di decisione

– regole di produzione

• Apprendimento del primo ordine:

– Programmazione Logica Induttiva

Page 28: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

28

Apprendimento di ipotesi congiuntive

• [Mit97] Esempio: Apprendere il concetto target “giornate in cui ad Aldo piace fare sport”

• Esempi: giornate delle quali si conosce se ad Aldo è piaciuto o meno fare sport

Page 29: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

29

Rappresentazione delle ipotesi

• Una ipotesi h è una congiunzione di vincoli sugli attributi dell’istanza (concetto congiuntivo).

• Ogni vincolo può essere:– un valore specifico (ad es. “Water=Warm”)– un valore qualunque (ad es. “Water=?”)– nessun valore (ad es. “Water=˘”)

• Può essere scritta comeh=<?,cold,high,?,?,?> oppureif Air Temp=Cold and Humid=High then EnjoySport=Yes

Page 30: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

30

Una formalizzazione

• Dati:

– un insieme di possibili istanze X:

• insieme dei possibili giorni, ciascun descritto dagli attributi Sky, Air Temp, Humid, Wind, Water, Forecast

– un concetto target c: c: X fi {0,1}

• c(x)=1 if EnjoySport=yes

• c(x)=0 if EnjoySport=no

– un insieme di esempi D: <xi,c(xi)> dove ciascun xi˛X

– Uno spazio delle ipotesi H:

• espresse come una congiunzioni di vincoli sugli attributi

Page 31: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

31

Una formalizzazione

• Determinare:

– una ipotesi h in H tale che

• h(x)=c(x) per tutti gli x in X

– il problema di apprendimento consiste nel determinare una ipotesi h che si che dà lo stesso risultato del concetto target c sull’intero insieme di istanze X.

Page 32: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

32

Terminologia

• Se una istanza x soddisfa una ipotesi h si dice che h copre l’esempio x e si scrive h(x)=1. Se l’istanza non soddisfa l’ipotesi allora h(x)=0– h(x)=1 Û copre(h,e)

• Una ipotesi h è consistente con un esempio <x,c(x)> se h(x)=c(x)– Attenzione: non confondere questa definizione di

consistente con quella data in precedenza• Una ipotesi h è consistente con un training set D

se è consistente con ciascun esempio x ˛ D

– Equivale ad una ipotesi completa e consistente secondo le definizioni date in precedenza

Page 33: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

33

Quali informazioni sono disponibili?

D

• Se Sky ha 3 possibili valori e Air Temp, Humid, Wind, Water and Forecast ognuno ne hanno 2, allora X contiene in totale:• 3*2*2*2*2*2=96 possibili istanze• mentre |D|=4

Page 34: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

34

L’ipotesi di apprendimento induttivo

• Si noti che, nonostante si voglia trovare una ipotesi h identica a c su tutto X, abbiamo a disposizione solo gli esempi di training D.

• Si cerca una ipotesi h tale che h(x)=c(x) per ogni x˛D

• Per questo si assume che:

• Ogni ipotesi trovata che approssima la funzione target correttamente su un insieme di esempi sufficientemente grande approssimerà bene la funzione target anche sugli esempi non osservati

Page 35: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

35

Apprendimento di concetti come ricerca

• L’apprendimento di concetti può essere visto come il compito di effettuare una ricerca attraverso un grande spazio di ipotesi H

• Lo scopo della ricerca è di trovare l’ipotesi che meglio copre gli esempi del training set

• Lo spazio delle ipotesi è implicitamente definito dalla rappresentazione delle ipotesi

Page 36: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

36

Un esempio

• Una ipotesi h è una congiunzione di vincoli sugli attributi dell’istanza

• Ogni vincolo può essere:– un valore specifico– un valore qualunque ?– Nessun valore, ˘

• H ha 5*4*4*4*4*4=5120 ipotesi sintatticamente distinte

• In realtà però ogni ipotesi che contiene uno o più ∅ rappresenta l’insieme vuoto di istanze quindi in realtà le ipotesi semanticamente distinte sono 1+4*3*3*3*3*3=973

Page 37: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

37

Ricerca efficiente: come?

• Metodo di ricerca ingenuo: generate-and-test di tutte le ipotesi in H

• Impossibile per spazi di ricerca grandi

• La ricerca può basarsi su una struttura definita da una relazione d’ordine da generale a specifico

h1

h2

• h2 è più generale di h1

Page 38: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

38

Ordinamento da generale a specifico

• Date due ipotesi hk e hj

- hj è più generale o uguale a hk

hj ‡g hk

se e solo se ogni istanza che soddisfa hk soddisfa

anche hj

- hj è strettamente più generale di hk

hj >g hk

se e solo se hj ‡g hk e hk ‡g hj

La relazione inversa più specifico di può essere definita in maniera simile

Page 39: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

Istanze X Ipotesi H

Generale

Specifico

h2

x2

x1=<Sunny,Warm,High,Strong,Cool,Same>

x2=<Sunny,Warm,High,Light,Warm,Same>h1=<Sunny,?,?,Strong,?,?>h2=<Sunny,?,?,?,?,?>h3=<Sunny,?,?,?,Cool,?>

h1 h3x1

Page 40: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

40

Impiego dell’ordinamento da generale a specifico

• Un modo consiste nel cominciare con l’ipotesi più specifica in H e poi generalizzare questa ipotesi il meno possibile ogni volta che non copre un esempio positivo del training set (ricerca bottom-up)

• In questo modo si trova una ipotesi massimamente specifica

Page 41: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

41

Algoritmo Find-S

• Inizializza h alla più specifica ipotesi in H

• Per ciascun esempio positivo x

– per ciascun vincolo su un attributo ai in h

• se il vincolo ai è soddisfatto da x allora non fare

niente

• altrimenti sostituisci ai in h con il prossimo

vincolo più generale che è soddisfatto da x

• Restituisci l’ipotesi h

• Find-S trova sempre una sola soluzione

Page 42: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

42

Esempio

• h‹< ˘, ˘, ˘, ˘, ˘, ˘>• Considera il primo esempio in D:• <sunny,warm,normal,strong,warm,same>,+• L’ipotesi più specifica che lo copre e’• h ‹ <sunny,warm,normal,strong,warm,same>,+• Considera il secondo esempio in D:• <sunny,warm,high,strong,warm,same>,+• L’ipotesi più specifica che copre questo e il precedente e’• h ‹ <sunny,warm,?,strong,warm,same>• Il terzo esempio è ignorato perché e negativo• <rainy,cold,high,strong,warm,change>,-• Considera il quarto esempio in D:• <sunny,warm,high,strong,cool,change>,+• L’ipotesi più specifica che copre tutti i positivi e’• h ‹ <sunny,warm,?,strong,?,?>

Page 43: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

43

Nessuna revisione in caso di esempi negativi: perche’?

• Assunzione di base:

– il concetto target c è in H

– nessun errore nei dati di training

• h è l’unica ipotesi più specifica in H che copre tutti gli esempi positivi

• quindi c ‡g h

• ma c non sarà mai soddisfatto da un esempio negativo

• quindi nemmeno h lo sara’

Page 44: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

44

Limitazioni di Find-S

• Non si può dire se il learner ha trovato il concetto target corretto

– ha trovato l’unica ipotesi in H consistente con i dati oppure ci sono altre ipotesi consistenti?

• Trova una ipotesi massimamente specifica:

– perché dovremmo preferire questa ipotesi rispetto, ad esempio, alla più generale?

Page 45: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

45

Limitazioni di Find-S (cont.)

• Non può determinare se i dati di training sono inconsistenti

– l’inconsistenza negli esempi di training (e+

presentato come e- o viceversa) può sviare Find-S, perché ignora gli esempi negativi. Come si può determinare tale inconsistenza?

• Cosa succede se ci possono essere diverse ipotesi consistenti massimamente specifiche?

– Find-S dovrebbe fare backtracking sulle sue scelte per esplorare diversi rami dell’ordinamento parziale

Page 46: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

46

Spazio delle versioni (Version Space)

• Restituisci uno spazio delle versioni invece di una ipotesi singola

• Lo spazio delle versioni VSH,D, rispetto allo spazio

delle ipotesi H e il training set D, è il sottoinsieme delle ipotesi in H consistenti con gli esempi in D

• VSH,D={h˛H|Consistente(h,D)}

Page 47: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

47

Algoritmo List-then-eliminate

• VSH,D ‹ una lista contenente ogni ipotesi in H

• per ciascun esempio <x,c(x)>, rimuovi da VSH,D

ogni ipotesi h per la quale h(x)„c(x)

• restituisci la lista delle ipotesi in VSH,D

Page 48: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

48

Vantaggi e svantaggi

• È garantito che trovi tutte le ipotesi consistenti con i dati di training

• Può trovare inconsistenze nei dati di training

• Enumerazione esaustiva di tutte le ipotesi:

– possibile solo per spazi finiti H

– non realistica per spazi H grandi

Page 49: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

49

Spazio delle versioni: una rappresentazione compatta

• Lo spazio delle versioni può essere rappresentato dai suoi membri più generali e più specifici (teorema di rappresentazione dello spazio delle versioni)

Generale

Specifico

H

VSH,D

G

S

Training istances

Page 50: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

50

Confine generale

• Il confine generale G, rispetto allo spazio delle ipotesi H e ai dati di training D, è l’insieme dei membri di H massimamente generali che sono consistenti con D

• G={g˛H|Consistente(g,D) and

(¬$g’ ˛H)[(g’>gg) and Consistente(g’,D)]}

Page 51: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

51

Confine specifico

• Il confine specifico S, rispetto allo spazio delle ipotesi H e ai dati di training D, è l’insieme dei membri di H minimamente generali (ovvero massimamente specifici) che sono consistenti con D

• S={s˛H|Consistente(s,D) and

(¬$s’ ˛H)[(s>gs’) and Consistente(s’,D)]}

Page 52: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

52

Uno spazio delle versioni

{<sunny,?,?,?,?,?>,<?,warm,?,?,?,?>}G:

{<sunny,warm,?,strong,?,?>}S:

<sunny,?,?,strong,?,?> <sunny,warm,?,?,?,?> <?,warm,?,strong,?,?>

• Spazio delle versioni per il training set D visto in precedenza

Page 53: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

53

Teorema di rappresentazione dello spazio delle versioni

• Sia X un insieme di istanze e H un insieme di ipotesi booleane definite su X. Sia c:Xfi{0,1} un concetto target definito su X e sia D un insieme di esempi di training {<x,c(x)>}. Per ogni X, H, c e D:

VSH,D={h˛H|($s ˛S)($g ˛G) (g ‡g h ‡g s)}

Page 54: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

54

Algoritmo Candidate-Elimination

• G‹insieme di ipotesi massimamente generali in H

• S‹insieme di ipotesi massimamente specifiche in H• Per ciascun esempio di training d fai:

– se d è un esempio positivo• togli da G ogni ipotesi inconsistente con d• UPDATE-S routine: per ciascuna ipotesi s in S che non è

consistente con d– togli s da S– aggiungi ad S tutte le minime generalizzazioni h di s

tali che

» h è consistente con d e» alcuni membri di G sono più generali di h

– Rimuovi da S ogni ipotesi che è più generale di un’altra ipotesi in S

Page 55: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

55

Algoritmo Candidate-Elimination (cont.)

– se d è un esempio negativo• togli da S ogni ipotesi inconsistente con d

• UPDATE-G routine: per ciascuna ipotesi g in G che non è consistente con d

– togli g da G

– aggiungi a G tutte le minime specializzazioni h di g tali

che

» h è consistente con d e

» alcuni membri di S sono più specifici di h

– Rimuovi da G ogni ipotesi che è meno generale di un’altra ipotesi in G

Page 56: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

56

Esempio di esecuzione (1)

Esempi:1 <sunny,warm,normal,strong,warm,same>,EnjoySport=yes2 <sunny,warm,high,strong,warm,same>,EnjoySport=yes

G0, G1, G2: {<?,?,?,?,?,?>}

{<˘, ˘, ˘, ˘, ˘, ˘ >}S0:

{<sunny, warm, normal, strong, warm, same >}

{<sunny, warm, ?, strong, warm, same >}

S1:

S2:

Page 57: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

57

Esempio di esecuzione (2)

Esempi:3 <rainy,cold,high,strong,warm,change>,EnjoySport=no

G2: {<?,?,?,?,?,?>}

{<sunny, warm, ?, strong, warm, same >}S2, S3:

{<sunny,?,?,?,?,?>, <?,warm,?,?,?,?>, <?,?,?,?,?,same>}G3:

Page 58: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

58

Esempio di esecuzione (3)

Esempi:4 <sunny,warm,high,strong,cool,change>,EnjoySport=yes

{<sunny, warm, ?, strong, warm, same >}S3:

{<sunny,?,?,?,?,?>, <?,warm,?,?,?,?>, <?,?,?,?,?,same>}G3:

{<sunny, warm, ?, strong, ?, ? >}S4:

{<sunny,?,?,?,?,?>, <?,warm,?,?,?,?>, G4:

Page 59: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

59

Esempio di esecuzione (4): risultato

{<sunny,?,?,?,?,?>,<?,warm,?,?,?,?>}G4:

{<sunny,warm,?,strong,?,?>}S4:

<sunny,?,?,strong,?,?> <sunny,warm,?,?,?,?> <?,warm,?,strong,?,?>

Page 60: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

60

A che cosa converge l’algoritmo Candidate-Elimination?

• Il concetto target è appreso quando S e G convergono ad una singola, identica, ipotesi.

• L’algoritmo convergerà verso il concetto target

purché

– non ci siano errori negli esempi di training

– ci sia qualche ipotesi in H che descriva correttamente il concetto target

– ci siano abbastanza esempi

Page 61: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

61

Osservazioni

• Cosa succede se i dati di training contengono degli errori?– Supponiamo che un esempio abbia una errata

classificazione. In questo caso, l’algoritmo rimuove il concetto target corretto dallo spazio delle versioni

– Dato un sufficiente numero di esempi, l’algoritmo scoprirà l’inconsistenza producendo uno spazio delle versioni vuoto

• L’algoritmo produce uno spazio delle versioni vuoto anche quando il concetto target non può essere descritto nel linguaggio di rappresentazione delle ipotesi

Page 62: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

62

Esempio

1<sunny,warm,low,strong,cool,same>EnjoySport=yes

2<sunny,cold,low,strong,cool,change>EnjoySport=yes

3<sunny,cold,low,strong,cool,same> EnjoySport=no

G0, G1, G2: {<?,?,?,?,?,?>}

{<˘, ˘, ˘, ˘, ˘, ˘ >}S0:

{<sunny, warm, low, strong, cool, some >}S1:

S2: {<sunny, ?, low, strong, cool, ? >}

S3: {}

Page 63: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

63

Quali esempi richiedere?

• Si supponga che il learner possa condurre esperimenti in cui scegli la prossima istanza e ne ottiene la classificazione, quali istanze dovrebbe scegliere?

• Dovrebbe scegliere istanze che soddisfino metà delle ipotesi nello spazio delle versioni. In questo modo lo spazio delle versioni è ridotto di un mezzo ad ogni nuovo esempio e per apprendere correttamente il concetto target sono necessari solo Ølog2 |VS|ø

esempi.

• Generalmente, è impossibile adottare questa strategia di ricerca ottimale

Page 64: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

64

Come usare concetti parziali

<sunny,warm,normal,strong,cool,change>

Positivo a giudizio unanime->positivo

(basta verificare che soddisfi tutte le ipotesi in S)

{<sunny,?,?,?,?,?>,<?,warm,?,?,?,?>}G:

{<sunny,warm,?,strong,?,?>}S:

<sunny,?,?,strong,?,?> <sunny,warm,?,?,?,?> <?,warm,?,strong,?,?>

Page 65: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

65

Come usare concetti parziali

<rainy,cold,normal,light,warm,same>

Negativo a giudizio unanime->negativo

(basta verificare che non soddisfi nessuna ipotesi in G)

{<sunny,?,?,?,?,?>,<?,warm,?,?,?,?>}G:

{<sunny,warm,?,strong,?,?>}S:

<sunny,?,?,strong,?,?> <sunny,warm,?,?,?,?> <?,warm,?,strong,?,?>

Page 66: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

66

Come usare concetti parziali

<sunny,warm,normal,light,warm,same>

Metà positivi, metà negativi->non può essere classificato

{<sunny,?,?,?,?,?>,<?,warm,?,?,?,?>}G:

{<sunny,warm,?,strong,?,?>}S:

<sunny,?,?,strong,?,?> <sunny,warm,?,?,?,?> <?,warm,?,strong,?,?>

Page 67: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

67

Come usare concetti parziali

<sunny,cold,normal,strong,warm,same>Due positivi, quattro negativi-> si può classificare come negativo

(voto di maggioranza). La proporzione di positivi e negativi può essere usata come misura della confidenza nella classificazione

{<sunny,?,?,?,?,?>,<?,warm,?,?,?,?>}G:

{<sunny,warm,?,strong,?,?>}S:

<sunny,?,?,strong,?,?> <sunny,warm,?,?,?,?> <?,warm,?,strong,?,?>

Page 68: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

68

Trattamento degli esempi rumorosi

• Rilassare la condizione che le descrizioni dei concetti debbano essere consistenti con tutte le istanze di training

• nel caso di un numero di esempi rumorosi limitato, la soluzione consiste nel

mantenere diversi insiemi G ed S di diversa consistenza

H

VSH,D

G2

S0

Training istances

G1

G0

S1S2

Page 69: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

69

Trattamento degli esempi rumorosi

• L’insieme Si è consistente con tutti gli esempi tranne

i esempi positivi

• L’insieme Gi è consistente con tutti gli esempi tranne

i esempi negativi

• Quando G0 incrocia S0 l’algoritmo può concludere

che nessun concetto nello spazio delle regole è consistente con tutti gli esempi del training set.

• L’algoritmo può cercare un concetto che sia consistente con tutti gli esempi del training set tranne uno

Page 70: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

70

Cosa succede se il concetto non è contenuto nello spazio delle ipotesi

• Non si possono rappresentare concetti disgiuntivi come “sky=sunny or sky=cloudy”

• È richiesto uno spazio delle ipotesi più espressivo

Page 71: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

71

Uno spazio delle ipotesi che include ogni possibile ipotesi?

• Scegli H’ in modo che esprima ogni concetto insegnabile (cioè, H’ è il power set di X)

• H’ può essere ottenuto in questo modo: H’=disgiunzioni, congiunzioni, negazioni sul di h ˛ H

• <sunny,?,?,?,?,?>Ú<cloudy,?,?,?,?,?>

• Che cosa sono S e G in questo caso?

• S è la disgiunzione degli esempi positivi visti finora

• G è la negazione della disgiunzione degli esempi negativi visti finora

Completamente inutile. Nessuna generalizzazione!

Page 72: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

72

Una proprietà fondamentale dell’inferenza induttiva

• Un algoritmo di apprendimento che non fa nessuna assunzione a priori riguardo l'identità del concetto target non ha nessuna base razionale per classificare le istanze non viste.

• Assunzione a priori=inductive bias• Inductive bias dell’algoritmo Candidate-Elimination: il

concetto target appartiene allo spazio delle ipotesi.• Se questa assunzione è corretta (e gli esempi sono

privi di errori) la classificazione di nuove istanze sarà corretta

• Se non è corretta, è sicuro che Candidate-Elimination classificherà male alcune istanze di X

Page 73: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

73

Una definizione formale di bias induttivo

• Si consideri:

– un algoritmo per l’apprendimento di concetti L

– un insieme di istanze X

– un concetto target c

– un insieme di esempi Dc={<x,c(x)>}

– sia L(xj,Dc) la classificazione assegnata all’istanza

xj da L dopo il training sui dati Dc

• Il bias induttivo di L è ogni minimo insieme di asserzioni B tali che per ciascun concetto target c e corrispondenti esempi di training Dc

("xj˛X)[(BÙDc Ùxj) |- c(xj)=L(xj,Dc)]

Page 74: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

74

Inductive bias di Candidate-Elimination

• Si consideri il seguente algoritmo: dati Dc, l’algoritmo Candidate-Elimination genera prima lo spazio delle versioni e poi classifica una nuova istanza xi mediante voto delle ipotesi nello spazio delle versioni. Supponiamo che produca una classificazione solo se il voto è unanime, altrimenti non produca una classficazione.

• L’inductive bias di questo algoritmo è l’assunzione che c ˛ H

• Da c ˛ H segue che c ˛ VSH,Dc

• L genera la classificazione L(xi,Dc) se e solo se ogni ipotesi in VSH,Dc produce questa classificazione, inclusa c, quindi c(xi)= L(xi,Dc)

Page 75: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

75

Modellazione di sistemi induttivi mediante sistemi deduttivi equivalenti

Algoritmo Candidate-Elimination Utilizza lo spazio delle ipotesi H

Classificazione di nuove istanze o “non so”

Esempi di training

Nuove istanze

Dimostratore di teoremi

Classificazione di nuove istanze o “non so”

Esempi di training

Nuove istanze

Sistema induttivo

Sistema deduttivo equivalente

Assunzione “c ˛ H”

• Il bias induttivo reso esplicito nel sistema deduttivo è implicito in quello induttivo

Page 76: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

76

Usi del bias induttivo

• Il bias induttivo è un modo non procedurale per caratterizzare la politica dell’algoritmo di apprendimento per generalizzare oltre i dati osservati

• Il bias induttivo consente di confrontare diversi algoritmi di apprendimento sulla base del bias induttivo che adottano. Esempi di bias induttivi di forza crescente:– Rote-learner: memorizza gli esempi. Classifica x

solo se è uguale ad un esempio memorizzato =>Nessun bias induttivo

– Candidate-Elimination: c ˛ H

– Find-S: c ˛ H + tutte le istanze sono negative a meno che non si provi l’opposto

Page 77: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

77

Bias induttivo

• Più il bias induttivo è forte, maggiore è il numero delle istanze che vengono classificate

Page 78: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

78

Esercizio

• Si consideri il problema EnjoySport e lo spazio delle ipotesi H visto in precedenza.

• Si definisca un nuovo spazio delle ipotesi H’ che consiste nella disgiunzione di coppie di ipotesi di H. Ad esempio:

• <?,Cold,High,?,?,?> v <Sunny,?,High,?,?,Same>

• Dato la sequenza di esempi D, si mostri la sequenza di valori degli insiemi S e G ottenuta applicando l’algoritmo Candidate-Elimination.

Page 79: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

79

Bibliografia

[Ber96] F. Bergadano e D. Gunetti, Inductive Logic Programming - From Machine Learning to Software Engineering, MIT Press, Cambridge, Massachusetts, 1996

[Mit97] T. M. Mitchell, Machine Learning, McGraw-Hill, 1997

[Michalski 1986] Michalski, R. S. “Understanding the nature of learning: Issues and research directions” in Michalski, R. S., Carbonell, J. G., and Mitchell, T. M., editors, Machine Learning - An Artificial Intelligence Approach, Volume II, Morgan Kaufmann Publishers, Los Altos, California, pages 3—26, 1986.

Page 80: Introduzione all’apprendimento automatico e Spazio delle ...lia.deis.unibo.it/corsi/2003-2004/SD-LS-CE/pdf/13-Introduzione... · – nominali – ordinali – numerici (scale di

80

Bibliografia

[Simon 1984] Simon, H. A. “Why should machines learn” In Michalski, R. S., Carbonell, J. G., and Mitchell, T. M., editors, Machine Learning - An Artificial Intelligence Approach, Springer-Verlag, Berlin, pages 25—37, 1984.