Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da...

67
Riconoscimento e recupero dell’informazione per bioinformatica Classificazione Manuele Bicego Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Transcript of Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da...

Page 1: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

Riconoscimento e recupero dell’informazione per

bioinformatica

Classificazione

Manuele Bicego

Corso di Laurea in Bioinformatica

Dipartimento di Informatica - Università di Verona

Page 2: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

2

Sistema di classificazione

Insieme di addestramento

x1,y1

x2,y2

...

xN,yN

Addestramento: modellare (separare) le due classi

altezza

lunghezza

Feature space

spigola

oratayi etichette

Page 3: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

3

Sistema di classificazione

x1 = [3, 12]

feature extraction

dati pre-processati

oggetto sconosciuto

Altezza

lunghezza

Modelli

testing

categoria: spigola

Page 4: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

4

Sistema di classificazione Il fuoco è sul sistema di decisione:

un sistema che ci permette di dire, dato un oggetto in ingresso, a quale classe l’oggetto appartiene

un sistema che “classifica” l’oggetto: un classificatore

Dato un oggetto x, un classificatore è una funzione f che ritorna un valore y discreto (una delle possibili categorie/classi)

Differente dalla regressione (y continuo)

y=f x

Page 5: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

5

Sistema di classificazioneGoal: stimare la funzione f

Requisito: si vuole trovare una funzione f che “sbagli” il meno possibile (ridurre gli errori che può fare un sistema di decisione)nel senso dell’errore di generalizzazione

Errore: un oggetto appartiene alla classe 1 e viene classificato come appartenente alla classe 2

Page 6: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

6

Sistema di classificazioneTeorie della decisione: come costruire il classificatore

Ce ne sono diverse, caratterizzate da:come vengono espresse/caratterizzate le entità in gioco

come viene determinata la regola di decisione

come possono essere interpretate le soluzioni

Esempi:Teoria di Bayes: approccio probabilistico

Statistical Learning Theory: approccio geometrico

Non c’è una chiara separazione tra le teorie

Page 7: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

Teoria della decisione di Bayes

Page 8: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

8

La teoria della decisione di Bayes

Rev. Thomas Bayes, F.R.S (1702-1761)

Page 9: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

9

IntroduzioneApproccio probabilistico di classificazione di pattern

Molto utilizzato

Molti i risultati teorici dimostrati

Ipotesi: Il problema di decisione è posto in termini probabilistici;

Tutte le probabilità rilevanti sono conosciute;

Goal:Discriminare tra le diverse classi (determinare le regole di

decisione) usando tali probabilità

Page 10: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

10

IntroduzioneDEFINIZIONE: Sia ω la categoria o la classe (“lo stato di

natura”) da descrivere probabilisticamente;

ω assume un valore diverso per ogni classeω=ω1 --> prima classe,

ω=ω2 --> seconda classe,

ω=ω3 --> terza classe

...

La regola di classificazione (o regola di decisione) mi permette di rispondere alla seguente domanda:

“Dato un oggetto x, lo assegno a ω1, a ω2 oppure a ω3?” In altre parole: “A quale classe deve essere assegnato?”

Page 11: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

Introduzione

Teoria della decisione di Bayes: il problema di decisione è posto in termini probabilistici

Ci sono diverse probabilità che si possono utilizzare per costruire la regola di decisioneOgnuna porta ad una regola di decisione diversa

In particolare:Probabilità a priori: regola della probabilità a priori

Probabilità condizionale: regola Maximum Likelihood

Probabilità a posteriori: regola di Bayes

Vediamole con un esempio...

Page 12: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

12

Esempio

ESEMPIO guida: Discriminare tra un calciatore professionista e il resto del mondo sulla base dello stipendiox = stipendio (pattern da classificare)

ω1 = calciatore professionista (classe 1)

ω2 = resto del mondo (classe 2)

Page 13: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

13

Probabilità a prioriPrima possibilità: utilizzare solo l'eventuale informazione

a priori che si ha sul problema:“la probabilità che una persona sia un calciatore professionista è

