APPRENDIMENTO AUTOMATICO - Prof. Evelina Lamma Dip. di Ingegneria, Univ. di Ferrara

Pagina creata da Samuele D'Agostino
 
CONTINUA A LEGGERE
APPRENDIMENTO
                   AUTOMATICO

                  Prof. Evelina Lamma
           Dip. di Ingegneria, Univ. di Ferrara
                  elamma@ing.unife.it

Apprendimento Automatico                                                          1

• La capacità di apprendimento è fondamentale in un sistema
  “intelligente”
      – risolvere nuovi problemi
      – non ripetere gli errori fatti in passato
      – risolvere problemi più efficientemente o in modo migliore
      – autonomia nell’affrontare e risolvere problemi (indipendenza da esperto
        che fornisce la conoscenza)
      – adattarsi ai cambiamenti dell’ambiente circostante
• Un sistema senza queste caratteristiche difficilmente potrebbe essere
  considerato intelligente
• Machine Learning (Apprendimento Automatico)
      – importante area della AI fino dagli anni ‘60
      – importanti risultati: vari approcci all’apprendimento
      – importanti relazioni con altre aree di ricerca, non solo dell’IA o
        dell’informatica

Apprendimento Automatico                                                          2
attuatori
                                Problem
                                 solver
                  K.B.                                     environment
                                learning
                                               sensori
                                element

• Learning element estende la K.B.
     – Interagendo con l’ambiente
     – usando il problem solver
     – usando conoscenza già disponibile
• Molti approcci per definire il “learning element”
     –    obiettivo del processo di apprendimento
     –    tipo di informazione disponibile
     –    tipo di conoscenza disponibile
     –    forma della conoscenza da apprendere

Apprendimento Automatico                                                        3

                           Apprendimento induttivo
• Apprendimento a partire da esempi forniti da un supervisore
• Induzione: una possibile visione matematica
      – dato un insieme di coppie 
      – determinare quale è la funzione f(x) di cui le coppie sono istanze
• Terminologia:
      –   Esempio = una istanza  della funzione da apprendere
      –   Contro-esempio = una coppia  per cui si ha che b ≠ f(aj)
      –   Ipotesi = una possibile definizione h per la funzione da apprendere
      –   Spazio di ipotesi = l’insieme delle ipotesi possibili
      –   Bias = un criterio di preferenza tra le ipotesi
            • ad esempio forma sintattica delle funzioni
• Induzione = generalizzazione da esempi
  obiettivo: trovare un’ipotesi h che sia in accordo con tutti gli esempi e i
  contro-esempi
• Induzione: forma di inferenza logica

Apprendimento Automatico                                                        4
• Concept learning: un’altra visione dell’induzione
        – problema:
             • dato insieme di concetti (classi di oggetti)
             • dato un insieme di esempi e contro-esempi per i concetti
                  – esempi: istanze del concetto
                  – contro-esempi: individui che non sono istanze del concetto
            • apprendere la descrizione dei concetti
        – esempio: classificazione (vedremo)
   • Molti approcci all’apprendimento induttivo
        – tipo di conoscenza da apprendere (linguaggio e bias)
        – tipo di esempi
        – diverse forme (più o meno forti) di generalizzazione
   • nel corso del seminario vedremo
        – Linguaggi attributo-valore
             • apprendimento di alberi decisionali (classificazione)
             • apprendimento di descrizioni strutturate di concetti (version space)
             • apprendimento con metodi statistici
        – Linguaggi del primo ordine (Inductive Logic Programming)
  Apprendimento Automatico                                                            5

                                     Classificazione
• Forma di problem solving comune in molti task
• Dato un insieme di classi C1, C2, …, Cn
    – per ogni classe è fornita una definizione (descrizione)
      per ognuna delle Ci è dato un insieme di features fi1, …, fiji
• dato un oggetto a: stabilire a quale delle classi appartiene
• Apprendimento per classificazione:
    – dato un insieme di esempi (e contro-esempi)
    – apprendere la descrizione delle classi
• Esempio
    – descrizione di classi
          • classe C1=auto: ruote=4, motore=presente
          • classe C2=bici: ruote=2, motore=assente
    – esempi
          • a=auto motore=presente
          • a not = auto ruote=2
• Molte possbili rappresentazioni delle classi e approcci alla classificazione

  Apprendimento Automatico                                                            6
Una visione grafica
• Classe C descritta da due attributi a1 e a2
• rappresentazione grafica di esempi e contro-esempi
                     a2
                                                           esempio
                                                           contro-esempio

                                                 a1

• Concetto da apprendere: figura nel piano di a1, a2 che
      – copre tutti gli esempi
      – non copre contro-esempi
