Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

15
Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen

Transcript of Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

Page 1: Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

KerndichteschätzungNearest-Neighbour-Verfahren

Maschinelles Lernen

 

Page 2: Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

Seite 204/11/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 ˆ

Page 3: Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

Seite 304/11/23|

Kerndichteschätzung

Wahre Dichte

Page 4: Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

Seite 404/11/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)

Page 5: Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

Seite 504/11/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

Page 6: Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

Seite 604/11/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

Page 7: Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

Seite 704/11/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

Page 8: Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

Seite 804/11/23| Aus: Duda, Hart, Stork. Pattern Recognition

Dichteschätzungen für N=5 Datenpunkte und verschiedene Intervallbreiten. Dichte = Standardnormalverteilung

Kerndichteschätzung

Page 9: Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

Seite 904/11/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:

Page 10: Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

Seite 1004/11/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

Page 11: Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

Seite 1104/11/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

Page 12: Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

Seite 1204/11/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

Page 13: Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

Seite 1304/11/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

Page 14: Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

Seite 1404/11/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

Page 15: Kerndichteschätzung Nearest-Neighbour-Verfahren Maschinelles Lernen.

Seite 1504/11/23|

Taken from: Tibshirani et al. „Elements of Statistical Learning“

Exkurs: kNN Regression