• Non ci sono risultati.

Apprendimento di Concetti Corso di AA, anno 2017/18, Padova Fabio Aiolli 18 Ottobre 2017

N/A
N/A
Protected

Academic year: 2021

Condividi "Apprendimento di Concetti Corso di AA, anno 2017/18, Padova Fabio Aiolli 18 Ottobre 2017"

Copied!
14
0
0

Testo completo

(1)

Apprendimento di Concetti

Corso di AA, anno 2017/18, Padova

Fabio Aiolli

18 Ottobre 2017

(2)

Concept Learning

Definizione di una categoria (concetto) basata su esempi positivi e negativi della categoria

E una` istanza di Supervised Learning, ovvero pu`o essere formulato come il problema di cercare in uno spazio di ipotesi potenziali quella che meglio si adatta (“fitta”) gli esempi di training

Nel caso specifico vedremo che possiamo avvantaggiarci della

struttura dello spazio delle ipotesi per rendere la ricerca pi´u efficiente

(3)

Esempio del libro

Determinare i giorni in cui l’amico Aldo decider`a di praticare il suo sport d’acqua preferito

Ogni esempio (giorno) viene rappresentato come un insieme di attributi discreti

Il task `e quello di predire il valore dell’attributo EnjoySport sulla base degli altri attributi

(4)

Esempio del libro

(5)

Concept Learning: alcune definizioni

Un concetto in uno spazio delle istanze (instance space) X `e definito come una funzione booleana su X , c : X → {0, 1}

Un esempio (di un concetto c) su uno spazio delle istanze X `e definito come una coppia (x , c(x )), dove x ∈ X e c() `e una funzione booleana su X

Sia h : X → {0, 1} una funzione booleana su X , diciamo che h soddisfax ∈ X se h(x ) = 1

Sia h : X → {0, 1} una funzione booleana su X e (x , c(x )) un esempio di c. Diciamo che h `e consistente con l’esempiose

h(x ) = c(x ). Similmente, una ipotesi h `econsistente con un insieme di esempi D (e si indica h . D) se e solo se h(x ) = c(x ) per ogni esempio hx , c(x )i.

(6)

Struttura dello spazio delle ipotesi

Definizione: Siano hi e hj funzioni booleane definite su uno spazio delle istanze X . Diciamo che hi `e pi`u generale o equivalente di hj (hig hj) se e solo se

∀x ∈ X , [(hj(x ) = 1) ⇒ (hi(x ) = 1)]

Esempi:

l1g (l1∧ l2) e l2g (l1∧ l2) l1 g l2 e l2 g l1 (non comparabili)

(7)

Algoritmo FIND-S

Consideriamo lo spazio delle ipotesi delle congiunzioni di m letterali (positivi e negativi)

/* Find-S trova l’ipotesi pi`u specifica che `e consistente con gli esempi di apprendimento */

Input: Insieme di apprendimento Tr

Inizializza h con l’ipotesi pi`u specifica: h ≡ l1∧ ¬l1∧ · · · ∧ lm∧ ¬lm Per ogni istanza di apprendimento positiva (x , True) ∈ Tr , rimuovi da h ogni letterale non soddisfatto in x

Restituisci h

(8)

Esempio di applicazione di FIND-S con m = 5

Esempio (+) Ipotesi corrente

h0= l1∧ ¬l1∧ l2∧ ¬l2∧ l3∧ ¬l3∧ l4∧ ¬l4∧ l5∧ ¬l5 11010 h1= l1∧ l2∧ ¬l3∧ l4∧ ¬l5

10010 h2= l1∧ ¬l3∧ l4∧ ¬l5 10110 h3= l1∧ l4∧ ¬l5 10100 h4= l1∧ ¬l5 00100 h5= ¬l5 Notare che:

h0g h1g h2g h3g h4g h5