molto bassa (1%)”

Regola di decisione:

Data una persona x da classificare: sapendo che il 99% delle persone sono “non calciatori”, la classifico come

“non calciatore”

Viene utilizzata la “Probabilità a PRIORI”

Page 14: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

14

Probabilità a prioriProbabilità a priori:

probabilità P(ω): rappresenta la probabilità dello stato nota a priori (senza aver osservato nulla del sistema)

Probabilità derivanti da conoscenze “esterne”

Esempio calciatore: P(ω= ω1) = 0.01, P(ω= ω2) = 0.99

Regola di decisione della Probabilità a PRIORI:

decidi ω1 se P(ω1) > P(ω2); altrimenti decidi ω2

Ovviamente è un sistema limitato: Non tiene minimamente conto delle osservazioni (indipendente da x)

Esempio calciatore:Ogni pattern x (stipendio) è sempre classificato come “resto del mondo”

Page 15: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

15

Probabilità condizionaleSeconda possibilità: utilizzare dei modelli per gli stipendi

delle persone all'interno delle due classiE' presente un training set con cui si costruisce un modello per gli

stipendi dei calciatori

Si ripete la stessa operazione sugli stipendi dei “non calciatori”

Regola di decisione:

Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non

calciatore”allora lo assegno alla classe “non calciatore”, altrimenti il contrario

Modello per x in una classe → PROBABILITA' CONDIZIONALE

Page 16: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

16

Probabilità condizionalesia x una misurazione del sistema

x è una variabile aleatoria dipendente da ωj

La probabilità condizionale (o likelihood) è definita come P(x|ωj)misura la probabilità di avere la misurazione x sapendo che lo

stato di natura (la classe) è ωj

Page 17: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

17

Regola basata sulla probabilità condizionale

La regola si basa sulla seguente osservazione ragionevole: fissata la misurazione x, più è alta p(x|ωj) più è probabile che ωj sia la classe giusta

Regola di decisione (maximum likelihood):

dato x, decidi ω1 se p(x|ω1) > p(x|ω2), ω2 altrimenti

Migliore della regola basata sulla probabilità a priori perché qui si considera l'osservazione

Page 18: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

E' vero che è sicuramente migliore della regola della probabilità a priori … MA si basa solo sull'osservazione!!

Esempio calciatore: non si tiene in conto del fatto che pochissime persone sono calciatori professionisti

SOLUZIONE: Regola di Bayes: utilizza la probabilità a posteriori, che

mette assieme probabilità a priori e probabilità condizionale

Page 19: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

Regola di decisione di Bayes IDEA: Prendere la decisione su una persona tenendo

conto sia del fatto che ci sono pochi calciatori (probabilità a priori) sia guardando quanto il suo stipendio x è spiegato dal modello delle classi (probabilità condizionale)

Si utilizza la PROBABILITA' A POSTERIORIProbabilità che mette assieme probabilità a priori e probabilità

condizionale

Page 20: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

La probabilità a posteriori si ricava dalle probabilità precedenti attraverso il teorema di bayes:

Teorema di Bayes:

Probabilità a posteriori

Probabilità a piori

Probabilità condizionale

Evidenza: fattore di scala che garantisce che

Page 21: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

21

Regola di decisione di Bayes

Regola di decisione di Bayes:

dato x, decidi ω1 se p(ω1|x) > p(ω2|x), ω2 altrimenti

NOTA IMPORTANTE: Si può dimostrare che la regola di decisione di Bayes minimizza la probabilità di errore

Pω j∣x =p x∣ω j P ω j

p x posterior=

likelihood×priorevidence

Page 22: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

22

Regola di decisione di Bayes

Regola di decisione equivalente:

l’evidenza rappresenta un fattore di scala che descrive quanto frequentemente si osserva un pattern x

non dipende da ω1 o da ω2, quindi è ininfluente per la regola di

decisione

regola di decisione equivalente:

Regola di decisione di Bayes (versione 2):

