You are on page 1of 89

Machine Learning

Probabilitats i
classificació bayesiana
Ramon Baldrich
Universitat Autònoma de Barcelona

Credit to: Tom Mitchell, William Cohen, Andrew Moore, Aarti Singh, Eric Xing, Carlos Guestrin
Another ML introduction:
Recordatori de probabilitat

• Variables aleatòries (Random variables)


• Axiomes de la probabilitat
• Events Independents
• Probabilitat condicionada
• Regla de Bayes i creença (beliefs)
• Joint probability distribution
• Expectatives
• Independència, Independència Condicional
Variables Aleatòries
• una variable aleatòria (r.v.) és una funció que
associa un únic número amb el resultat d’un
experiment. X(w)
S
w
• r.v. discreta:
• El resultat de tirar un dau: D={1,2,3,4,5,6}
– Event binari i variable indicadora:
• Veure un “6" en una tirada  X=1, si no X=0.
• Això descriu el resultat verdader o fals d’un event aleatori.

• r.v continua:
• El resultat d’observar la posició mesurada d’un avió.
Axiomes de Kolmogorov
• Totes les probabilitats estan entre 0 i 1
0 ≤ P(A) ≤ 1
• P(S) = 1
• P(Φ)=0 Prob de q no pase nada es 0

• La probabilitat de la disjunció ve donada per


P(A U B) = P(A) + P(B) − P(A ∩ B)

¬A ∩ ¬B
B A∩B?
A∩B
A
Teoremes útils (derivats dels axiomes)
• Totes les probabilitats estan entre 0 i 1
0 ≤ P(A) ≤ 1
• P(S) = 1
• P(Φ)=0
• La probabilitat de la disjunció ve donada per
P(A U B) = P(A) + P(B) − P(A ∩ B)

→ P(not A) = P(¬A) = 1-P(A)


Teoremes útils (derivats dels axiomes)
Axioma: 0 <= P(A) <= 1, P(True) = 1, P(False) = 0,
P(A U B) = P(A) + P(B) − P(A ∩ B) En vez de fronteras
ahora usaremos
probabilidad/distribución

P(A) = P(A ∩ B) + P(A ∩ ¬B) *

A = [A ∩ (B U ¬B)] = [(A ∩ B) U (A ∩ ¬B)]


P(A) = P(A ∩ B) + P(A ∩ ¬B) – P((A ∩ B) ∩ (A ∩ ¬B))
P(A) = P(A ∩ B) + P(A ∩ ¬B) – P(A ∩ B ∩ A ¬B)

* llei de probabilitat total


(versió simplificada)
Probabilitat condicionada
• P(X|Y) = Fracció dels mons en els que X és cert
donat que Y és cert
– M = “tenir maldecap"
– G = “tenir la grip"
• P(M)=1/10
• P(G)=1/40
• P(M|G)=1/2
– P(M|G) = fracció de maldecap donat que tenim la grip
= P(M∧G)/P(G)

• Definició: P (X Y )
G
P (X |Y ) =
P (Y ) M∧G
M
Probabilitat condicionada
Definició: P (X Y )
P (X |Y ) =
P (Y )

Corolari: La regla de la cadena


P ( X  Y ) = P ( X | Y ) P (Y )
P ( X  Y  Z ) = P ( Z | X  Y ) P ( X | Y ) P (Y )
Exemples Probabilitat condicionada
1. Escollim dues cartes a l’atzar d’un joc de 52 cartes. Quina és la probabilitat de treure un as
en la segona carta si en la primera hem tret un as?

2. En un curs les dades sobre un cert període són: 23 alumnes passen el primer examen, 25
l’han passat en el segon intent, 7 en el tercer i 8 han suspès definitivament. Quina és la
probabilitat (risc) de suspendre el curs si l’estudiant ha suspès els dos primers exàmens?

3. (2005) 84% de les famílies de Suïssa tenen ordinador a casa, el 81% de les famílies de
Suïssa tenen ordinador i internet a casa. Quina és la probabilitat que una família suïssa
tingui internet a casa si sabem que tenen ordinador?
Exemples Probabilitat condicionada
1. Escollim dues cartes a l’atzar d’un joc de 52 cartes. Quina és la probabilitat de treure un as
en la segona carta si en la primera hem tret un as?
3
P ( 2 = as | 1 = as) = quina seria la probabilitat que els dos siguin asos?
51
2. En un curs les dades sobre un cert periode són: 23 alumnes passen el primer exàmen, 25
l’han passat en el segon intent, 7 en el tercert i 8 han suspes definitivament. Quina és la
probabilitat (risc) de suspendre el curs si l’estudiant ha suspès els dos primers exàmens?

3. (2005) 84% de les families de Suissa tenen ordinador a casa, el 81% de les families de
Suissa tenen ordinador i internet a casa. Quina és la probabilitat que una familia suissa
tingui internet a casa si sabem que tenen ordinador?
Exemples Probabilitat condicionada
1. Escollim dues cartes a l’atzar d’un joc de 52 cartes. Quina és la probabilitat de treure un as
en la segona carta si en la primera hem tret un as?
3 3 4
P ( 2 = as | 1 = as) = = 5.8% P ( 2 = as,1 = as) = P ( 2 = as | 1 = as) P (1 = as) =  = 0.5%
51 51 52
2. En un curs les dades sobre un cert periode són: 23 alumnes passen el primer exàmen, 25
l’han passat en el segon intent, 7 en el tercert i 8 han suspes definitivament. Quina és la
probabilitat (risc) de suspendre el curs si l’estudiant ha suspès els dos primers exàmens?