• bias: forma geometrica della figura
• esempio
                     a2

                                                 a1
Apprendimento Automatico                                                       7

                           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
      –   continui o discreti, etc
• Se k sono gli attributi, ciascuna istanza può essere rappresentata come
  un punto in uno spazio k-dimensionale
• Imparare:
      – alberi di decisione
      – descrizioni strutturate (formule logiche)
      – con metodi statistici, la classe di appartenenza

Apprendimento Automatico                                                       8
Alberi decisionali
• Una rappresentazione operazionale per un sistema di decisione (e di
  classificazione)
• Alberi in cui
       – i nodi con figli corrispondono a domande (attributi)
       – gli archi che escono dai nodi alle possibili risposte (valori degli attributi)
       – le foglie sono decisioni (le classi)
• Esempio
                                               No. di ruote
                                        2                                4
                             motore                                           auto
                        si              no
                  moto                  bici

• Una versione più semplice: albero di decisione per un concetto
  booleano (appartenenza a una classe)

Apprendimento Automatico                                                                                                 9

•     Esempio [Russel, Norvig]: entrare in un ristorante?

                                                      no. clienti
                   nessuno                      alcuni                       pieno
                  no                si                          stima attesa

                             >60                                                                       0-10
                                                          30-60          10-30
                         no                  alternative                         fame                     si
                                                                         no                  si
                   no                           si
        prenotazione                Ven/Sab                         si                   alternative
                                   no          si                                       si                     no
      no          si
                                                                                      piove                         si
      Bar          si              no            si
                                                                                 no          si
 no         si
                                                                                 no               si
 no          si

                             si e no sono le due classi di decisione

Apprendimento Automatico                                                                                                 10
• Apprendimento: costruire l’albero a partire da esempi
      – esempi di decisioni
               • si/no (esempi e contro-esempi) nel caso di decisioni binarie
      – esempi delle varie classi corrispondenti alle foglie
• Esempio:

Es.                                         attributi                                     Dec
        alt.       bar     V/S    fame    noC prez         piov   pren     tipo     att
 x1      si        no      no       si     alc    £££       no     si        F    0-10    Si
 x2      si        no      no       si    pieno     £       no     no     Thai    30-60   No
 x3     no          si     no      no      alc      £       no     no     hamb    0-10    Si
 x4      si        no       si      si    pieno     £       no     no     Thai    10-30   Si
 x5      si        no       si     no     pieno £££         no     si        F     >60    No
 x6     no          si     no       si     alc     ££       si     si        I     0-10   Si
 x7     no          si     no      no     ness      £       si     no     hamb     0-10   No
 x8     no         no      no       si     alc     ££       si     si     Thai     0-10   Si
 x9     no          si      si     no     pieno     £       si     no     hamb     >60    No
x10      si         si      si      si    pieno £££         no     si        I    10-30   No
x11     no         no      no      no     ness      £       no     no     Thai     0-10   No
x12      si         si      si      si    pieno     £       no     no     hamb    30-60   Si

Apprendimento Automatico                                                                        11

• Una soluzione banale
      – costruire un ramo per ognuno degli esempi
• Obiettivo
      – costruire un albero “semplice”
      – costruire il più semplice tra quelli consistenti con gli esempi
               • in generale è indecidibile
               • euristiche per costruirne uno “ragionevolmente semplice”
• Un algoritmo: ID3 [Quinlan]
               if non ci sono esempi then termina (o classifica a maggioranza)
               if tutti gli esempi hanno la stessa classificazione
                   then etichetta il nodo con la classificazione
                   else if nessun attributo rimasto then termina con problema
                            seleziona attributo Ai che discrimina meglio
                            dividi gli esempi in base ai valori di Ai
                            costruisci un nodo etichettato con Ai e con un ramo in
                                       uscita per ogni valore vj di Ai
                            richiama ricorsivamente per ogni vj con gli esempi
                                       corrispondenti
Apprendimento Automatico                                                                        12
• Attributo ideale Ai da selezionare ad ogni passo
     – discrimina completamente tra gli esempi, ossia
          • dati valori v1, …, vk
          • per ogni vj, tutti gli esempi con lo stesso valore vj hanno la stessa classificazione
• Attributo da scegliere
     – quello che discrimina meglio tra gli gli esempi
          • per la maggior parte dei vj, gli esempi con lo stesso valore di vj hanno quasi tutti la
            stessa classificazione