Ad ogni passo, l’ipotesi corrente hi `e sostituita con una sua generalizzazione minima hi +1 consistente con l’esempio corrente

(9)

Osservazioni su FIND-S

Find-S pu`o essere adattato ad altri spazi delle istanze e delle ipotesi Idea base: calcolare una generalizzazione minima della ipotesi corrente quando essa non `e consistente con l’esempio corrente

Ogni volta che l’ipotesi corrente hi viene generalizzata con una ipotesi hi +1 (hi +1g hi), tutti gli esempi positivi presentati in precedenza continuano ad essere soddisfatti. Infatti, poich´e hi +1g hi, avremo

∀x ∈ X , (hi(x ) = 1) ⇒ (hi +1(x ) = 1)

Se il concetto target c() `e contenuto nello spazio delle ipotesi, allora tutti gli esempi negativi rimarranno consistenti con l’ipotesi corrente durante tutta l’evoluzione dell’algoritmo. Questo perch´e ad ogni passo l’ipotesi corrente `e l’ipotesi pi´u specifica (ovvero quella che assegna il minor numero di 1 alle istanze in X ) consistente con gli esempi (positivi) visti fino a quel momento.

(10)

Limiti di FIND-S

Convergenza al target concept? Non c’`e modo di determinare se la regola trovata da FIND-S `e l’unica in H consistente con gli esempi (ovvero il concetto target corretto), oppure se ci sono altre ipotesi consistenti con gli esempi di training.

Perch´e preferire l’ipotesi pi`u specifica? e non quella pi`u generale o un’altra di generalit`a intermedia.

Gli esempi sono consistenti? Nelle applicazioni pratiche gli esempi di training potrebbero contenere rumore (noise). In questo caso FIND-S potrebbe addirittura convergere ad una ipotesi inconsistente con gli esempi negativi.

Cosa succede se ci sono pi`u ipotesi massimamente specifiche? In questo caso FIND-S dovrebbe essere esteso per prevedere una sorta di backtracking sulle scelte di generalizzazione delle ipotesi, rendendo possibile percorrere un ramo diverso nell’ordine parziale.

(11)

Uso degli esempi negativi

Esiste un motivo valido per preferire l’ipotesi pi`u specifica?

NO

Vediamo invece come sia possibile trovare TUTTE le ipotesi consistenti con un insieme di apprendimento (detto Version Space).

IDEA: Algoritmo Candidate-Elimination

Partire con un version space candidato uguale all’intero spazio delle ipotesi.

Usare gli esempi positivi per rimuovere le ipotesi troppo specifiche dal version space candidato

Usare gli esempi negativi per rimuovere le ipotesi troppo generali dal version space candidato

(12)

Candidate-Elimination (definizioni)

Il version space`e il sottoinsieme di ipotesi in H consistente con gli esempi di training.

Il general boundarydi uno spazio di ipotesi H e dati di training D `e l’insieme dei membri di H di massima generalit`a consistenti con D, G ≡ {g ∈ H|g . D ∧ (@g0 ∈ H)[(g0 >g g ) ∧ g0. D]}.

Lo specific boundarydi uno spazio di iptesi H e dati di training D `e l’insieme dei membri di H di massima specificit`a consistenti con D, S ≡ {s ∈ H|s . D ∧ (@s0 ∈ H)[(s >g s0) ∧ s0. D]}.

Dat G e S , si pu`o dimostrare che una ipotesi h appartiene al version space se e solo se: (∃s ∈ S )(∃g ∈ G )(g ≥g h ≥g s).

(13)

Algoritmo Candidate-Elimination

(14)

Recap

Nozioni

Consistenza e soddisfacimento per le ipotesi Version space

Gerarchia su spazi delle ipotesi: Generalit`a e specificit`a Algoritmo Find-S e suoi limiti

Caratterizzazione del version space mediante boundaries Algoritmo Candidate-Elimination

Esercizi

Pi`u facile: Implementazione in Python dell’algoritmo Find-S Pi`u difficile: Implementazione in Python dell’algoritmo Candidate-Elimination

Riferimenti

Documenti correlati

Dare reti multi-strato basate su Perceptron con soglia hard e relativi pesi (senza usare apprendimento) che realizzino funzioni booleane semplici quali: A and (not B), A xor

Non ` e detto che converga ad un

In particolare, essa usa la discesa di gradiente per esplorare lo spazio delle ipotesi e selezionare l’ipotesi che approssima meglio il concetto target (minimizzando una funzione

Apprendimento di reti diverse sugli stessi dati con inizializzazioni differenti e selezione della rete pi` u efficace (per esempio valutando su un validation set)?.

Step 1 is justified by Cover’s theorem on separability, which states that non-linearly separable patterns may be transformed into a new feature space where the patterns are

Raccolta, analisi e pulizia dei dati Preprocessing e valori mancanti Studio delle correlazioni tra variabili Feature Selection/Weighting/Learning Scelta del predittore e Model

Neural Networks: nonlinear/linear neurons, number of hidden units, η, other learning parameters we have not discussed (e.g., momentum µ) Hold-out or Cross-Validation can be used

Supponendo una distribuzione a priori uniforme sulle ipotesi corrette in H, Seleziona una qualunque ipotesi da VS , con probabilit` a uniforme Il suo errore atteso non ` e peggiore