3. (2005) 84% de les families de Suissa tenen ordinador a casa, el 81% de les families de
Suissa tenen ordinador i internet a casa. Quina és la probabilitat que una familia suissa
tingui internet a casa si sabem que tenen ordinador?
Exemples Probabilitat condicionada
1. Escollim dues cartes a l’atzar d’un joc de 52 cartes. Quina és la probabilitat de treure un as
en la segona carta si en la primera hem tret un as?
3 3 4
P ( 2 = as | 1 = as) = P ( 2 = ace,1 = as) = P ( 2 = as | 1 = as) P (1 = as) =  = 0 .5 %
51 51 52
2. En un curs les dades sobre un cert període són: 23 alumnes passen el primer examen, 25
l’han passat en el segon intent, 7 en el tercer i 8 han suspès definitivament. Quina és la
probabilitat (risc) de suspendre el curs si l’estudiant ha suspès els dos primers exàmens?
P (suspendre curs, suspendre E1 & 2) 8 / 63
P (suspendre curs | suspes E 1 & 2) = = = 53%
P (suspes E1 & 2) 15 / 63
3. (2005) 84% de les families de Suissa tenen ordinador a casa, el 81% de les families de
Suissa tenen ordinador i internet a casa. Quina és la probabilitat que una familia suissa
tingui internet a casa si sabem que tenen ordinador?
Exemples Probabilitat condicionada
1. Escollim dues cartes a l’atzar d’un joc de 52 cartes. Quina és la probabilitat de treure un as
en la segona carta si en la primera hem tret un as?
3 3 4
P(2 = as | 1 = as) = P(2 = ace,1 = as) = P(2 = as | 1 = as) P(1 = as) =  = 0.5%
51 51 52
2. En un curs les dades sobre un cert periode són: 23 alumnes passen el primer exàmen, 25
l’han passat en el segon intent, 7 en el tercert i 8 han suspes definitivament. Quina és la
probabilitat (risc) de suspendre el curs si l’estudiant ha suspès els dos primers exàmens?
P (suspendre curs, suspendre E1 & 2) 8 / 63
P (suspendre curs | suspendre OE 1 & 2) = = = 53%
P (suspendre OE1 & 2) 15 / 63
3. (2005) 84% de les families de Suissa tenen ordinador a casa, el 81% de les families de
Suissa tenen ordinador i internet a casa. Quina és la probabilitat que una familia suissa
tingui internet a casa si sabem que tenen ordinador?
P (Internet, Ordinador ) 0.81
P (Internet | Ordinador ) = = = 96%
P (Ordinador ) 0.84
Events Independents
• Dues variables aleatories X i Y es diu que son
independents si:
Y
P(X ∩ Y) =P(X)*P(Y)

• Alternativament,
P(X | Y) = P(X) i P(Y | X) = P(Y)
X∧Y X
• Intuitivament, això vol dir que Y passi no ens dona cap
informació del valor de B (i a l’inreves).

• Nota: Això no vol dir que X i Y siguin dijuntes!!!


Regles d’independencia - exemple
• P(Virus | veure_cervesa) = P(Virus)
iff Virus és independent de veure_cervesa

• P(Grip | Virus; veure_cervesa) = P(Grip|Virus)


iff Grip és independent de veure_cervesa, donat
Virus

• P(mal_de_cap | grip;Virus;cervesa) = P(Mal_de_cap|Grip;Cervesa)


iff Mal_de_cap és independent de Virus, donat Grip
i Cervesa
La Regla de Bayes
P( X  Y )
P( X | Y ) =
P (Y )

P ( X  Y ) = P ( X | Y ) P (Y )

P (Y | X ) P ( X ) = P ( X  Y ) = P ( X | Y ) P (Y )
La Regla de Bayes
P (X |Y ) p (Y )
P (Y | X ) =
P (X )

De forma general la Regla de Bayes és:


P (X |Y ) p (Y )
P (Y | X ) =
P (X |Y ) p (Y ) + P (X | Y ) p ( Y )
P ( X | Y = yi ) p (Y = yi )
P (Y = yi | X ) =
 jS P( X | Y = y j ) p(Y = y j )
…by no means merely a curious speculation in the doctrine of chances,
but necessary to be solved in order to a sure foundation for all our
reasonings concerning past facts, and what is likely to be hereafter….
necessary to be considered by any that would give a clear account of the
strength of analogical or inductive reasoning…
Aplicant la regla de Bayes
P (X |Y ) p (Y ) P (X |Y ) p (Y )
P (Y | X ) = P (Y | X ) =
P (X ) P (X |Y ) p (Y ) + P (X | Y ) p ( Y )

A = tens la grip, B = acabes de tossir


Assumim:
P(grip) = 0.05
P(tossir | grip) = 0.80
P(tossir | ~grip) = 0.1

Quina és la probabilitat que tinguis grip si


acabes de tossir?
Que tenim de nou ara?

Hem viscut en un mon determinista

f:X Y
I ara afegim la incertesa en les nostres decisions

P(Y|X)
Com?
Variables booleanes A, B and C
Joint Distribution
Recepta per a fer la joint
distribution de M variables:

1. Fer una taula de veritat amb