• Una misura della bontà di un attributo: entropia
     – studiata in information theory [Shannon, Weaver]
     – misura la quantità di informazione fornita da ognuno degli attributi
          • per ogni attributo Ai, e ogni valore vj costruiamo distribuzione di probabilità delle
            classi:             P(C1), …, P(Cm)
          • I(Ai) informazione fornita da Ai definita nel modo seguente

                        I(Ai) = Σ I(vj)

                        I(vj) =   Σ -P(Cj) log2 P(Cj)
          • ha valore minimo (0) quando una P(Cj) vale 1, ossia quando ogni valore
            dell’attributo discrimina completamente

Apprendimento Automatico                                                                              13

• Esempio
      – attributo noClienti: per due valori discrimina completamente (“nessuno” e
        “alcuni”)
                                               noClienti
                         nessuno                                    alcuni
                                          pieno
                   si: ---                                              si: x1, x3, x6, x8
                                              si: x4, x12
                   no: x7, x11                                          no: ---
                                              no: x2, x5, x9, x10

      – attributo tipo: discrimina male per tutti i valori

                                                   tipo
                burg                                                          Thai
                                          I           F
          si: x3, x12                  si: x6              si: x1            si: x4, x8
          no: x7, x19                  no: x10             no: x5            no: x2, x11

     – Tra i due noClienti è la scelta migliore
     – in generale tra tutti è quello con entropia più bassa

Apprendimento Automatico                                                                              14
– L’algoritmo procede ricorsivamente considerando il valore “pieno” di
              noClienti e considerando gli esempi per quel valore
                 • si analizzano gli altri attributi
                 • si seleziona quello che discrimina meglio
                   nel caso “fame”: per uno dei due valori si ha classificazione completa

                                                       noClienti
                            nessuno                                           alcuni
                                                    pieno
                        si: ---                                                       si: x1, x3, x6, x8
                                                     si: x4, x12
                        no: x7, x11                                                   no: ---
                                                     no: x2, x5, x9, x10
                                                         fame
                                         si                                  no
                                  si: x4, x12                            si: ---
                                  no: x2, x10                            no: x5, x9

          – Analogamente si procede ricorsivamente su ramo “si”

  Apprendimento Automatico                                                                                 15

            – Alla fine, l’albero risultante (diverso da quello visto prima)

                                                   noClienti
                        nessuno                                           alcuni
                                               pieno
                    si: ---                                                       si: x1, x3, x6, x8
                                               si: x4, x12
                    no: x7, x11                                                   no: ---
                                               no: x2, x5, x9, x10
                       no                                                                si
                                                    fame
                                   si                                 no
                            si: x4, x12                            si: ---
                            no: x2, x10                            no: x5, x19 no
                                        tipo
          burg                                                             Thai
                             I                 F
si: x12                     si: ---                  si: ---              si: x4
no: ---                     no: x10                  no:---               no: x2
     si                       no                         si                  Ven/Sab
                                                                     si                       no
                                                                   si: x4                     si: ---
                                                                   no: ---                    no: x2
                                                                    si                        no
  Apprendimento Automatico                                                                                 16
Valutazione delle prestazioni

• Conoscenza appresa influenzata dagli esempi
      – potrebbe classificare in modo sbagliato nuove istanze
      – esempi devono essere un buon campione della popolazione
• Una strategia di verifica della conoscenza appresa da esempi
      – collezionare un grande insieme di esempi che sia un campione
        significativo
      – dividere l’insieme in due
           • training set T
           • test set S
        in modo uniforme (secondo la stessa distribuzione degli esempi)
      – effettuare l’apprendimento usando T
      – valutare la percentuale di corretta classificazione usando S
      – ripete lo stesso processo più volte con diversa divisione tra T e S e per
        diverse dimensioni del training set

Apprendimento Automatico                                                            17

             Sistemi che apprendono alberi di decisione

• CLS, IDR, C4.5, ASSISTANT, ID5, etc.
• Problemi appropriati:
      –   le istanze sono rappresentate da coppie attributo valore
      –   la funzione target ha valori discreti
      –   possono essere richieste descrizioni disgiuntive di concetti
      –   l’insieme dei dati di training può contenere errori
      –   l’insieme dei dati di training può contenere dati mancanti

Apprendimento Automatico                                                            18
Alberi di decisione: c4.5

• Evoluzione di ID3, del medesimo autore, J.R. Quinlan,
• ispirato ad uno dei primi sistemi di questo genere, CLS (Concept
  Learning Systems) di E.B. Hunt
• Continuo studio ed aggiornamento (release 8): rimane uno dei punti di
  riferimento nella propria classe di algoritmi.
• Tratta attributi:
      – discreti
      – continui
      – con valore indefinito
• E’ in grado di produrre alberi completi, alberi semplificati (maggiore
  generalizzazione) regole di produzione a partire dall’albero

Apprendimento Automatico                                                     19

             Apprendimento di descrizioni strutturate