Decidi ω1 se p(x|ω1)P(ω1)> p(x|ω2)P(ω2), ω2 altrimenti

Page 23: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

23

In pratica?

Problema principale: le probabilità non sono note, come si fa a costruire il classificatore?

Soluzione: apprendimento da esempi

Si utilizza un training set per effettuare una “stima” delle probabilitàDate le probabilità si può fare “classificazione” con la regola di

Bayes

Page 24: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

Stima delle probabilitàDiversi approcci:

Stime parametriche: si conosce la forma della pdf, se ne vogliono stimare i parametri esempio gaussiana, stimo la media

Stime non parametriche: non si assume nota la forma, la pdf è stimata direttamente dai datiesempio istogramma

Stime semi-parametriche: ibrido tra le due – i parametri possono cambiare la forma della funzioneesempio Neural Networks

Page 25: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

Estensione della teoria di decisione di Bayes

Regola base

Può essere estesa a diversi casi...

Regola di decisione di Bayes:dato x, decidi ω1 se p(ω1|x) > p(ω2|x), ω2 altrimenti

Page 26: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

Caso 1: Il pattern è composto da più features

Le probabilità sono definite su spazi multidimensionaliEsempio: due features, gaussiana con media a 2 dimensioni

Estensione della teoria di decisione di Bayes

Page 27: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

Caso 2: Ci sono più di due classi

Per ogni classe si può calcolare la probabilità a posteriori

La regola di decisione non cambia e dice di assegnare un oggetto alla classe la cui probabilità a posteriori è massima

Pω j∣x =p x∣ω j P ω j

p x

class x =arg max j Pω j∣x

Estensione della teoria di decisione di Bayes

Page 28: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

Caso 3: Si può anche rigettare la classificazioneUn pattern x non viene classificato (non c'è abbastanza

confidenza nella risposta)

Chow's rule: rigettare una classificazione se

ovviamente la scelta di T è cruciale

max j Pω j∣x T

Estensione della teoria di decisione di Bayes

Page 29: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

Approcci alla classificazione

Page 30: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

30

Per rappresentare un classificatore spesso si utilizza un

insieme di funzioni discriminanti gi(x), i=1...c

Il classificatore assegna l'oggetto x alla classe i se

gi(x) > gj(x) per ogni j i

Questo insieme di funzioni suddivide lo spazio delle features in Regioni, separate tra di loro da Confini di

decisione (decision boundaries)

Funzioni discriminanti e superfici di separazione

Page 31: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

Regione R1 (tutti i punti che

verrebbero classificati come appartenenti alla classe 1)

Punti x per cui g1(x) > g

2(x)

Regione R2 (tutti i punti che

verrebbero classificati come appartenenti alla classe 2)

punti x per cui g2(x) > g

1(x)

Confine di decisionePunti x per cui g

1(x) = g

2(x)

Page 32: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

32

Un classificatore che utilizza la regola di decisione di Bayes si presta facilmente a questa rappresentazione:

Assegnare x alla classe la cui g(x) è massima equivale ad assegnare x alla classe la cui posterior è massima (REGOLA DI DECISIONE DI BAYES)

Funzioni discriminanti e superfici di separazione

g j(x )=P(ω j∣x )=p( x∣ω j)P(ω j)

p ( x )

Page 33: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

33

Funzioni discriminanti e superfici di separazione

Nota: le posterior non sono note, occorre stimarle!!

Per stimare le posterior si possono o non si possono utilizzare la likelihood e il prior

Approcci:Approcci generativi: si calcolano likelihood e priorApprocci discriminativi: si calcola direttamente le

posterior

Nota: si potrebbe anche evitare di calcolare direttamente le posterior, stimando direttamente il confine di decisione!!

Page 34: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

Funzioni discriminanti e superfici di separazione

Esempio: nel caso a due categorie ho due funzioni discriminanti, g1(x),g2(x) per cui assegno x a 1 se

g1(x) > g2(x)

Posso anche definire una sola funzione discriminante g(x) = g1(x)-g2(x), e classificare quando g(x) > 0

