Maschinelles Lernen
Maximum Likelihood-SchätzungMaximum a posteriori-Schätzung
Seite 204/20/23|
Bayessches Lernen - Wiederholung
Satz von Bayes
)(
)()|( )|(
xP
PxPxP
Posterior
Likelihood Prior
Evidenz
Dabei sind x die Daten, ω ist eine Klasse/ eine Kategorie.
)|()|( )|(
C
xPaxaR
Das Leben könnte so einfach sein…Optimale Entscheidungsregel (Bayes-Entscheidungsregel):
Bei gegebenen Daten x wähle die Aktion a(x)=a, für die R(a,x) minimal wird.
Erwartetes Risiko/Verlust/Loss von Aktion a bei gegebener Lossfunktion λ:
… isses aaber nicht: Prior und Likelihood müssen bekannt sein, aber genau das ist praktisch nie der Fall. Maschinelles Lernen beschäftigt sich zu einem großen Teil mit der
Konstruktion geeigneter Prior und Likelihoods aus gegebenen Daten.
dx )|)(()( p(x)xxaRaRxErwarteter Verlust bei gegebener
Entscheidungsregel a:
Seite 304/20/23|
MAP- und ML-Schätzung. Beispiel
Wie konstruiert man aus gegebenen Daten geegnete Prior und Likelihoods?
Daten (Beobachtungen) Empirische Verteilung(en)
1. Versuch: Benutze die empirischen Häufigkeiten PEmp(ωj) als Annäherung an die wahren Prior P(ωj) Benutze die empirischen Verteilungen PEmp(x|ωj) als Annäherung an die wahre Likelihood P(x|ωj).
PEmp(x | Lachs)PEmp(x | Barsch)
Das Auszählen der Klassenhäufigkeiten liefert meist eine gute Approximation der wahren Prior. Problem: Die empirische Verteilung ist meist eine schlechte Approximation der Likelihood. Es existieren zu wenige Beobachtungen, um insbesondere hochdimensionale Verteilungen genau zu schätzen.
Seite 404/20/23|
Histogram of b
b
Fre
quen
cy
150 160 170 180 190 200
05
1015
20
Modellannahme: X ist eine
normalverteilte Zufallsvariable
N(μ,σ2)
Parameterschätzung:Mittelwert = 179
Standardabw. = 9.5
Lösungsmöglichkeit: Lasse Wissen über die Art des Problems, d.h. über die Form der Likelihood, einfließen. Mache zusätzliche Modellannahmen.
Beispiel: Daten D = {x1 , ... ,xk } , xj = Größe von Barsch j in mm D.h. die gesuchte Verteilung die der Zufallsvariable X = Länge eines Barsches.
tatsächliche Dichte von X
empirische Dichtefunktion
140 160 180 200 220
0.0
00.0
10.0
20.0
3
density(x = a)
N = 1000 Bandwidth = 2.363
Densi
ty
„gelernte“ Dichtefunktion
150 160 170 180 190 200 210
0.00
0.01
0.02
0.03
0.04
seq(150, 210, length = 100)
dnor
m(s
eq(1
50, 2
10, l
engt
h =
100)
, mea
n =
178,
sd
= 10
)
MAP- und ML-Schätzung. Beispiel
140 160 180 200 220
0.0
00.0
10.0
20.0
3density(x = a)
N = 1000 Bandwidth = 2.363
Densi
ty
140 160 180 200 220
0.0
00.0
10.0
20.0
3
density(x = a)
N = 1000 Bandwidth = 2.363D
ensi
ty
Seite 504/20/23|
MAP- und ML-Schätzung
Modellannahmen können helfen, eine Zufallsvariable (bzw. deren Verteilung) besser zu approximieren. Modellannahmen fließen meist durch die Wahl einer Modellklasse ein. Eine Modellklasse ist eine Menge von Zufallsvariablen, von denen jedes Element durch eine feste, kleine Zahl von Parametern beschrieben werden kann. Beispiele:
• Die Modellklasse aller eindimensionalen Normalverteilungen {N(μ,σ2) | μ∊R , σ2>0 }
• Die Modellklasse aller multivariaten (n-dimensionalen) Normalverteilungen {N(μ,Σ) | μ∊Rn , Σ positiv definite n x n Matrix}
• Die Klasse der Bayesnetze{ BN(V, L) | V gerichteter azyklischer Graph, L Menge von lokalen bedingten Wahrscheinlichkeitsverteilungen}
• Die Klasse der Hidden Markov Modelle { HMM(S,A,B,π,V) , Zustandsmenge S, Übergangsmatrix A, Menge Emissionswahrscheinlichkeitsverteilungen B, Anfangsverteilung π, Merkmalsraum V }
u.v.m.Problem (Modellselektion): Welches ist die „richtige“ Modellklasse? Welches ist eine „vernünftige“ Modellklasse?
Seite 604/20/23|
MAP- und ML-Schätzung
Es soll nun das bestpassende Modell Pω(x) gefunden werden, d.h. der Parametersatz ω∊Ω , welcher die beste Approximation der wahren Verteilung P(X) der Daten liefern.
Problem (Parameteridentifikation): Wie finde ich die „richtigen“ Parameter? Gesucht: Ein Verfahren, das aus den beobachteten Daten D={x1,…,xn} die Parameter Ω eines möglichst gut passenden Modells schätzt.
Sei eine Modellklasse {Pω(x) | ω∊Ω } gegeben. D.h. jedes konkrete Modell ist eine Wahrscheinlichkeitsverteilung Pω(x), welche durch einen Satz von Parametern ω Ω∊ definiert wird.
1. Möglichkeit: Maximum Likelihood Schätzung (ML). Finde das (ein) ∊Ω (den ML-Schätzer), für welches die Beobachtung der Daten D am wahrscheinlichsten ist. Anm.: Fast immer nimmt man die Unabhängigkeit der Daten an. D.h. die Daten sind i.i.d. (=independent, identically distributed) Realisierungen der Zufallsvariablen X. Somit entsteht jedes xj durch unabhängiges Ziehen aus der gleichen Verteilung Pω(x). Dann ist
n
jjxPDatenP
1
)()(
und )( maxarg ˆ DatenP
Seite 704/20/23|
MAP- und ML-Schätzung
2. Möglichkeit: Maximum A Posteriori Schätzung (MAP). Nimm an, der Parameterraum Ω sei ein Wahrscheinlichkeitsraum mit Dichte P(ω). Dann ist
n
j
n
jj xPPxPPPDatenPDatenP
11
)()( )|()( )()|( )|(
)()( )()|( )|( PxPPxPxP Posterior
Likelihood Modellrior
Datenunabhängigkeit angenommen, ergibt sich
Finde das (ein) Ω∊ (den MAP-Schätzer), welches bei gegebenen Daten den Posterior für ω maximiert.
und )| maxarg ˆ DatenP(
Formal unterscheiden sich MAP- und ML-Schätzer nur durch den Modellprior P(ω). Ist der Prior uniform ( P(ω) = const. ), so sind MAP- und ML-Schätzer identisch. Konzeptionell sind beide Verfahren verschieden: ML betrachtet die Daten als Realisierungen eines festen Modells Pω(x), MAP betrachtet die Daten als fest und die Modelle als Realisierungen einer Zufallsvariablen mit der Dichte P(ω|Daten).
Seite 804/20/23|
Maximum Likelihood bei Normalverteilungen
Die eingezeichneten Werte (schwarze Punkte) wurden aus einer Normalverteilung N(θ,σ2) mit bekannter Standardabweichung σ, aber unbekanntem Erwartungswert θ gezogen.
θ1
θ2 θ3 θ4
Verschiedene Dichten P(x | θj)
Likelihoodfunktion P(D|θ). Dies ist i.d.R. keine Wahrscheinlichkeitsdichte!
log-Likelihoodfunktion
l(θ) = ln P(D|θ)
(Oft ist es leichter, die log-Likelihood zu maximieren)
Seite 904/20/23|
Maximum Likelihood bei Normalverteilungen
Seite 1004/20/23|
Maximum Likelihood bei Normalverteilungen
(Beweis: Übung)
Seite 1104/20/23|
Maximum a posteriori bei Normalverteilungen
Wir wollen P(μ|D) ∝ P(D| μ) P(μ) maximieren.
Spezifikation des Priors: P(μ) ~N(μ0,σ02) , μ0 und σ0
2 sind festgelegt
n
P(μ|D)
Seite 1204/20/23|
Maximum a posteriori bei Normalverteilungen
20
22
11
n
n20
022
x
n
n
n
n
kkx
nx
1
1
Somit hat p(μ|D) die Gestalt
Koeffizientenvergleich ergibt:
und , wobei
Seite 1304/20/23|
Maximum a posteriori bei Normalverteilungen
Auflösen nach μn, σn ergibt (mit ) :
n
kkx
nx
1
1
xn
xn
n nn 022
0
2
220
20
0 für n∞1 für n∞
220
20
22
nn
0 für n∞
p(μ|D) nimmt bei μn sein Maximum an, somit ist μn der MAP-Schätzer. Für n∞ geht dieser in den ML-Schätzer μ = über.x
Der Posterior versammelt seine Masse mit n∞ immer enger um μn. Mit zunehmendem n wird der Einfluss des Priors (μ0,σ0) auf den Posterior bzw. den MAP-Schätzer immer geringer.
Seite 1404/20/23|
Maximum a posteriori bei Normalverteilungen
Während der ML-Schätzer ein Punktschätzer ist (es wird nur ein Satz Parameter ermittelt), liefert der MAP-Ansatz neben einem Punktschätzer eine Wahrscheinlichkeitsverteilung der Parameter, p(μ|D).
Seite 1504/20/23|
Maximum a posteriori bei Binomialverteilungen
Zahl wenn x-1
Kopf wenn x )|(
xP
Einmaliger Münzwurf mit Kopfwahrscheinlichkeit θ:
n-faches Werfen derselben Münze (D={x1,…,xn}, davon nK Mal Kopf und
nZ Mal Zahl) :ZK nnDP )1( )|(
Wir suchen den Posterior P(θ|D), gegeben ein geeigneter Prior. Es gibt eine geschickte Priorwahl:
)1(1)-( )1(
),Beta( ~ )(
P
α=β=1
Seite 1604/20/23|
Konjugierte Prior
Der Posterior kann nämlich in geschlossener Form ausgerechnet werden, und hat wieder eine Beta-Verteilung, stammt also aus der gleichen Verteilungsfamilie wie der Prior:
),Beta( ~
)1(
)1()1( )() )|()1(1)-(
)1(1)-(
ZK
nn
nn
nn
PP(D|θDPZK
ZK
),Beta( ~ )( P
Sei eine Likelihoodfunktion gegeben. Ein Prior, bezüglich dessen der Posterior aus der gleichen Familie von Wahrscheinlichkeitsverteilungen wie der Prior stammt, heißt konjugierter Prior.Vorteil konjugierter Prior: Die Berechnung des Posteriors ist besonders leicht, da nur die Parameter der Verteilung berechnet werden müssen, wie in obigem Beispiel:
Likelihood = Binomialvert. Parameter des Priors: (α,β) Parameter des Posteriors: (α+nK,β+nZ)
Seite 1704/20/23|
0.0 0.2 0.4 0.6 0.8 1.0
01
23
45
Dic
hte
n= 0n= 10n= 20n= 30n= 40
Konjugierte Prior
R-Code zur Berechnung des Posteriors nach wiederholtem Münzwurf
(uniformer Prior)
Seite 1804/20/23|
Konjugierte Prior
from Wikipedia, „conjugate prior“
Erste Schritte in RVerwendung von R-Packages
Maschinelles Lernen
Seite 2004/20/23|
• Umgebung zur statistischen Datenanalyse
• Open source, weitgehend kompatibel mit Splus
• Sehr dynamisch durch einfache Einbindung neuer Funktionen („Packages“)
• In der wissenschaftlichen Gemeinschaft das (zusammen mit SAS) am weitesten verbreitete Statistik-Tool
• Für Computational Biology der de facto - Standard
Was ist „R“ ?
Seite 2104/20/23|
http://cran.r-project.org
Installation von R/Bioconductor
Seite 2204/20/23|
Installation von R/Bioconductor
Seite 2304/20/23|
Installation von R/Bioconductor
Seite 2404/20/23|
http://bioconductor.org
Installation von R/Bioconductor
Seite 2504/20/23|
Installation von R/Bioconductor
Seite 2604/20/23|
Installation von R/Bioconductor
Seite 2704/20/23|
20
1
0
x
20*20
1*1
0*0
20
1
0
*
20
1
0
*
xxy
> x = 0:20> y = x*x> plot(x,y)
0 5 10 15 20
010
020
030
040
0
xy
R-Syntax, elementare Rechenoperationen
Seite 2804/20/23|
4
3
2
1
x
> x = 1:4> y = x*2> z = x*c(0,1)
8
6
4
2
2
2
2
2
*
4
3
2
1
2*
4
3
2
1
2*xy
4
0
2
0
1
0
1
0
*
4
3
2
1
1
0*
4
3
2
1
1
0*xz
R-Syntax, elementare Rechenoperationen
Seite 2904/20/23|
> x = rnorm(100,mean=0,sd=1)> hist(x)> density(x)
R-Syntax, elementare Rechenoperationen
Histogram of x
x
Fre
qu
en
cy
-3 -2 -1 0 1 2 3 4
01
02
03
04
0
-4 -2 0 2 4
0.0
0.1
0.2
0.3
density.default(x = x)
N = 100 Bandwidth = 0.3958
De
nsity
Seite 3004/20/23|
R-Syntax, elementare Rechenoperationen
> x = rnorm(6,mean=0,sd=1)> x[1] -1.08095279 -1.32442492 -0.77553316 -0.44245375 0.03208035 0.03687350> likelihood = + function(mu=0,sigma=1,daten=x)+ {prod(dnorm(daten,mean=mu,sd=sigma))}> theta = seq(from=-5,to=5,length=100)> plot(theta,sapply(theta,likelihood))> optimize(likelihood,interval = c(-5,5),maximum=TRUE)$maximum[1] -0.5924009
$objective[1] 0.001796537
-4 -2 0 2 4
0.0
00
00
.00
05
0.0
01
00
.00
15
theta
sap
ply
(th
eta
, lik
elih
oo
d)
Seite 3104/20/23|
Konjugierte Prior
> theta=0.3> alpha = 1; beta = 1> x = seq(0,1,length=200)> plot(x,dbeta(x,alpha,beta),type="l",lwd=2,ylab="Dichte", + xlab="",ylim=c(0,5.5))> abline(v=theta)> n=10> for (j in 2:5)+ {+ nk = rbinom(1,size=n,prob=theta)+ nz = n-nk+ alpha = alpha + nk+ beta = beta + nz+ points(x,dbeta(x,alpha,beta),type="l",lwd=2,col=j)+ }> legend(0.6,5,legend=paste("n=",(0:4)*n),col=1:5,lty=1)
0.0 0.2 0.4 0.6 0.8 1.0
01
23
45
Dic
hte
n= 0n= 10n= 20n= 30n= 40
R-Code zur Berechnung des Posteriors nach wiederholtem Münzwurf