• In alberi decisionali le classi non sono rappresentate in modo esplicito
• Altri approcci: rappresentazione strutturata delle classi usando un
  linguaggio di rappresentazione delle conoscenza
     – reti semantiche [Winston]
     – logica
     – …
• Vedremo l’approccio definito da Mitchell (version space) per
     – apprendimento di descrizioni basate su formule logiche

Apprendimento Automatico                                                     20
Apprendimento di formule logiche
• Descrizione classi
      – formula logica F i cui predicati sono attributi delle classi
      – F consistente con esempi
           • F vera su esempi
           • F falsa su contro-esempi
      – estensione di F: insieme delle istanze per cui F è vera
• Esempi
      – formule logiche e classe di appartenenenza
                  (spesso Fi ground)
• Esempio
      – classe attesa del ristorante
        ∀x attesa(X) ↔ noClienti(X,alcuni) ∨
                            (noClienti(X,molti) ∧ ¬fame(X) ∧ tipo(X,f)) ∨
                            (noClienti(X,molti) ∧ ¬fame(X) ∧ tipo(X,thai) ∧ ven-sab(X)) ∨
                            (noClienti(X,molti) ∧ ¬fame(X) ∧ tipo(X,burger))
      – istanza
           alternative(x1) ∧ ¬bar(x1) ∧ ¬ven-sab(x1) ∧ fame(x1) …. CLASSIF attesa(x1)
Apprendimento Automatico                                                                    21

• Hypothesis space
      – spazio delle possibili formule logiche per definire ogni classe C
• Hypothesis
      – una particolare definizione H per C
• Estensione di una ipotesi
      – insieme di istanze di H
• Una ipotesi H si dice completa:
      – se copre tutti gli esempi positivi (ogni esempio positivo è istanza di H)
• Una ipotesi H si dice consistente:
      – se non copre alcun esempio negativo (nessun contro-esempio è istanza di
        H)

Apprendimento Automatico                                                                    22
Falsi negativi e falsi positivi
• Falso negativo per H
      esempio x è un falso negativo per H se e solo se
           • x è un esempio per C
           • x non è istanza di H (H prevede che sia negativo)
• Falso positivo per H
      esempio x è un falso positivo per H se e solo se
           • x non è un esempio per C (contro-esempio)
           • x è istanza di H (H prevede che sia positivo)
• Falso negativo e falso positivo indicano che H è sbagliata e deve essere
  modificata
• Come modificarla?
      – Se ci sono falsi negativi per H, occorre renderla più generale in modo da
        includerli
      – Se ci sono falsi positivi per H occorre renderla più specifica, in modo da
        escluderli

Apprendimento Automatico                                                             24
• Generalizzazione e specializzazione: due operatori per modificare
  formule
        date ipotesi H e H’ con estensioni e(H) e e(H’)
        – H è più specifica di H’ (H è una specializzazione di H’)
           se e solo se e(H) ⊆ e(H’) (alt. |— H → H’)
        – vv. H’ è più generale di H
        esempio
        – cubo(x) ∧ rosso(x) è più specifica di cubo(x)
        – cubo(x) è più specifica di cubo(x) ∨ piramide(x)
        ATTN: possono anche essere definiti rispetto a teoria T
• Operatori di generalizzazione
        – dropping condition: da cubo(x) ∧ rosso(x) a: cubo(x)
        – sostituzione con predicati più generali: da cubo(x) a figGeo(x)
          (se cubo(x) → figGeo(x))
• Operatori di specializzazione (duali)
        – aggiunta condizioni
        – sostituzione con predicati più specifici

Apprendimento Automatico                                                                 25

             Generalizzazione/Specializzazione: Esempio

  Es.                                      attributi                               Dec
           alt.   bar      V/S   fame   noC prez       piov   pren    tipo   att
 x1         si    no       no      si     alc    £££    no     si       F   0-10   Si
 x2         si    no       no      si   pieno      £    no     no    Thai 30-60    No
 x3        no      si      no     no      alc      £    no     no    hamb 0-10     Si
 x4         si    no        si     si   pieno      £    no     no    Thai 10-30    Si
 x5         si    no        si    no    pieno £££       no     si       F   >60    No
 x6        no      si      no      si     alc     ££    si     si       I  0-10    Si
 x7        no      si      no     no     ness      £    si     no    hamb 0-10     No
 x8        no     no       no      si     alc     ££    si     si    Thai 0-10     Si
 x9        no      si       si    no    pieno      £    si     no    hamb >60      No
 x10        si     si       si     si   pieno £££       no     si       I  10-30   No
 x11       no     no       no     no     ness      £    no     no    Thai 0-10     No
 x12        si     si       si     si   pieno      £    no     no    hamb 30-60    Si