totes les combinacions dels
valors de les variables (si hi ha
M variables booleanes llavors
tindrem 2M files).

2. Per a cada combinació calcular


com és de probable.

3. Aquestes probabilitats han de


sumar 1 segons els axiomes de
la probabilitat.
Marginalització
• Si coneixem p(X, Y), que és P(X=x)?
• Podem usar la llei de probabilitat total

p ( x ) =  P ( x, y ) B5 B3 B2
y
B4
=  P ( y )P ( x | y )
y A

B1
B7 B6
p ( x ) =  P ( x, y , z )
y,z

=  P ( y, z )P ( x | y, z )
z,y
Ús de la Joint Distribution

Un cop tenim la JD podem preguntar


per la probabilitat de qualsevol
expressió lògica sobre les nostres
variables

𝑃 𝐸 = ෍ 𝑃(𝑓𝑖𝑙𝑎)
𝑓𝑖𝑙𝑒𝑠 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑒𝑛𝑡𝑠 𝑎 𝐸

Dades de la UCI “Adult” Cens


Ús de la Joint Distribution

P(Poor) = 0.7604

𝑃 𝐸 = ෍ 𝑃(𝑓𝑖𝑙𝑎)
𝑓𝑖𝑙𝑒𝑠 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑒𝑛𝑡𝑠 𝑎 𝐸
Ús de la Joint Distribution

P(Poor ; Male) = 0.4654

𝑃 𝐸 = ෍ 𝑃(𝑓𝑖𝑙𝑎)
𝑓𝑖𝑙𝑒𝑠 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑒𝑛𝑡𝑠 𝑎 𝐸
Inferència amb la Joint Distribution

𝑃 𝐸1 ⋀𝐸2 σ𝑓𝑖𝑙𝑒𝑠 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑒𝑛𝑡𝑠 𝑎 𝐸1 𝑖 𝑎 𝐸2 𝑃(𝑓𝑖𝑙𝑎)


𝑃 𝐸1 |𝐸2 = =
𝑃 𝐸2 σ𝑓𝑖𝑙𝑒𝑠 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑒𝑛𝑡𝑠 𝑎 𝐸2 𝑃(𝑓𝑖𝑙𝑎)

P(Male | Poor) = 0.4654 / 0.7604 = 0.612


Inferència amb la Joint Distribution

Suposem que volem aprendre la funció f: <G, H> → W


De forma equivalent, P(W | G, H)

Solució: aprendre la ‘joint distribution’ de les dades, calcular P(W | G, H)

P.ex:., P(W=rich | G = female, H = 40.5- ) =


D’on surten les ‘Join Distribution’
• Idea 1: Humans Experts

• Idea 2: fets probabilistics simples + àlgebra

Exemple: Suposem que coneixem P(A) = 0.7


P(B|A) = 0.2 P(B|~A) = 0.1
P(C|A^B) = 0.1 P(C|A^~B) = 0.8
P(C|A^~B) = 0.8 P(C|~A^B) = 0.3
P(C|~A^~B) = 0.1

Llavors podem calcular la JD usant la regla de la cadena


P(A=x ^ B=y ^ C=z) =
P(C=z|A=x^ B=y) P(B=y|A=x) P(A=x)

Les xarxes bayesianes intenten automatitzar-ho


D’on surten les ‘Join Distribution’
• Idea 3: Extreure-la de les dades
On som?
• Hem après a fer inferències
– Em fa mal el coll: quina possibilitat hi ha de tenir meningits?
– La PN ha trobat un arsenal d’armes. Quina possibilitat hi ha que el
TS ho declari com a delicte de terrorisme?

– Aquesta persona esta llegint un llibre sobre pianistes: quina


possibilitat hi ha que vulgui comprar un piano?

És un gran repte, ja que la inferència és al nucli de molta part de la


‘industria’. Predir enquestes, la borsa, optimitzar la localització de anuncis,
etc poden potencialment guanyar diners. Predir una passa de meningitis,
pot ajudar el mon ☺.

Ja hem acabat?
On som?
1. Necessitem 2^m files en la joint
distribution per poder fer inferència

p.ex: m=40 ➔ 1.099.511.627.776 files

Solució?
Events Independents
• Dues variables aleatòries X i Y es diu que son independents si:
P(X ∩ Y) =P(X)*P(Y) Y

• Alternativament,
P(X | Y) = P(X) i P(Y | X) = P(Y)

• Formalment escriurem X⊥Y X∧Y X

• Intuïtivament, això vol dir que Y passi no ens dona cap


