Professional Documents
Culture Documents
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
• 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
¬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)
• Definició: P (X Y )
G
P (X |Y ) =
P (Y ) M∧G
M
Probabilitat condicionada
Definició: P (X Y )
P (X |Y ) =
P (Y )
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).
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 )
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:
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
𝑃 𝐸 = 𝑃(𝑓𝑖𝑙𝑎)
𝑓𝑖𝑙𝑒𝑠 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑒𝑛𝑡𝑠 𝑎 𝐸
P(Poor) = 0.7604
𝑃 𝐸 = 𝑃(𝑓𝑖𝑙𝑎)
𝑓𝑖𝑙𝑒𝑠 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑒𝑛𝑡𝑠 𝑎 𝐸
Ús de la Joint Distribution
𝑃 𝐸 = 𝑃(𝑓𝑖𝑙𝑎)
𝑓𝑖𝑙𝑒𝑠 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑒𝑛𝑡𝑠 𝑎 𝐸
Inferència amb la Joint Distribution
Ja hem acabat?
On som?
1. Necessitem 2^m files en la joint
distribution per poder fer inferència
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)
De forma equivalent:
P(Tard | Benzina, Engega) = P(Tard| Engega)
P(X,Y|Z) = P(X|Z)P(Y|Z) o bé
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)
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
Solució?
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
𝑃(𝑋|𝐶 = 𝑐)𝑃(𝐶 = 𝑐)
𝑃(𝐶 = 𝑐|𝑋) =
𝑃(𝑋)
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)
⇒ ℎ𝑀𝐴𝑃 = ¬𝑒𝑛𝑓𝑒𝑟𝑚𝑒𝑡𝑎𝑡
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
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
P ( a1 , a2 ....an | c j ) P (c j )
= arg max
vjV P ( a1 , a2 ....an )
= arg max P ( a1 , a2 ....an | c j ) P (c j )
cjV
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:
P ( a1 , a2 ....an | c j ) P (c j )
= arg max
vjV P ( a1 , a2 ....an )
= arg max P ( a1 , a2 ....an | c j ) P (c j )
cjV
c = arg max P ( ai | c j ) P (c j )
cjV i
= arg max P (c j ) P ( ai | c j )
cjV i
Naïve Bayesian Classification
suposició Naïve : independència condicional d’atributs
P(x1,…,xk|C) = P(x1|C)·…·P(xk|C)
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
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
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 𝑃(𝑎𝑖 |𝐶𝑗 )
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”)
Class n P(classn)
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
• 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:
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
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