Apprendimento Automatico                                                                 26
Istanze X                                          Regole H

                                                                                Generale

             x9
                          x5
    x12                        x4
             x10                                            h2

                     x2                                h1        h3

                                                                                Specifico

    h2: noClienti=pieno
    h1: noClienti=pieno ∧ fame=si
    h3: noClienti=pieno ∧ bar=si

• Apprendimento incrementale:
      parto da un esempio x1, con H ≡ x1
      while ci sono esempi do
         seleziona esempio xi
         if H consistente con xi
            then H invariata
            else if xi è un falso negativo per H (H dice neg ma xi è esempio)
                      then H := generalizzazione di H consistente con xi
                 if xi è un falso positivo per H (H dice pos ma xi non è esempio)
                      then H := specializzazione di H consistente con xi
• Problemi
      – Hypothesis space enorme
      – molti modi per generalizzare e specializzare
• Una soluzione: version space
      – introdurre un bias
      – gestire la ricerca con least-committment

Apprendimento Automatico                                                              28
Version space
 • Apprendere formule logiche da esempi ma:
      – non mantenere singola ipotesi che viene modificata
      – mantenere in forma compatta l’intero spazio di ipotesi consistenti
 • bias: ipotesi in forma congiuntiva
      – consente di strutturare Hypothesis space e di rappresentare in forma
        compatta insiemi di ipotesi

                                                T (ipotesi più generale che copre universo)

  • Hypothesis space: reticolo

                                               ⊥ (ipotesi più specifica che non copre niente)

                                                             T
                                                  a          b         c
  • Esempio: predicati a, b, c
                                                 a∧b        a∧c       b∧c
                                                          a∧b ∧c

                                                             ⊥
Apprendimento Automatico                                                                        29

• Algoritmo di apprendimento
    – in ogni istante una parte del reticolo contiene ipotesi consistenti con esempi
          • all’inizio intero reticolo
    – parte del reticolo caratterizzabile in modo compatto con boundary set
• Boundary set:
    – insieme G delle ipotesi più generali consistenti con esempi (ossia delle
      ipotesi H / non esiste H’ più generale di H consistente con esempi)
    – insieme S delle ipotesi più specifiche consistenti con esempi (ossia delle
      ipotesi H / non esiste H’ più specifico di H consistente con esempi)
• rappresentazione compatta
    – ogni nodo tra quelli in G e S nel reticolo è una ipotesi
• Boundary set iniziale:
          G= {T } S= { ⊥ }
• Ad ogni passo
    – modificare boundary set in accordo con gli esempi
          • specializzare ipotesi in G quando si hanno contro-esempi (per escluderli)
          • generalizzare ipotesi in S quando si hanno esempi (per coprirli)

Apprendimento Automatico                                                                        30
inconsistenti
                           G      G1        G2            Gm
                                                                    generale

       Hypothesis space

                           S      S1        S2            Sn       specifico

                                        inconsistenti

• Algoritmo
      – se esempio xi è un falso positivo per Si allora eliminare Si da S (vuol dire
        che Si è troppo generale, ma tutte sue specializzazioni sono incomplete)
      – se esempio xi è un falso positivo per Gj, allora sostituire Gj con le sue
        specializzazioni più generali consistenti con xi
      – se esempio xi è un falso negativo per Si allora sostituire Si con le sue
        generalizzazioni più specifiche consistenti con xi
      – se esempio xi è un falso negativo per Gj, allora eliminare Gj da G (vuol
        dire che Gi è troppo specifico, ma tutte sue generalizzazioni sono
        inconsistenti)

Apprendimento Automatico                                                                     31

• Esempio
      – apprendere il concetto di auto economica
      – predicati:
          • origine: Jap, I, F, D, USA
          • colore: b, r, g, …
          • tipo: berlina, coupè, ..
          • decade: 70, 80, 90
          • marca: Fiat, Alfa, Mercedes, BMW, Renault, Honda, Ford, …
      – inizio
           • G= {T }             S= { ⊥ }
      – primo esempio (positivo)
           • origine(jap), colore(b), marca(honda), tipo(berlina), decade(70)
           • falso negativo per ⊥ che deve essere generalizzato
             G= {T }
             S= {origine(jap)∧ colore(b) ∧ marca(honda) ∧ tipo(berlina) ∧ decade(70) }
      – secondo esempio (negativo, ossia contro-esempio)
           • origine(usa), colore(r), marca(chevrolet), tipo(coupè), decade(90)
           • falso positivo per T che deve essere specializzato e ho cinque modi possibili
             (non confrontabili) di specializzarlo: uno per ogni predicato

