succ  prec  indice 

Tecniche di Specializzazione

Nello  spazio delle ipotesi  esprimibile in un determinato linguaggio , e' possibile introdurre una relezione di ordinamento, definita attravero l'operatore di generalizzazione . In particolare, per ogni coppia di ipotesi e' possibile determinare sia una loro generalizzazione minima che una specializzazione massima. Lo spazio delle ipotesi viene dunque ad assumere la struttura di reticolo dove l'estremo superiore e' costituuito dall'ipotesi vuota, assunta come piu' generale.

La tecniche di apprendimento simbolico che operano per specializzazione, partono da questa ipotesi di massima generalita', e percorrendo il reticolo in direzione top-down, specializzano ad ogni passo l'ipotesi di lavoro fino a renderla consitente con gli esempi negativi forniti.
 
 

Operatore di Specializzazione

Data l'ipotesi corrente c, la determinazione delle possibili specializzazione candidate, viene fornita dall "operatore di specializzazione" (refinement) p(c), che  ritorna l'insieme delle clausole, esprimibili nel linguaggio L, che costituiscono una specializzazione minimale (piu' generale possibile) di c.
p(c)    =    { c'    |    c' esprimibile in L,     c <theta c'    }

   con     c' in p(c),  c' <theta c''     ->  c'' non in p(c)

dove con <theta viene indicato l'ordinamento di generalizzazione (theta-subsumption) .
 
Nella costruzione di p(c) vengono impiegate due possibili operazioni sintattiche sulla clausola c Ogni clausola cosi' ottenuta deve soddisfare almeno un esempio positivo per essere considerata significativa.
La consitenza con gli esempi negativi definisce invece un criterio di terminazione della ricerca, in quanto il risultato ottenuto esprime correttamente e in modo minimale alcune istanza del concetto da apprendere.

Esempio:

Sia h

figlia( X,Y )
il predicato da apprendere.

Sia L l'insieme dei predicati utilizzabili per descrizione di h

L    =    { femmina(X), genitore(X,Y) }
 
a cui viene aggiunto il predicato di ugualianza
 
equal( X, Y )
 

L'ipotesi piu' generale esprimibile nel linguaggio e'

                            cmax     =      :- 

rappresentabile anche come
 

cmax     =     false
 
o equivalentemente,
 
cmax     =     false     :-     true
 
praticamente pero' la ricerca include nella clausola di partenza il predicato da apprendere, senza precondizioni
cstart    =    figlia( X,Y )  :-
l'applicazione dell'operatore di specializzazione p()  alla clausola cstart definisce l'insieme
p(cstart )     =    { figlia( X,Y )  :- l }
dove la precondizione l puo' essere una delle seguenti: Proseguendo nella ricerca, occorre considerare anche le possibili sostituzioni applicabili alla clausola, tenendo in considerazione che queste risultano essere meno generali delle corrispondenti clausole contenenti variabili, e potendo quindi figurare nell'insieme p(ci ), solo dopo che queste ultime siano gia' entrate a far parte dell'ipotesi corrente.
 

Pre-Elaborazione

L'insieme di esempio ottenibile dal contesto del problema di apprendimento puo' essere relativo unicamente ad istanze positive del concetto in esame. Puo' essere quindi necessaria una fase preliminare di generazione esplicita dei casi negativi, come differenza tra tutte le tuple di attributi esprimibili nel linguaggio e le istanze positive effettivamente disponibili.
Questo costituisce un'applicazione del principio di "mondo-chiuso", secondo cui la conoscenza sul dominio viene assunta essere completa.
Se pero' gli esempi risultano essere solo un campione di una popolazione piu' estesa, questo procedimento risulta non corretto.
In questi casi, infatti, l'incompletezza della specificazione del concetto portera' a ipotesi di descrizione piu' o meno approssimate.
 
 
 

Post-Elaborazione

L'apprendimento basato su dati incompleti e con errori, porta spesso ad un'eccessiva complessita' delle ipotesi prodotte, dovuto alla necessita' di considerare numerosi casi particolari.
Per ovviare a questo problema, si puo' intervenire con una fase finale di "semplicazione" del risultato, ripartendo il campione in "insieme di apprendimento" (training set) e "insieme di validazione" (validation set).
L'"insieme di validazione" viene utilizzato nella fase di post-elaborazione, al fine di valutare la significativita' delle clausole, durante la semplificazione.
 


 succ  prec  indice