(g1(x)-g2(x)>0, o g1(x)>g2(x))

L’obiettivo diventa quindi quello di stimare direttamente g(x), la funzione che mi permette di separare le due classiPosso cioè stimare direttamente il confine di decisione!

Page 35: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

35

Approcci alla classificazioneRIASSUNTO:

Per la classificazione, la regola che minimizza la probabilità di errore è quella di Bayes (assegnare un oggetto alla classe la cui posterior è maggiore)

La regola utilizza le posterior (che non sono note)

Per stimare le posterior si possono o non si possono utilizzare la likelihood e il prior

Approcci:Approcci generativi: si calcolano likelihood e prior

Approcci discriminativi: si calcola direttamente le posterior e il corrispondente confine di decisione

si può anche stimare direttamente il confine di decisione

Page 36: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

36

Approcci alla classificazione

y=argmax y P y∣x

Generativi: un modello per ogni classe

Discriminativi: modellano direttamente il confine

y=sign w⋅xb

Page 37: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

37

Approcci alla classificazione

Gli approcci discriminativi mirano a risolvere direttamente il problema di classificazione (quindi spesso sono più efficaci)

Gli approcci generativi mirano a modellare tutte le classi del problema (quindi spesso sono più descrittivi)

Page 38: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

38

Approcci generativi

Page 39: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

Parentesi: la densità normale

Page 40: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

40

La densità normaleUna delle più importanti densità

è la densità normale o Gaussiana multivariata; infatti:è analiticamente trattabile;

più importante, fornisce la migliore modellazione di problemi sia teorici che pratici

il teorema del Limite Centrale asserisce che “sotto varie condizioni, la distribuzione della somma di d variabili aleatorie indipendenti tende ad un limite particolare conosciuto

come distribuzione normale”.

Page 41: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

41

La densità normale univariata

Completamente specificata da due parametri, media μ e varianza σ2,

si indica con N(μ, σ2) e si presenta nella forma

p x =1

2π σexp {−1

2 x−μσ 2

}

μ=E [ x ]=∫−∞

xp x dx

σ 2=E [ x−μ 2 ]=∫

−∞

x−μ 2 p x dx

Page 42: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

42

Densità normale multivariataLa generica densità normale multivariata a d dimensioni

si presenta nella forma

p x =1

2π d /2∣Σ∣1/2exp {−1

2 x−μ T Σ−1 x−μ }

d=1 d=2

Page 43: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

43

Densità normale multivariata

Parametri della densità:

vettore di media a d componenti

matrice d x d di covarianza, dove

|| = determinante della matrice

-1 = matrice inversa

σ ij=Ε[ x i−μi x j−μ j ]

Σ=Ε[ x−μ x−μ t ]=∫ x−μ x−μ t p x dx

Page 44: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

44

Densità normale multivariataCaratteristiche della matrice di covarianzaSimmetricaSemidefinita positiva (|| 0) ii= varianza di xi ( = i2 ) ij= covarianza tra xi e xj

se xi e xj sono statisticamente indipendenti ij= 0p(x) è il prodotto della densità univariata per x

componente per componente.

Page 45: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

45

Densità normale multivariataLa forma della matrice di covarianza porta a diverse

distribuzioni normali

1>2 2>2

Page 46: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

46

Approccio generativo

Si stimano le probabilità a priori e le probabilità condizionali

Si combinano a formare le probabilità a posteriori

Si classifica con la regola di Bayes

Page 47: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

47

Stima delle probabilitàProblema: le probabilità sono sconosciute, occorre stimarle

dal training set!

Stime parametriche: si conosce la forma della pdf, se ne vogliono stimare i parametri esempio gaussiana, stimo la media

Stime non parametriche: non si assume nessuna forma per la pdf, ma viene stimata direttamente dai datiesempio istogramma

Page 48: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

48

Stima parametricaPer costruire un classificatore bayesiano con stima parametrica si procede in questo modo:

Si stima dal training set la probabilità a priori per ogni classe