Apprendimento Automatico                                                                     32
G= {origine(jap), colore(b), marca(honda), tipo(berlina), decade(70) }
          S= {origine(jap)∧ colore(b) ∧ marca(honda) ∧ tipo(berlina) ∧ decade(70) }
  – terzo esempio (positivo)
        • origine(jap), colore(b), marca(toyota), tipo(berlina), decade(80)
        • si deve rimuovere da G ogni ipotesi inconsistente con esempio (per cui falso neg.)
          G= {origine(jap), colore(b), tipo(berlina) }
        • falso negativo per S che deve essere generalizzato
          S= {origine(jap)∧ colore(b) ∧ tipo(berlina) }
  – quarto esempio (negativo)
        • origine(i), colore(b), marca(alfa), tipo(coupè), decade(80)
        • falso positivo per colore(b) in G che deve essere sostituito da sue specializzazioni più
          generali che sono
             – colore(b) ∧ tipo(berlina)    colore(b) ∧ origine(jap)
          entrambe più specifiche di ipotesi già in G (quindi non le aggiungiamo)
          G= {origine(jap), tipo(berlina) }
        • S= {origine(jap)∧ colore(b) ∧ tipo(berlina) }
  – quinto esempio (positivo)
        • origine(jap), colore(r), marca(honda), tipo(berlina), decade(80)
        • falso negativo per S che deve essere generalizzato
          S= {origine(jap) ∧ tipo(berlina) }
        • G= {origine(jap), tipo(berlina) }
Apprendimento Automatico                                                                             33

• Osservazioni
      – importanza del bias
      – forma di least-commitment nel senso che si specializza (generalizza)
        sempre il meno possibile
      – collassamento del version space in caso di errori(rumore) negli esempi
      – disponendo di molti esempi si può arrivare a una singola formula
      – conoscenza a-priori potrebbe essere utile nel processo di
        specializzazione/generalizzazione (vedremo nel caso di ILP)
        es:         origine(jap) → origine(asia)
                     origine(corea) → origine(asia)
        potrei usare questa conoscenza per generalizzare/specializzare

Apprendimento Automatico                                                                             34
Classificazione con tecniche statistiche

     • Assunzione:
        – i dati assumono la forma di vettori n-dimensionali di
           vettori reali, con n finito:
                                X=(x1,x2,…,xn)
        – vengono anche detti pattern
     • In termini geometrici: ciascun pattern può essere
       rappresentato da un punto in uno spazio Euclideo n-
       dimensionale En
     • appartengono ad m classi: ωi con i da 1 a m

 Apprendimento Automatico                                              35

                            Tecniche statistiche
     • Scopo: definire m regioni Ωi dello spazio (classi), affinché:
                     X∈ Ωi ⇔ X∈ ωi ∀ i=1,…,m

                                                            Ω1
Ω2

                                                            Ω3

 Apprendimento Automatico                                              36
Classificazione Bayesiana
• Selezionare, dato un certo pattern X, la classe Ci che ha, a
  posteriori, la massima probabilità rispetto al pattern:
                    P(Ci| X)>P(Cj| X) ∀i≠j
• Teorema di Bayes (TDB):
                             P(B | A) * P(A)
                  P(A | B) =
                                  P(B)
• Fornisce un metodo per calcolare la probabilità di un certo
  evento casuale A sapendo che si è verificato un evento B
  quando sono note le probabilità a priori di A e B e la
  probabilità di B condizionato da A.
• Per classificare: evento A il fatto che venga data in output
  dal Classifier una certa classe e come evento B, che si è
  verificato, il pattern (noto) che deve essere classificato.
Apprendimento Automatico                                                    37

                               Esempio
• Consideriamo due ipotesi:
        ƒ il paziente ha un tipo di epatite;
        ƒ il paziente non ha una epatite.
• Anche gli esiti degli esami sono due: + (epatite) e – (no epatite).
• Dai risultati di laboratorio sappiamo:
             – P ( epatite )        = 0.008 ; P ( no epatite ) = 0.992
             – P ( + | epatite ) = 0.98 ; P ( - | epatite ) = 0.02
             – P ( + | no epatite ) = 0.03 ; P ( - | no epatite ) = 0.97
• Osserviamo che, secondo il laboratorio, un nuovo paziente è risultato +
  e vogliamo classificarlo (ha l’epatite oppure no?).
• Dal TDB ( tralasciando il denominatore) abbiamo:
             – P ( + | epatite ) * P (epatite )        = 0.078
             – P ( + | no epatite ) * P ( no epatite ) = 0.298
• quindi è più probabile che il paziente non abbia una epatite.

