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
-
applicazione di una sostituzione
-
aggiunta di un predicato alle premesse dalla clausola.
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:
-
un predicato avente per argomento una piu' variabili che figurano nella
testa della clausola: X = Y, femmina(X), femmina(Y), genitore(X,Y),
genitore(Y,X), genitore(X,X), genitore(Y,Y)
-
un predicato che introduca nuove variabili nel corpo della clausola, come:
genitore(X,Z), genitore(Z,X), ....
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