informació del valor de B (i a l'inrevés).

• Nota: Això no vol dir que X i Y siguin disjuntes!!!


Independencia Condicional
P(Engega, Benzina, Tard) té 23 entrades

Si el cotxe no engega, la probabilitat de no tenir benzina no depèn de si fem tard a la feina:

(1) P(Benzina=no | Tard=si, Engega=no) = P(Benzina=no | Engega=no)

La mateixa independència és certa si engega:

(2) P(Benzina=no | Tard=si, Engega) = P(Benzina=no | Engega)

La variable ‘Benzina’ és condicionalment independent de ‘Tard’ donat ‘Engega’ :

P(Benzina | Tard, Engega) = P(Benzina | Engega)

De forma equivalent:
P(Tard | Benzina, Engega) = P(Tard| Engega)

P(Tard, Benzina| Engega) = P(Tard| Engega) P(Benzina | Engega)


Independència Condicional
De forma general dos events X,Y són condicionalment independents d’un event Z sii:

P(X,Y|Z) = P(X|Z)P(Y|Z) o bé

P(X|Y,Z) = P(X|Z) i de forma equivalent P(Y|X,Z) = P(Y|Z)

Formalment escriurem X ⊥ Y|Z


Independència Condicional
• Independència absoluta (marginal) implica independència condicional?

Tirem dues monedes a l’aire. A és l’event de que la primera moneda sigui cara i B l’event
de que la segona moneda sigui cara. Sigui C l’event representant el fet de que les dues
monedes obtenen el mateix resultat (les dues cara o les dues creu). A i B són clarament
independents però no són independents donat C

P(A|B) = P(A)
P(A|B,C) <> P(A|C)

• Independència condicional implica independència absoluta (marginal)?

Truco a dos amics (A i B) i els hi dic el mateix número del 1 al 10 (N). Donat el soroll de la
linia els dos de forma independent fan una deducció sobre el número que han sentit Na
i Nb

Na i Nb són marginalment independents? és lògic pensar que P(Na=x|Nb=x) > P(Na=x)


Na i Nb són condicionalment independents? P(Na=x|Nb=x,N=2) = P(Na=x|N=2)

un cop sabem el que he dit, tant li fa el que ha escoltat l’altre !!!


Independència Condicional
Escrivim la joint distribution completa usant la regla de la cadena:
p(Tard, Benzina, Engega)
= p(Tard | Benzina, Engega) P(Benzina, Engega)

= p(Tard | Benzina, Engega) P(Benzina | Engega) p(Engega)


= p(Tard | Benzina) P(Benzina | Engega) p(Engega)
I.e., 2 + 2 + 1 = 5 números independent

En molts casos, l’ús de la independència condicional redueix el tamany de la


representació de la ‘joint distribution’ d’exponencial a lineal.
On som?
1. Necessitem 2^m files en la joint distribution per
poder fer inferencia (m és el número de variables)

p.ex: m=40 ➔ 1.099.511.627.776 files

Solució?

Si les variables són independents necessitem 40 files


On som?
1. Necessitem 2^m files en la joint distribution
per poder fer inferència (m és el número de
variables)
Solució? No sempre podem assegurar
independència

2. No sempre tenim informació de tots els casos


Solució? Buscar maneres alternatives a la
‘joint distribution’
Recordar

P (Y | X ) P ( X )
P( X | Y ) =
P (Y )
Recordar:

likelihood priori
posterior
P ( X | C = c) P (C = c)
P (C = c | X ) =
P( X )
normalitzador

C = c mostra pertany a la classe c


X = x1 , x2 ,..., xn  mostra amb n característiques
Classificador bayesià:

𝑃(𝑋|𝐶 = 𝑐)𝑃(𝐶 = 𝑐)
𝑃(𝐶 = 𝑐|𝑋) =
𝑃(𝑋)

Com obtenim P ( X ) ?

𝑃 𝑋 = ෍ 𝑃(𝑋, 𝑌) = ෍ 𝑃(𝑋|𝑌)𝑃(𝑌)
𝑌 𝑌
Classificador bayesià:

likelihood priori
posterior
P ( X | C = c) P (C = c)
P (C = c | X ) =
P( X )
normalitzador

Com obtenim P ( X ) ?
Classificador MAP (maximum a posteriori):

P (C = c | X ) = P ( X | C = c) P (C = c)

 P(C = c | X ) = 1
c
?????
Classificador MAP (maximum a posteriori):

P (C = c | X ) = P ( X | C = c) P (C = c)

 P(C = c | X ) = 1
c

P (C = c | X )  P ( X | C = c) P (C = c)

Si 𝑃 𝐶 = 𝑐 𝑋) > 0.5 no ha de significar que 𝑋 sigui de classe 𝑐

MAP ( X ) = arg max P ( X | C = c) P (C = c)


c

On MAP(X) és la classe que assignem la mostra 𝑋


Classificador MAP Exemple: determinar ‘enfermetat’ donat un test {+,-}
enfermetat: E
test: T

P(E) =0.008 P(¬ E)=0.992


P(T+| E) = 0.98 P(T-| E)=0.02
P(T+|¬ E) = 0.03 P(T-|¬ E)=0.97

Pregunta: Hem de diagnosticar com a malalt un pacient X per al que el


resultat del laboratori ha resultat que té l’enfermetat?
Resposta: NO

Hem de trobar 𝑎𝑟𝑔𝑚𝑎𝑥 𝑃 𝐸 𝑇 + , 𝑃 ¬𝐸 𝑇 −

Aplicant el teorema de Bayes per (per a X={+}):

𝑃 𝐸 𝑇 + = 𝑃(𝑇 + |𝐸)𝑃(𝐸) = 0.98 × 0.08 = 0.0078


ൠ ෍ ≠1
𝑃 ¬𝐸 𝑇 − = 𝑃(𝑇 + |¬𝐸)𝑃(¬𝐸) = 0.03 × 0.992 = 0.0298

⇒ ℎ𝑀𝐴𝑃 = ¬𝑒𝑛𝑓𝑒𝑟𝑚𝑒𝑡𝑎𝑡
Machine Learning

Naïve Bayes
Ramon Baldrich
Universitat Autònoma de Barcelona