Apprendimento Automatico                                                    38
Classificazione Naive Bayes
• Teorema di Bayes di poca utilità pratica, a causa della difficoltà di
  trovare le probabilità condizionate.
• La classificazione Naive Bayes applica direttamente il teorema, ma
  sfrutta l’ipotesi semplificativa di indipendenza degli attributi osservati.
• Dati due eventi casuali a e b (nel nostro caso saranno gli attributi)
  indipendenti, con probabilità condizionate P(a|C) e P(b|C), infatti, la
  probabilità che a e b siano verificati simultaneamente è data
  semplicemente dal prodotto P(a|C)*P(b|C).
• Il nostro scopo è sempre quello di trovare la classe che massimizza la
  probabilità condizionata:
                    maxi P(Ci|x1,x2,…,xn)
• Applicando il TDB, abbiamo:
                               P(x1 , x 2 ,..., x n | Ci ) P(Ci )
                       max
                           i         P(x1 , x 2 ,..., x n )
• Ciò equivale a trovare la classe che massimizza il numeratore.

Apprendimento Automatico                                                        39

                                Naive Bayes (cont.)
• Con il metodo Naive Bayes, otteniamo:
                        max P(C i ) ∏ P(x j | Ci )
                           i
                                        j
• con il prodotto esteso a tutti gli attributi del pattern.
• Nella classificazione Naive Bayes la fase di apprendimento serve
  per la stima delle probabilità della formula precedente.
• Le probabilità a priori sono in numero pari a quello delle classi, le
  probabilità condizionate sono pari al numero degli attributi per quello
  delle classi.
• Le probabilità P(Ci) sono pari alla proporzione di ogni classe
  nell’insieme di campioni.
• La probabilità condizionata P(xj|Ci) dgli attributi (discreti o continui)
  viene anch’essa stimata come proporzione degli esempi con quel
  valore (o in quell’intervallo discretizzato) dell’attributo rispetto alle
  occorrenze della classe Ci
• Quando, arriva un nuovo pattern, si utilizza la formula e si ricava la
  classe avente probabilità massima.

Apprendimento Automatico                                                        40
Esempio
           Giorno       Cielo    Temperatura   Umidità   Vento    GiocaTennis
            G1          Sole        Caldo       Alta     Debole       NO
            G2          Sole        Caldo       Alta      Forte       NO
            G3        Nuvoloso      Caldo       Alta     Debole       SI
            G4         Pioggia      Mite        Alta     Debole       SI
            G5         Pioggia     Freddo      Normale   Debole       SI
            G6         Pioggia     Freddo      Normale    Forte       NO
            G7        Nuvoloso     Freddo      Normale    Forte       SI
            G8          Sole        Mite        Alta     Debole       NO
            G9          Sole       Freddo      Normale   Debole       SI
            G10        Pioggia      Mite       Normale   Debole       SI
            G11         Sole        Mite       Normale    Forte       SI
            G12       Nuvoloso      Mite        Alta      Forte       SI
            G13       Nuvoloso      Caldo      Normale   Debole       SI
            G14        Pioggia      Mite        Alta      Forte       NO

     Dato un giorno con le seguenti caratteristiche:
         < Cielo=sole, Temperatura=freddo, Umidità=alta, Vento=forte >
     vogliamo sapere se si giocherà o meno una partita di tennis.

Apprendimento Automatico                                                        41

                                 Esempio (cont.)
       P( GiocaTennis=sì )=9/14=0.64
       P( GiocaTennis=no )=5/14=0.36
       P( Vento=forte | GiocaTennis=sì )=3/9=0.33
       P( Vento=forte | GiocaTennis=no )=3/5=0.6
       P( Cielo=sole | GiocaTennis=sì )=2/9=0.222
       P( Cielo=sole | GiocaTennis=no )=3/5=0.6
       P( Temperatura=freddo | GiocaTennis=sì )=3/9=0.333
       P(Temperatura=freddo | GiocaTennis=no )=1/5=0.2
       P( Umidità=alta | GiocaTennis=sì )=3/9=0.333
       P( Umidità=alta | GiocaTennis=no )=4/5=0.8
• P(GiocaTennis=sì)*P(Cielo=sole|sì)*P(Vento=forte|sì)*
  *P(Temperatura=freddo|sì)*P(Umidità=alta|sì) = 0.0053
• P(GiocaTennis=no)*P(Cielo=sole|no)*P(Vento=forte|no)*
  *P(Temperatura=freddo|no)*P(Umidità=alta|no) = 0.0206

Apprendimento Automatico                                                        42
Altri metodi statistici:
           Funzioni discriminanti di Fisher

• Si vogliono trovare m funzioni scalari
                    g1(X), g2(X),…,gm(X)