Per la probabilità condizionale:Si decide (o si stima) la forma per ogni classe (ad esempio gaussiana)

Si stimano i parametri a partire dai dati di training (un insieme di parametri per ogni classe)

Si usano le stime risultanti come se fossero i valori veri e si utilizza la teoria di decisione Bayesiana per costruire il classificatore

Page 49: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

49

Stima dei parametri – Probabilità a priori

Stima della probabilità a priori: più facile

Si ha a disposizione il training set: un insieme di n dati di training in cui ad ogni pattern xj è assegnata un’etichetta

Allora si può stimare p(i) come

dove ni è il numero di campioni con etichetta i

Pωi =n in

Page 50: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

50

La stima della prob. condizionale rappresenta il vero problema!!

L'obiettivo è stimare i parametri sconosciuti della funzione conosciuta p(x|ωj)

Per es., stimare il vettore sapendo che

Esiste anche un caso più difficile: si vuole stimare sia la forma che i parametri della funzione sconosciuta p(x|ωj)

p x∣ω j ≈N μ j , Σ j

θ j=μ j , Σ j

Stima della probabilità condizionale

Page 51: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

51

Stima dei parametri – Probabilità condizionale

Il training set T può essere diviso in sottoinsiemi

T1,T2,...,TC (uno per ogni classe)

Assunzioni che si fanno

Tj contiene campioni generati dalla probabilità p(x|j)

I campioni appartenenti al set Ti non danno informazioni relative

ai parametri di p(x|j) se ij.

Page 52: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

52

Stima dei parametri – Due approcci

Essendo i diversi Tj indipendenti, basta trovare la soluzione al seguente problema (da applicare poi a tutti i Tj)

Dato un set di dati di training D={x1, x2, ...., xn} (estratti indipendentemente), si vuole stimare il parametro (che determina in maniera univoca p(x|)) a partire da D

è un vettore che rappresenta i parametri necessari a descrivere in modo univoco p(x|)

p.e., se

Esistono due approcci (non vediamo I dettagli) Stima Maximum-likelihood (ML) Stima di Bayes

θ=μ ,Σ p x∣ω ≈N μ , Σ

Page 53: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

53

Stima non parametricaProblema della stima parametrica: si assume che la forma

delle densità di probabilità sia nota, ma questa assunzione non può essere fatta in molti problemi di riconoscimento.

In particolare, se la scelta della forma parametrica è sbagliata, la stima sarà molto poveraEsempio: distribuzione multimodale che viene assunta essere

Gaussiana

Soluzione: metodi non parametrici: fanno poche assunzioni (nessuna) sulla forma della pdf da stimare

Page 54: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

54

Stima non parametrica Idea: stimare la pdf andando ad analizzare le singole

regioni dello spazio

Se bisogna stimare p(x=x0), si va a considerare la regione attorno ad x0 e si effettua la stima a partire da quella regione

Si può ripetere per tutti i punti dello spazio (o per tutti i punti di interesse)

Page 55: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

55

Stima non parametrica

Page 56: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

56

Teorema generale della stima non parametrica

Obiettivo: stimare la probabilità p(x) in una regione R dati N punti campionati da p(x)

Si fa in due passi: 1. Calcolare la probabilità che un punto appartenga alla regione R2. Legare questa probabilità alla dimensione di R

Page 57: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

57

PASSO 1.

Sia x0 un punto generato con la probabilità p(x)

Si definisce P come la probabilità che il punto x0 appartenga alla regione.

Teorema: Dati N punti generati con la probabilità p(x), sia K il numero di punti che cadono in R. Allora K/N è uno stimatore corretto e consistente di P.

il valor medio dello stimatore è proprio P (“in media si fa giusto”)

Al crescere di N l'incertezza sulla stima diventa 0

Page 58: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

58

PASSO 2.

Se i) p(x) è continua e ii) p(x) non varia molto all'interno della regione R, allora possiamo scrivere

Dove V è il volume della regione R e x0 è un qualsiasi punto interno alla regione

Mettendo assieme:

Page 59: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

