kerndichteschätzung nearest-neighbour-verfahren
DESCRIPTION
Maschinelles Lernen. Kerndichteschätzung Nearest-Neighbour-Verfahren. Kerndichteschätzung. - PowerPoint PPT PresentationTRANSCRIPT
KerndichteschätzungNearest-Neighbour-Verfahren
Maschinelles Lernen
Seite 204/20/23|
Kerndichteschätzung
Idee: Bei gegebenen Daten D={x1,…,xN}Verwende die Datenpunkte in der Umgebung eines Punktes x zur Schätzung von p(x) (bzw. zur Schätzung von p(x|ω), falls verschiedene Klassen ω gelernt werden sollen).
||
|)(| ')'( '1
)()( D
DxU dxxp dx p(x)
xUxU
Setze und
Dann ist eine Approximation von p(x).
Fragen: Wie muss V gewählt werden? Wie groß muss k sein? Ist eine Dichte?
VxU
)(
1 |)(| DxUk
N
k(x) p
V
1 ˆ
(x)p ˆ
Seite 304/20/23|
Kerndichteschätzung
Wahre Dichte
Seite 404/20/23|
Asymptotik für wachsende Zahl von Datenpunkten N:
Parzen Windows, Nearest Neighbours
N
k(x) p N
N NV
1 ˆ
Notwendige Kriterien für :)( )(ˆProb.
xp xp NN
0 N NV Nk N0 /NN Nk
Zwei Möglichkeiten für die praktische Wahl von kN,VN bei gegebener Zahl von Datenpunkten N:
1. Wähle VN, z.B. VN = N-0.5. Dann erwartet man im Mittel kN = N0.5 Punkte pro Volumeneinheit, und kN/N = N-0.5. (Parzen Window Methode)
2. Wähle kN, z.B. kN = N0.5. Vergrößere das Volumen so lange, bis es kN Punkte enthält. Man erwartet im Mittel VN = N-0.5 Punkte pro Volumeneinheit, und kN/N = N-0.5. (Nearest Neighbour Methode)
Seite 504/20/23| Aus: Duda, Hart, Stork. Pattern Recognition
Parzen Windows
Nearest Neighbours
1. Wähle VN, z.B. VN = N-0.5. Dann erwartet man im Mittel kN = N0.5 Punkte pro Volumeneinheit, und kN/N = N-0.5. (Parzen Window Methode)
2. Wähle kN, z.B. kN = N0.5. Vergrößere das Volumen so lange, bis es kN Punkte enthält. Man erwartet im Mittel VN = N-0.5 Punkte pro Volumeneinheit, und kN/N = N-0.5. (k-Nearest Neighbour Methode, kNN)
Parzen Windows, Nearest Neighbours
Seite 604/20/23|
N
k(x) p N
N NV
1 ˆ
Die Gestalt des Volumens ist noch nicht festgelegt. Wählt man jenes als einen Hyperkubus mit Zentrum x und Kantenlänge hN, so hat man:
}2/|x-y| |{y N NhV
sonst
/2|x-y| falls
0
1 )( Nh
y
und mit
schreibt sich
Dx N
jN
jh
xxk )(
daraus folgt (bei p-dimensionalen Daten)
Dx N
j
pN
N
jh
xx
h(x) p )(
1
N
1 ˆ
Kerndichteschätzung
Seite 704/20/23|
Dx N
j
pN
N
jh
xx
h(x) p )(
1
N
1 ˆ
Verallgemeinerung: Ist die Funktion ρ selbst eine Dichte, so auch
(Beweis: Übung)
Definiere für beliebige Kerndichte ρ und „Fensterbreite“ h :
(x) p Nˆ
Dx
jN
j
xx(x) p )(N
1 ˆ )/(
1 )( hx
h x
p
Kerndichteschätzung
Seite 804/20/23| Aus: Duda, Hart, Stork. Pattern Recognition
Dichteschätzungen für N=5 Datenpunkte und verschiedene Intervallbreiten. Dichte = Standardnormalverteilung
Kerndichteschätzung
Seite 904/20/23|
)exp()( 2ttD
otherwise 0
]1,1[for )1()(
2 tttD
otherwise 0
]1,1[for )||1()(
33 tttD
Gauß Kernel
Epanechnikov Kernel
Tri-cube Kernel
Kerndichteschätzung
Gebräuchliche Kerndichten sind:
Seite 1004/20/23| Aus: Duda, Hart, Stork. Pattern Recognition
Klassifikation: Schätze p(x|ω1) und p(x|ω2) und fälle (evtl. nach zusätzlichen a priori-Annahmen über p(ωk) ) danach eine ML bzw. eine MAP-Entscheidung.
Kerndichteschätzung
Seite 1104/20/23|
Die Fensterbreite h bestimmt, wie stark sich die geschätzte Dichte den Daten anpasst. Wie immer ist auf einen Kompromiss zwischen Bias und Varianz zu achten.
Eine zu kleine Fensterbreite produziert eine Überanpassung an die Daten (“overfitting”). eine zu große Fensterbreite übergewichtet die initial angenommene Dichte (“underfitting”). Beides führt zu schlechten Verallgemeinerungseigen-schaften der Modelle.
Kerndichteschätzung
Seite 1204/20/23|
The idea is to replace the k-nearest neighbours average by a more robust estimate. Generalize the regression function
,yk
xf(x)Nx
j
kj
1
)(ˆ
by weighting the contribution of each yj to the regression function at the point x:
N
jj
N
jjj
xxK
yxxK
xf
1
1
),(
),(
)(ˆ
Here, K(x,z) is the so-called regression kernel which determines the influence of the point zєX on the regression function at x. In order to obtain a sensible regression function, a point z close to x should have a higher impact than a point further away, so the kernel function K(x,z) needs to be bell-shaped around x (as a function of z).
Narada-Watson
weighted average
Exkurs: kNN/Parzen Windows und Regression
Usually, the kernel is chosen to be translation invariant, so it can be written as
|z-x|
D ),( zxK
otherwise 0
)(for 1 ),(
xNzzxK k
Note that the result of the choice is k-nearest neighbours averaging.
Exkurs: kNN Regression
Seite 1304/20/23|
Like the parameter k for nearest neighbours, the parameter λ determines the tradeoff between bias and variance in the prediction error and need to be chosen carefully (the sample data is given by the black points) :
λ small λ medium
λ large
Exkurs: kNN Regression
Seite 1404/20/23|
The result of a weighted regression is a smooth function. However, the bias of such a weighted regression function at the boundaries of the domain X is rather (if f is non-constant at the boundaries). An idea to remove this bias is to combine linear regression with a kernel weighting scheme:
For each point xєX, solve the weighted linear regression
N
jxxjj xyxxK
xx1
2),( )]()[,(argmin
with Kλ one of the mentioned kernel functions. For every x, this yields a local regression function fx(t)=αx+βxt. The function fx is then
evaluated only at the point t=x in order to obtain the (global) regression function
)()(ˆ xfxf x
Exkurs: kNN Regression
Seite 1504/20/23|
Taken from: Tibshirani et al. „Elements of Statistical Learning“
Exkurs: kNN Regression