cosiddette discriminanti
• Il pattern X appartiene alla classe i per la quale gi(X) è
  maggiore
• Il luogo dei punti ove gi(X) e gj(X) sono uguali definisce il
  bordo tra la regione Ωi e Ωj
• L’analisi discriminante di Fisher utilizza funzioni lineari
  per individuare le regioni di separazione nell’iperspazio
  corrispondenti ai confini delle classi

Apprendimento Automatico                                          43

                      Funzioni discriminanti
• Nel caso di due classi e due attributi, lo scopo è quello di
  trovare una curva di separazione tra le due classi (che
  divide lo spazio in due semispazi)

                       +             +
                  + + +               -
                     +  + +                     -   -
                  +
                                                        -
                               -
                 + + +               -      - - - -
                                    - -
                  +                  - -   --
                           +       - - -

Apprendimento Automatico                                          44
Analisi discriminante (Fisher 1936)
• L’ipotesi del naive Bayes è molto forte.
• L’analisi discriminante di Fisher utilizza funzioni lineari
  per individuare le regioni di separazione nell’iperspazio
  corrispondenti ai confini delle classi
• definite dalla Statistical Decision Theory.
• Esse hanno la seguente formulazione generale (TDB):
                g i ( X ) = p ( X ω i ) P (ω i )∀j = 1,..., m
dove
• p(X|ωi) è la densità di probabilità di un pattern X dato ωi
• P(ωi) è la probabilità a priori della classe ωi
Apprendimento Automatico                                                         45

Esempio con m=2

I coefficienti delle rette che separano le regioni vengono calcolati a partire
dal training set, applicando tecniche statistiche (vettore medio degli
esempi, matrici di covarianza)

                  ++ +                       +
                + +
                    +  +                           - -   -
                +
                                                             -
               + + +                 -         -    - - - -
                                         -    -
               + +
                                                   --
                                     -         -
                                     -       - -

Apprendimento Automatico                                                         46
Analisi discriminante (Fisher 1936)
• Si fanno le seguenti assunzioni sulla popolazione iniziale:
   – p(X|ωi) è un funzione di densità di probabilità
      multivariata normale, ovvero della forma

                             1          1                            
         pi ( X ω i ) =             exp − (x − μi ) ' Σ −1 (x − μi ) 
                           (2π) n Σ     2                            

• dove µi indica la media e Σi indica la matrice di covarianza
  relative alla classe ωi
• Ipotesi: si assume che tutte le matrici di covarianza Σi
  siano identiche (ovvero si considera un’unica Σ)
Apprendimento Automatico                                                  47

         Analisi discriminante (Fisher 1936)
• Gli esempi sono utilizzati per stimare i parametri µi e Σi e
  la probabilità a priori P(ωi) in questo modo:
• per µi su utilizza la media degli esempi del training set per
  la classe ωi
• per Σ si utilizza la “pooled sample covariance matrix”
  definita da:
                      S=
                          ∑ (ni − 1)Si
                             n−m
• dove ni è il numero di esempi della classe ωi

Apprendimento Automatico                                                  48
Analisi discriminante (Fisher 1936)
• Ciascuna Si è data da:
                                  1     T    T
                           Si =        X X −µ µ
                                ni − 1
 • dove X è la matrice ni × n degli ni vettori appartenenti alla
   classe ωi e µ è un vettore i cui elementi sono le medie di
   ciascun attributo.
 • In questo modo si ottengono le m funzioni discriminanti
 • Nel caso di m=2, le classi sono separate da una retta la cui
   equazione è data dall’uguaglianza delle pdf per le due
   classi:
                                  1
            x ' Σ −1 ( μ1 − μ2 ) − ( μ1 + μ2 ) ' Σ −1 ( μ1 − μ2 ) = 0
                                  2
Apprendimento Automatico                                                         49

    Conoscenza e learning (learning con prior knowledge)

• Approcci visti fino a ora: apprendimento da esempi
      – nessuna conoscenza a priori richiesta
      – K.B. appresa dipende solo da esempi (e da bias)
      – K.B. appresa a volte di difficile comprensione anche per esperti di un
        settore (esperimenti in sistemi esperti)
      – processo di apprendimento lento (servono molti esempi)
• Altro gruppo di approcci da metà anni ‘80
      – fruttare K.B. a -priori nel processo di apprendimento (conoscenza di
        background)
      – K.B. consente di apprendere di più e in modo più efficace (più
        velocemente)
• Noi ci concentreremo sull’appproccio noto come
      – Knowledge-based induction
• e su Inductive Logic Programming (ILP), in particolare

Apprendimento Automatico                                                         50
Puoi anche leggere