59

Stima non parametricaDue possibilità per determinare p(x) per ogni possibile x

1. (più intuitiva): si fissa la regione R centrata in x (in particolare si fissa il suo volume V), si calcola K dai dati e si stima p(x) più punti ci sono nel volume fissato V, più alta la probabilità

Esempio: Parzen Windows

2. (meno intuitiva): si fissa K, si sceglie R in modo tale che contenga K punti attorno ad x, si determina V e si stima p(x) più grande è la regione che devo considerare per trovare K

punti, più bassa è la probabilità

Page 60: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

60

Classificatore che utilizza il secondo metodo per stimare

non parametricamente p(x0)

si fissa K, si sceglie R in modo tale che contenga K punti

attorno ad x0, si determina V e si stima p(x0)

il classificatore K-Nearest Neighbor stima le probabilità condizionali con questo sistema non parametrico e applica la regola di decisione di Bayes

p x ≈KNV

Il classificatore K-Nearest Neighbor

Page 61: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

61

Il classificatore K-Nearest Neighbor

Il classificatore K-NN funziona nel seguente modo: sia X un insieme di esempi etichettati (il training set, ogni punto

ha la sua classe)

dato un punto x0 da classificare, si calcola l’insieme U dei K punti

dell’insieme X più vicini ad x0 secondo una determinata metrica

Si calcola la classe Cj più frequente all’interno dell’insieme U

Si assegna x0 a Cj

Nota importante: il K-nearest neighbor rappresenta un classificatore che implementa la regola di decisione di Bayes dove le probabilità a posteriori sono stimate in modo generativo (likelihood e prior) e in modo non parametrico!

Page 62: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

62

K-Nearest NeighborVANTAGGI

tecnica semplice e flessibile

tecnica intuitiva (assume che punti della stessa classe abbiano probabilmente caratteristiche simili, cioè una distanza bassa)

tecnica che funziona anche per dati non vettoriali (basta avere una misura di distanza appropriata)

ragionevolmente accurata (il confine di separazione è comunque non lineare)

ci sono pochi parametri da aggiustare

sono stati dimostrati molti risultati teorici su questa tecnica (asintoticità del comportamento, bounds)

Page 63: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

63

Confine di decisione di1-Nearest Neighbor

Problema di classificazione difficile!

Page 64: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

64

K-Nearest NeighborSVANTAGGI

Tutti i punti del training set devono essere mantenuti in memoria

vengono utilizzati solo pochi punti dello spazio per prendere la decisione (solo K punti)

dipendentemente dalla metrica utilizzata, occorre pre-processare lo spazio

Serve una misura di distanza buona

La scelta di K spesso è cruciale (K = 1 Nearest Neighbor rule)

scelta tipica Nk

Page 65: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

65

K-Nearest Neighbor: note finali

Determinazione di K troppo piccolo si hanno stime troppo rumorose

troppo grande si hanno stime troppo grezze

Metodo per stimare K:crossvalidation sul training set (o su un altro insieme chiamato

Validation Set)

si provano diversi valori e si tiene quello che funziona meglio

Metodi locali: si decide guardando la regione dove si sta operando (ad esempio guardando il K che funziona meglio

localmente)

Page 66: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

66

K-Nearest Neighbor: note finali

Condensing/Editing: metodi per ridurre la dimensionalità del training set (che deve essere mantenuto in memoria)

Condensing: rimuovere dal training set tutti quei punti che non hanno effetto sul confine di decisione

Page 67: Riconoscimento e recupero dell’informazione per bioinformatica · Data una persona da classificare: se il suo stipendio x è spiegato meglio dal modello della classe “non calciatore”allora

67

K-Nearest Neighbor: note finali

Editing: rimuovere dal training set tutti i punti che non vengono classificati correttamente dall’algoritmo

PROBLEMA DI QUESTI DUE METODI:

così facendo non siamo sicuri di aver eliminano tutti gli errori (i punti eliminati potrebbero essere cruciali per la classificazione

di altri punti non presenti nel training set)