Credit to: Tom Mitchell, William Cohen, Andrew Moore, Aarti Singh, Eric Xing, Carlos Guestrin
On som?
1. Necessitem 2^m files en la joint distribution
per poder fer inferencia (m és el número de
variables)
Solució? No sempre podem assegurar
independència

2. No sempre tenim informació de tots els casos


Solució? Buscar maneres alternatives a la
‘joint distribution’
D’on surten les ‘Joint Distribution’
• Idea 1: Humans Experts
• Idea 2: fets probabilistics simples + algebra
Exemple: Suposem que coneixem P(A) = 0.7
P(B|A) = 0.2 P(B|~A) = 0.1
P(C|A^B) = 0.1 P(C|A^~B) = 0.8
P(C|A^~B) = 0.8 P(C|~A^B) = 0.3
P(C|~A^~B) = 0.1

Llavors podem calcular la JD usant la regla de la cadena


P(A=x ^ B=y ^ C=z) =
P(C=z|A=x^ B=y) P(B=y|A=x) P(A=x)
Recordar

P (Y | X ) P ( X )
P( X | Y ) =
P (Y )
Recordar:

likelihood priori
posterior
P ( X | C = c) P (C = c)
P (C = c | X ) =
P( X )
normalitzador

C = c mostra pertany a la classe c


X = x1 , x2 ,..., xn  mostra amb n característiques
Classificador Naïve Bayes
Donada una funció objectiu f: X→C, on cada instancia x descrita pels atributs
<a1, a2, …., an>. El valor més probable de f(x) és:

c = arg max P (c j | a1 , a2 ....an )


cjV

P ( a1 , a2 ....an | c j ) P (c j )
= arg max
vjV P ( a1 , a2 ....an )
= arg max P ( a1 , a2 ....an | c j ) P (c j )
cjV
Regla de la cadena
P ( a1 , a2 ....an , c j )
P ( a1 , a2 ....an | c j ) = =
P (c j )
P ( a1 | a2 ....an , c j ) P ( a2 ....an , c j ) P ( a1 | a2 ....an , c j ) P ( a2 | a3 ...an , c j ) P ( a3 ....an , c j )
= =
P (c j ) P (c j )
P ( a1 | a2 ....an , c j ) P ( a2 | a3 ...an , c j )  P ( an | c j ) P (c j )
= =
P (c j )
= P ( a1 | a2 ....an , c j ) P ( a2 | a3 ...an , c j )  P ( an | c j ) Dificil d’obtenir !!!!
Classificador Naïve Bayes
Donada una funció objectiu f: X→C, on cada instancia x descrita pels atributs
<a1, a2, …., an>. El valor més probable de f(x) és:

c = arg max P (c j | a1 , a2 ....an )


cjV

P ( a1 , a2 ....an | c j ) P (c j )
= arg max
vjV P ( a1 , a2 ....an )
= arg max P ( a1 , a2 ....an | c j ) P (c j )
cjV

Assumció del Naïve Bayes :

P ( a1 , a2 ....an | c j ) =  P ( ai | c j ) els atributs són condicionalment independents


i

c = arg max  P ( ai | c j ) P (c j )
cjV i

= arg max P (c j ) P ( ai | c j )
cjV i
Naïve Bayesian Classification
suposició Naïve : independència condicional d’atributs
P(x1,…,xk|C) = P(x1|C)·…·P(xk|C)

• Si el i-èssim atribut és categòric:


P(xi|C) s’estima com la frequencia relativa de mostres que
tenen valor xi en el i-èssim atribut en la classe C (funcio de
massa de probabilitat)
• Si el i-èssim atribut és continuu:
P(xi|C) s’estima a partir d’una funció de densitat de
probabilitat (Gaussiana?)
• Si el i-èssim atribut és ….:

Computacionalment fàcil !!
Exemple: estimació de P(xi|C)
outlook
Outlook Temperature Humidity Windy Class
sunny hot high false N P(sunny|y = 2/9 P(sunny|n) = 3/5
sunny hot high true N
overcast hot high false Y P(overcast|y) = 4/9 P(overcast|n) = 0
rain mild high false Y
rain cool normal false Y P(rain|y) = 3/9 P(rain|n) = 2/5
rain cool normal true N
overcast cool normal true Y Temperature
sunny mild high false N
sunny cool normal false Y P(hot|y) = 2/9 P(hot|n) = 2/5
rain mild normal false Y
sunny mild normal true Y P(mild|y) = 4/9 P(mild|n) = 2/5
overcast mild high true Y
overcast hot normal false Y P(cool|y) = 3/9 P(cool|n) = 1/5
rain mild high true N
Humidity
P(high|y) = 3/9 P(high|n) = 4/5
P(normal|y) = 6/9 P(normal|n) = 2/5
P(y) = 9/14
Windy
P(n) = 5/14 P(true|y) = 3/9 P(true|n) = 3/5
P(false|y) = 6/9 P(false|n) = 2/5
Exemple : Naïve Bayes
Predir si jugarem a tenis en un dia amb les següents condicions: <sunny, cool, high, strong>

outlook
Outlook Temperature Humidity Windy Class
sunny hot high false N P(sunny|y = 2/9 P(sunny|n) = 3/5
sunny hot high true N P(overcast|y) = 4/9 P(overcast|n) = 0
overcast hot high false Y
rain mild high false Y P(rain|y) = 3/9 P(rain|n) = 2/5
rain cool normal false Y Temperature
rain cool normal true N
overcast cool normal true Y P(hot|y) = 2/9 P(hot|n) = 2/5
sunny mild high false N P(mild|y) = 4/9 P(mild|n) = 2/5
sunny cool normal false Y
rain mild normal false Y P(cool|y) = 3/9 P(cool|n) = 1/5
sunny mild normal true Y Humidity
overcast mild high true Y
overcast hot normal false Y P(high|y) = 3/9 P(high|n) = 4/5
rain mild high true N P(normal|y) = 6/9 P(normal|n) = 2/5
Windy
P(true|y) = 3/9 P(true|n) = 3/5
P(false|y) = 6/9 P(false|n) = 2/5
P(C| o=sunny, t= cool, h=high w=strong)
P(y) = 9/14
p ( y ) p ( sun | y ) p (cool | y ) p ( high | y ) p ( strong | y ) = .005 P(n) = 5/14

p ( n) p ( sun | n) p (cool | n) p ( high | n) p ( strong | n) = .021


Exemple : Naïve Bayes
The weather data, with counts and probabilities
outlook temperature humidity windy play
yes no yes no yes no yes no yes no

sunny 2 3 hot 2 2 high 3 4 false 6 2 9 5


overcast 4 0 mild 4 2 normal 6 1 true 3 3
rainy 3 2 cool 3 1
Exemple : Naïve Bayes
The weather data, with counts and probabilities
outlook temperature humidity windy play
yes no yes no yes no yes no yes no

sunny 2 3 hot 2 2 high 3 4 false 6 2 9 5


overcast 4 0 mild 4 2 normal 6 1 true 3 3
rainy 3 2 cool 3 1
sunny 2/9 3/5 hot 2/9 2/5 high 3/9 4/5 false 6/9 2/5 9/14 5/14
overcast 4/9 0/5 mild 4/9 2/5 normal 6/9 1/5 true 3/9 3/5
rainy 3/9 2/5 cool 3/9 1/5
Exemple : Naïve Bayes
The weather data, with counts and probabilities
outlook temperature humidity windy play
yes no yes no yes no yes no yes no

sunny 2 3 hot 2 2 high 3 4 false 6 2 9 5


overcast 4 0 mild 4 2 normal 6 1 true 3 3
rainy 3 2 cool 3 1
sunny 2/9 3/5 hot 2/9 2/5 high 3/9 4/5 false 6/9 2/5 9/14 5/14
overcast 4/9 0/5 mild 4/9 2/5 normal 6/9 1/5 true 3/9 3/5
rainy 3/9 2/5 cool 3/9 1/5

Un nou dia
outlook temperature humidity windy play
sunny cool high true ?
Exemple : Naïve Bayes continu
The numeric weather data with summary statistics
outlook temperature humidity windy play
yes no yes no yes no yes no yes no

sunny 2 3 83 85 86 85 false 6 2 9 5
overcast 4 0 70 80 96 90 true 3 3
rainy 3 2 68 65 80 70
64 72 65 95
69 71 70 91
75 80
75 70
72 90
81 75

Ho aproximem amb una funció de densitat de probabilitat. Per


exemple: gaussiana
Exemple : Naïve Bayes continu
• Si x1, x2, …, xn son els valors d’un atribut numèric en el
conjunt d’aprenentatge, llavors la distribució normal
que els fita s’aproxima per:

1 n
 =  xi
n i =1
n
 =
2 1
 (xi −  )2

n − 1 i =1
( w−  )2
1 −
f ( w) = e 2 2

 2
Exemple : Naïve Bayes continu
The numeric weather data with summary statistics
outlook temperature humidity windy play
yes no yes no yes no yes no yes no

sunny 2 3 83 85 86 85 false 6 2 9 5
overcast 4 0 70 80 96 90 true 3 3
rainy 3 2 68 65 80 70
64 72 65 95
69 71 70 91
75 80
75 70
72 90
81 75
sunny 2/9 3/5 mean 73 74.6 mean 79.1 86.2 false 6/9 2/5 9/14 5/14
overcast 4/9 0/5 std 6.2 7.9 std 10.2 9.7 true 3/9 3/5
dev dev
rainy 3/9 2/5
− ( w− 2)
2
1
f ( w) = e 2
 2

• Per exemple,
− ( 66−73 2)
2

f (temperature = 66 | Yes ) =
1
e 2 ( 6 .2 )
= 0.0340
6.2 2
2 3 9
• Likelihood de Yes =  0.0340  0.0221   = 0.000036
9 9 14

3 3 5
• Likelihood de No =  0.0291  0.038   = 0.000136
5 5 14
Algorisme Naïve Bayes
Naïve_Bayes_Learn (examples)
Per a cada valor objectiu 𝐶𝑗
estimar 𝑃(𝐶𝑗 )
Per a cada valor 𝑎𝑖 del atribut 𝑎
estimar 𝑃(𝑎𝑖 |𝐶𝑗 )

Classificar_nova_instancia (x) seguint

𝑐 = arg max 𝑃(𝐶𝑗 ) ෑ 𝑃(𝑎𝑖 |𝐶𝑗 )


𝐶𝑗 ∈𝐶
𝑎𝑖 ∈𝑥

Si tenim 10000 variables el producte provocarà imprecisió numèrica.


Solució: usar logaritmes

𝑐 = arg max log 𝑃 (𝐶𝑗 ) + ෍ log 𝑃 (𝑎𝑖 |𝐶𝑗 )


𝐶𝑗 ∈𝐶
𝑎𝑖 ∈𝑥
P (x) log P ( x)
[[0.08683217], [[-2.44377805],
[0.02000183], [-3.9119316 ],
[0.01367926], [-4.29187442],
[0.08409573], [-2.47579952],
[0.0389006 ], [-3.24674553],
[0.04847426], [-3.02672235],
[0.06446187], [-2.74168135],
[0.05903723], [-2.82958703],
[0.05259446], [-2.9451445 ],
[0.04257019]] [-3.15660115]]

 P( x)
x
 log P( x)
x

3.210176091059251e-14 -31.069865509251503

a=np.random.random((100,1))
np.log(a).sum() → -89.02957210783187
np.prod(a) → 2.1624601219474498e-39
Naïve Bayes: 𝑷(𝒂𝒊 |𝑪𝒋 )
Si estem de mala sort, la nostra estimació de MLE per a
P(ai | Cj) pot ser 0 (e.g., a373= “nascut el 30/10/2001”)

• Per a que preocuparse per un paràmetre quan en tenim


molts?
P(a373 | Cj)=0
𝑐 = arg max 𝑃(𝐶𝑗 ) ς𝑎𝑖 ∈𝑥 𝑃(𝑎𝑖 |𝐶𝑗 ) ???
𝐶𝑗 ∈𝐶
𝑃(𝐶𝑗 ) ෑ 𝑃(𝑎𝑖 |𝐶𝑗 ) = 0
𝑎𝑖 ∈𝑥

• Com ho podem evitar?


Naïve Bayes: P(xi|Cj)
Maximum likelihood estimates:
#𝐷{𝐶 = 𝐶𝑘 }
𝑃 𝐶 = 𝐶𝑘 =
𝐷
#𝐷{𝑋𝑖 = 𝑥𝑖𝑗 ⋀𝐶 = 𝐶𝑘 }
𝑃 𝑋𝑖 = 𝑥𝑖𝑗 |𝐶 = 𝐶𝑘 =
#𝐷{𝐶 = 𝐶𝑘 }

MAP estimates (Dirichlet priors):


#𝐷{𝐶 = 𝐶𝑘 } + 𝜆 Única diferencia:
𝑃෠ 𝐶 = 𝐶𝑘 =
𝐷 + 𝜆𝑅 exemples “imaginaris”
#𝐷{𝑋𝑖 = 𝑥𝑖𝑗 ⋀𝐶 = 𝐶𝑘 } + 𝜆
𝑃෠ 𝑋𝑖 = 𝑥𝑖𝑗 |𝐶 = 𝐶𝑘 =
#𝐷{𝐶 = 𝐶𝑘 } + 𝜆𝑀

S’anomena Laplace Smoothing. Sovint 𝜆=1


R és el número de diferents valors de C
M el número de diferents valors de Xi
La hipòtesi d’independencia condicionada…
• … fa possible la computatció
• … dona un classificador òptim si es compleix
• … però rarament es satisfà a la pràctica, ja que els
atributs (variables) sovint estan correlacionats.
Com evitar aquesta limitació:
– Bayesian networks, que combinen el raonament bayesià amb
relacions de causalitat entre atributs
– Decision trees, que raonen sobre un atribut a cada pas,
considerant els atributs més ‘importants’ primer.
Naive Bayes no és tant Naive
• Aprenentatge i test molt ràpid (bàsicament comptar
dades)
• Requeriments de memòria baixos
• Molt bo en dominis amb moltes característiques
igualment importants
• Més robust a dades irrellevants que molts altres
mètodes
• Més robust a ‘concept drift’ (canvi de definició de la
classe sobre el temps)
Exemple: aprendre a classificar
documents
• Classificar quins emails son spam
• Classifcar quins emails són convocatories de
reunions
• Classifcar quines pàgines web són d’estudiants

Com hem de representar els documents de text


per a Naïve Bayes?
Baseline: Bag of Words Approach
aardvark 0
about 2
all 2
Africa 1
apple 0
anxious 0
...
gas 1
...
oil 1

Zaire 0
Class Prior
class 1 P(class1)
class 2 P(class2)

Class n P(classn)

Word Class 1 ... Class n


word 1 P(word1|class1) P(word1|classn)
word 2 P(word2|class1) P(word2|classn)

word m P(wordm|class1) P(wordm|classn)


Word Class 1 ... Class n
word_i és una variable aleatòria que pot
word 1 P(word1|class1) P(word1|classn)
pendre valor 0 o 1 per tant segueix una
word 2 P(word2|class1) P(word2|classn)
distribució de Bernouilli.
word m P(wordm|class1) P(wordm|classn)
Cada fila de la taula correspon a una
variable i la probabilitat associada a una
classe s’expressarà diferent segons el tipus
de variable aleatria sigui
Explicant les dades probabilísticament

El contingut d’aquest document s’ha derivat de material provinent de


Tom Mitchell, William Cohen, Andrew Moore, Aarti Singh, Eric Xing, Carlos Guestrin.
Simplifiquem el món: Naïve Bayes

No hi ha connexió entre les propietas


(variables aleatories) que defeneixen els
notres objectes

Descrivim les propietats (variables aleatòries)


per una funció de probabilitat segons el que
observem
Tipus de variables aleatories
• Discretes • Continues
binària, ‘multivariades’

Moneda, dau, … Alçada, ingressos, …

Com les caracteritzem?

Distribució de probabilitat Densitat de probabilitat

Alçada població, …
Suma de dos daus
Exemple :
The numeric weather data with summary statistics
outlook temperature humidity windy play
yes no yes no yes no yes no yes no

sunny 2 3 83 85 86 85 false 6 2 9 5
overcast 4 0 70 80 96 90 true 3 3
rainy 3 2 68 65 80 70
64 72 65 95
69 71 70 91
75 80
75 70
72 90
81 75
sunny 2/9 3/5 mean 73 74.6 mean 79.1 86.2 false 6/9 2/5 9/14 5/14
overcast 4/9 0/5 std 6.2 7.9 std 10.2 9.7 true 3/9 3/5
dev dev
rainy 3/9 2/5
Tipus de variables aleatòries
• Discretes • Continues
Booleanes, multiavaluades f (x)  0,x
+

 f (x) = 1
−
P(X = xi∩X = xj) = 0 if i ≠ j
P(X = xi U X = xj) = P(X = xi) + P(X = xj) if i ≠ j


Distribució de probabilitat Densitat de probabilitat

Alçada població, …
Suma de dos daus
Estimació de la densitat de probabiliat
• Un estimador de Densitat apren un mapejat a partir
d’un conjunt d’atributs cap a una probabilitat

• Sovint ho coneixem com a estimador de parametres si


s’especifica la forma de la distribució
– Binomial, Gaussian …

• A tenir en compte:
– Natura de les dades (iid, correlacionades, …)
– Funció objectiu (MLE, MAP, …)
– Algorisme (algebra simple, mètodes del gradient, EM, …)
– Esquema d’avaluació (likelihood sobre les dades de test, consistència, …)
Recordar

likelihood priori
posterior
P ( D |  ) P ( )
P ( | D ) =
P( D)
normalitzador
Aprenentatge de paràmetres sobre
dades idd
Objectiu: estimar els parametres de la distribució  a partir d’un conjunt de
dades de N casos d’aprenentatge independents, identicament distribuïts (iid),
completament observats
D = {x1, . . . , xN}
Maximum likelihood estimation (MLE)
1. Un dels estimadors més comuns
2. Amb asumcions de iid i observació completa, L() és la likelihood de les dades:

L( ) = P ( x1, x2 ,  , x N |  )
= P ( x1 |  ) P ( x2 |  ),  , P ( x N |  )
= i =1 P ( xi |  )
N

3. Triar el conjunt de paràmetres que més plausiblement han generat les dades que tenim:

 * = arg max L( ) = arg max log L( )


 
Tipus de funcions de densitat de probabilitat
Tipus de funcions de densitat de probabilitat
Exemple 1: distribució de Bernoulli
• Dades:
– Observem N iid tirades de moneda: D={1, 0, 1, …, 0}
• Representació:
r.v binaria: xn = {0,1}
1 − 𝜃 per 𝑥 = 0
• Distribució de Bernoulli: 𝑃(𝑥) = ቊ
𝜃 per 𝑥 = 1  P( x) =  x (1 −  )1− x

• Com expresem la likelihood d’una única observació xi ?


P ( xi ) =  xi (1 −  )1− xi
• La likelihood de les dades D={x1, …,xN}:
N N

  1 − xi
( ) =
N N xi
P ( x1 , x2 ,..., x N |  ) =  P ( xi |  ) =  (1 −  )
xi 1 − xi i =1
(1 −  ) i=1 =  #head (1 −  ) # tails
i =1 i =1
MLE
• Funció objectiu:
l ( ; D ) = log P ( D |  ) = log  n (1 −  ) n = nh log  + ( N − nh ) log( 1 −  )
h t

• Hem de maximitzar-ho respecte a 


• Prenem la derivada respecte  i busquem el 0
l nh N − nh  n  1
= −
  1 −
=0  MLE = h
N
o  MLE =
N
x
i
i

 log  1
nota : =
 
Overfitting
• Recordar que per la distribució de Bernoulli, tenim
 head n head
 ML = head
n + n tail
• Que passa si tirem la moneda massa poques
vegades de manera que tenim 0 cares?
head
Tindriem ML = 0, i prediriem que la propabilitat
que la següent tirada fos cara seria zero!!!
• solució:
– On λ es coneix com additive smoothing o Laplace smoothing

𝑛ℎ𝑒𝑎𝑑 + 𝜆
𝜃ҭ𝑀𝐿
ℎ𝑒𝑎𝑑
= ℎ𝑒𝑎𝑑
𝑛 + 𝑛𝑡𝑎𝑖𝑙 + 𝜆
Exemple 2: distribució normal
univariada
• Dades:
– Observem N iid dades reals (continues):
D={-0.1, 10, 1, -5.2, …, 3}
( x− )2
• Model: P( x) =
1
e

2 2

 2
• Log likelihood:
1 N (xn −  )
2
N
l ( ;D ) = log P (D |  ) = − log( 2 ) − 
2

2 2 n =1  2
• MLE: prendre la derivada i buscar el zero per a
maximitzar: TENIM 2 PARÀMETRES
l 1
= (1 /  2 )n (xn −  ) MLE =  (x ) n
 N n

l N 1 1
 (x − ML )
2
= − + 4 n
(xn −  )2 2
 MLE =
N n n
 2
2 2
2

You might also like