U zenie maszynowe - wnioskowanie oparte na
K najblizszych sasiadow
Gªówny pomysª: Wszystkie przykªady ze zbioru treningowego
U
trn
s¡ bezpo±rednio zapamitane w bazie przykªadówK najblizszych sasiadow
Gªówny pomysª: Wszystkie przykªady ze zbioru treningowego
U
trn
s¡ bezpo±rednio zapamitane w bazie przykªadówAlgorytm u z¡ y indukuje z bazy przykªadów miar odlegªo± i
ρ
: X
K najblizszych sasiadow
Gªówny pomysª: Wszystkie przykªady ze zbioru treningowego
U
trn
s¡ bezpo±rednio zapamitane w bazie przykªadówq
Algorytm u z¡ y indukuje z bazy przykªadów miar odlegªo± i
ρ
: X
2
→ R
K najblizszych sasiadow
Gªówny pomysª: Wszystkie przykªady ze zbioru treningowego
U
trn
s¡ bezpo±rednio zapamitane w bazie przykªadówq
Algorytm u z¡ y indukuje z bazy przykªadów miar odlegªo± i
ρ
: X
2
→ R
Algorytm klasyka yjny dla ka»dego obiektu testowego
q
:K najblizszych sasiadow
Gªówny pomysª: Wszystkie przykªady ze zbioru treningowego
U
trn
s¡ bezpo±rednio zapamitane w bazie przykªadówq
Algorytm u z¡ y indukuje z bazy przykªadów miar odlegªo± i
ρ
: X
2
→ R
Algorytm klasyka yjny dla ka»dego obiektu testowego
q
:wybiera
k
najbli»szy h s¡sia dów ze zbioru treningowegoU
trn
zwra a de yzj dlaq
na podstawie de yzji najbli»szy h s¡sia d ówK najblizszych sasiadow:
k
= 1
Fakt: W przypadku
k
= 1
podziaª przestrzeni dany hprzez zbiór przykªadów treningowy h tworzy diagram Voronoi
Obiekt testowy
x
q
jest klasykowany z de yzj¡ tego obiektu treningowego, w którego obszar wpadax
q
:K najblizszych sasiadow:
k >
1
S(x
q
, k)
zbiórk
najbli»szy h s¡sia d ów obiektux
q
Metody gªosowania:
♦
jednorodnah(x
q
) = arg max
d∈V
d
|{x ∈ S(x
q
, k) : dec(x) = d}|
♦
wa»ona odlegªo± i¡h(x
q
) = arg max
d
∈V
d
X
x∈S(x
q
,k)
dec(x)=d
1
ρ(x
q
, x)
2
Miara odleglosci
Miara odlegªo± i to pseudometryka
ρ
: X
2
→ R
deniuj¡ a odlegªo±¢ midzy obiektami w przestrzeni dany h
X
indukowana ze zbioru treningowegoU
trn
:
ρ(x, y) ≥ 0
ρ(x, x) = 0
ρ(x, y) = ρ(y, x)
Miara odleglosci: rodzaje metryk
A
zbiór atrybutówρ
a
miara odlegªo± i dla pojedyn zego atrybutua
∈ A
Rodzaje metryk ze wzgldu na ª¡ zenie atrybutów:Miejska Manhattan:
ρ(x, y) =
X
a
∈A
ρ
a
(a(x), a(y))
Euklidesowa:
ρ(x, y) =
X
a∈A
(ρ
a
(a(x), a(y)))
2
1
2
Maksimum:ρ(x, y) = max
Miara odleglosci: City-Hamming
Dla atrybutu symboli znego delta Krone kera:
ρ
a
=
0
je±lia(x) = a(y)
1
wpp.Dla atrybutu numery znego ró»ni a warto± i:
ρ
a
(a(x), a(y)) = |a(x) − a(y)|
Lepiej stosowa¢ normalizowan¡ ró»ni :
ρ
a
(a(x), a(y)) =
|a(x) − a(y)|
a
max
− a
min
lubρ
a
(a(x), a(y)) =
|a(x) − a(y)|
2σ(a)
a
max
maksymalna warto±¢ atrybutua
w zbiorze obiektów treningowy ha
min
minimalna warto±¢ atrybutua
w zbiorze obiektów treningowy hMiara odleglosci: City-SVD (Domingos 1996)
Dla atrybutu numery znego normalizowana ró»ni a warto± i jak w City-Hamming
Dla atrybutu symboli znego prosta ró»ni a warto± i (ang. SVD):
ρ
a
(a(x), a(y)) =
X
d∈V
d
|P (dec = d|a = a(x)) − P (dec = d|a = a(y))|
(1,0,0)
(0,1,0)
(0,0,1)
P(dec=1|a=v)
P(dec=2|a=v)
P(dec=3|a=v)
a(x)
a(y)
Miara odleglosci: SVD
Uogólnienie prostej ró»ni y warto± i (SVD) dla atrybutu numery znego
ρ
a
(a(x), a(y)) =
X
d∈V
d
|P (dec = d|a ∈ vic(a(x))) − P (dec = d|a ∈ vic(a(y)))|
vic(a(y))
a
vic(a(x))
(1,0,0)
(0,1,0)
P(dec=1|a=v)
P(dec=2|a=v)
P(dec=3|a=v)
a(x)
a(y)
(0,0,1)
Miara odleglosci: IVD (Wilson, Martinez 1997)
Interpolowana ró»ni a warto± i (ang. IVD) dla atrybutu numery znego: zakres warto± i numery zny h jest dzielony na równe przedziaªy
dla ka»dego przedzia ªu wyli zan y jest rozkªad de yzji
dla ka»dej warto± i rozkªad de yzji jest interpolowany
pomidzy ±rodkami dwó h nabli»szy h przedziaªów
Attribute value
Decision distribution
Miara odleglosci: IVD (Wilson, Martinez 1997)
Interpolowana ró»ni a warto± i (ang. IVD) dla atrybutu numery znego: zakres warto± i numery zny h jest dzielony na równe przedziaªy
dla ka»dego przedzia ªu wyli zan y jest rozkªad de yzji
dla ka»dej warto± i rozkªad de yzji jest interpolowany
pomidzy ±rodkami dwó h nabli»szy h przedziaªów
(1,0,0)
(0,1,0)
(0,0,1)
P(dec=1|a=v)
P(dec=2|a=v)
P(dec=3|a=v)
a(x)
a(y)
Miara odleglosci: IVD (Wilson, Martinez 1997)
Miara odleglosci: metryka wazona
Metryka wa»ona jest wa»on¡ sum¡ odlegªo± i dla posz zególny h atybutów
ρ(x, y) =
X
a
∈A
w
a
ρ
a
(a(x), a(y))
A
zbiór atrybutówρ
a
miara odlegªo± i dla pojedyn zego atrybutua
∈ A
Miara odleglosci: metryka wazona
Algorytm wa»enia atrybutów na podstawie zbioru treningowego
U
trn
1.
w
a
:= 1
dla wszystki h atrybutówa
∈ A
2.t
:= 0
3. Powtarzaj, dopóki
temp(t) > 0
a.t
:= t + 1
b.
x
:=
losowo wybrany obiekt treningowy zU
trn
.y
:=
najbli»szy s¡sia dx
wU
trn
d. Dla ka»dego atrybutu
a
∈ A
δw
a
:= w
a
temp(t)
ρ
a
(a(x), a(y))
w
a
=
w
a
+ δw
a
je±lidec(y) = dec(x)
w
a
− δw
a
wpp.Miara odleglosci: porownanie metryk
Atrybuty numery zne: letter, pendigits, satimage, segment
Atrybuty symboli zne: hess, nursery, spli e
Atrybuty numery zne + symboli zne: ensus94
0,00%
2,00%
4,00%
6,00%
8,00%
10,00%
12,00%
14,00%
16,00%
census94
chess
letter
nursery
pendigits
satimage
segment
splice
E
rr
o
r
City-Hamming
City-SVD
SVD
IVD-SVD
K najblizszych sasiadow: wybor najlepszgo k
Maj¡ ju» metryk mo»na klasykowa¢ ka»dy obiekt ze zbioru u z¡ ego
u»ywaj¡ tego samego zbioru, z wyª¡ zeniem klasykowanego obiektu
(tzw. test leave-one-out).
Pomysª:
Klasykowanie zbioru u z¡ ego dla ró»ny h warto± i
k
i wybór tej, która daje najlepsz¡ skute zno±¢K najblizszych sasiadow: wybor najlepszgo k
Maj¡ ju» metryk mo»na klasykowa¢ ka»dy obiekt ze zbioru u z¡ ego
u»ywaj¡ tego samego zbioru, z wyª¡ zeniem klasykowanego obiektu
(tzw. test leave-one-out).
Pomysª:
Klasykowanie zbioru u z¡ ego dla ró»ny h warto± i
k
i wybór tej, która daje najlepsz¡ skute zno±¢⇒
Jak to zrobi¢, »eby zajªo tyle samo zasuK najblizszych sasiadow: wybor najlepszgo k
fun tion Find-Optimal-K(examples,maxk ) returns best
k
inputs : examples , a set of training examplesmaxk , determines the range [1;maxk ℄ that is sear hed for the best k
for ea h x
∈
examples doA
x
←
Get-Result-Ve tor(x,examples− { x}
,maxk ) returnarg max
1≤ k≤ maxk
|{ x ∈ examples : A
x
[k] = dec(x)}|
fun tion Get-Result-Ve tor(x,examples,maxk ) returns results indexed by
k
n
1
, . . . , n
maxk
←
sequen e ofmaxk
nearest neighbors sortedin the in reasing order of the distan e to
x
for ea h d∈
Vd
dovotes[d] ←
0urrent
←
most frequent de ision in examples for k from 1 to maxkvotes[dec(n
k
)] ← votes[dec(n
k
)] + 1
if
votes[dec(n
k
)] > votes[current]
then urrent← dec(n
k
)
A
x
[k] ←
urrent returnA
x
K najblizszych sasiadow: wlasnosci
K najblizszych sasiadow: wlasnosci
Zalety??
K najblizszych sasiadow: wlasnosci
Zalety??
U zenie jest szybkie
K najblizszych sasiadow: wlasnosci
Zalety??
U zenie jest szybkie
U zy si dowolny h funk ji
K najblizszych sasiadow: wlasnosci
Zalety??
U zenie jest szybkie
U zy si dowolny h funk ji
Nie tra i informa ji
K najblizszych sasiadow: rosnacy zbior danych
??
K najblizszych sasiadow: rosnacy zbior danych
Nowy przykªad treningowy dodawany jest do aktualnej bazy przykªadów
K najblizszych sasiadow: wlasnosci
Zalety??
U zenie jest szybkie
U zy si dowolny h funk ji
Nie tra i informa ji
Naturaln ie stosuje si do dynami zny h (rosn¡ y h) zbiorów dany h
K najblizszych sasiadow: wlasnosci
Zalety??
U zenie jest szybkie
U zy si dowolny h funk ji
Nie tra i informa ji
Naturaln ie stosuje si do dynami zny h (rosn¡ y h) zbiorów dany h
Wady??
Niepra kty zny przy du»ej li zbie atrybutów
K najblizszych sasiadow: wlasnosci
Zalety??
U zenie jest szybkie
U zy si dowolny h funk ji
Nie tra i informa ji
Naturaln ie stosuje si do dynami zny h (rosn¡ y h) zbiorów dany h
Wady??
Niepra kty zny przy du»ej li zbie atrybutów
⇒
wymaga reduk ji li zby atrybutów Wolny pod zas klasyka jiWyszukiwanie k najblizszych sasiadow
Bez indeksowania:
Liniowe przegl¡dan ie zbioru przykªadów dla ka»dego zapytania
Zªo»ono±¢
O(mn)
m
li zba zapyta«n
rozmiar zbioru przykªadówIndeksowanie
Drzewo indeksuj¡ e jest konstruowane metod¡ top-down:
za zyna od korzenia zawieraj¡ ego aªy zbiór przykªadów
treningowy h i rekuren yjnie dzieli klastry na oraz mniejsze
database U
node splitting
node splitting
node splitting
Podzial klastra metoda k-srodkow
Do podziaªu klastrów dobra jest metoda
k
-±rodków (ang.k
-means)database U
k−means
k−means
Podzial klastra metoda k-srodkow
Algorytm wyboru
k
-±rodków:fun tion KMeans(examples,k ) returns a set of lusters
for ea h
0 ≤
i< k
do enteri
←
a random example from examples repeatfor ea h
0 ≤
i< k
do lusteri
← { }
for ea h example x∈
examples donearest
← min arg
0≤ i<k
Distan e( enteri
,x ) lusternearest
←
lusternearest
∪ {
x}
for ea h
0 ≤
i< k
do enteri
←
the mean of lusteri
until no enter has hanged ( omparing with the last but one iteration)
Podzial klastra metoda k-srodkow: wlasnosci
Podzial klastra metoda k-srodkow: wlasnosci
Uniwersaln o±¢??
Indeksowanie z podziaªem klastrów metod¡
k
-±rodków u»ywa tylko poj¢ metrykiPodzial klastra metoda k-srodkow: wlasnosci
Uniwersaln o±¢??
Indeksowanie z podziaªem klastrów metod¡
k
-±rodków u»ywa tylko poj¢ metryki±rodka zbioru obiektów
⇒
wyszukiwanie jest poprawne przy dowolnej deni ji ±rodka klastra,wybór ±rodka ma istotne zna zenie dla efektywno± i wyszukiwania,
Podzial klastra metoda k-srodkow: wlasnosci
Uniwersaln o±¢??
Indeksowanie z podziaªem klastrów metod¡
k
-±rodków u»ywa tylko poj¢ metryki±rodka zbioru obiektów
⇒
wyszukiwanie jest poprawne przy dowolnej deni ji ±rodka klastra,wybór ±rodka ma istotne zna zenie dla efektywno± i wyszukiwania,
ale nie ma wpªywu na poprawno±¢
⇒
mo»na stosowa¢ nie tylko do przestrzeniR
Podzial klastra metoda k-srodkow: wlasnosci
Podzial klastra metoda k-srodkow: wlasnosci
Optymalno±¢??
Twierdzenie (Savaresi, Boley, 2001)
Dla elipty znego modelu zbioru dany h metoda
2
-±rodków zbiega do podziaªu ortogonalnego wzgldem kierunku gªównego (tzn. takiego, wzdªu» któregowarian ja dany h jest najwiksza)
Wyszukiwanie najblizszych sasiadow
Wyszukiwanie najblizszych sasiadow: algorytm
nearest - kolejka priorytetowa doty h zas znaleziony h najbli»szy h s¡sia dów
fun tion KNN-Sear h(node,query,nearest) returns an updated nearest
if node is a leaf
then for ea h x
∈
nodeif nearest is not full then nearest
←
nearest∪ {
x}
elsey
← max arg
z
∈ nearest
Distan e(query,z)if Distan e(query,x )
<
Distan e(query,y ) then nearest←
repla e y with xelseif node has hild nodes
then for ea h hild
∈
hild nodes of node radius← max
z
∈ nearest
Distan e(query,z)if nearest is not full or
¬
Dis ard( hild,query,radius ) then nearest←
KNN-Sear h( hild,query,nearest) return nearestKryteria odciecia wezla
♦
Ci ie kuliste♦
Ci ie symetralneKryteria odciecia wezla: ciecie kuliste
query
zapytanie (testowany obiekt)radius
promie« zapytaniacenter
±rodek wzªa (klastra)R
promie« pokrywaj¡ y wzeª:R
= max
x
∈node
dist(center, x)
radius
query
center
dist(query,center)
node
R
Kryteria odciecia wezla: ciecie symetralne
query
zapytanie (testowany obiekt)rad
promie« zapytanianode1
,node2
wzªy bd¡ e dzie¢mi tego samego rodzi a w drzewie indeks.c1
,c2
±rodki wzªównode1
node2
query
c1
c2
dist(query,c1)
dist(query,c2)
rad
Kryteria odciecia wezla: ciecie pierscieniowe
query
zapytanie (testowany obiekt)rad
promie« zapytanianode1
,node2
wzªy bd¡ e dzie¢mi tego samego rodzi a w drzewie indeks.c2
±rodek wzªanode2
minr
= min
x∈node1
dist(c2, x)
,maxr
= max
x∈node1
dist(c2, x)
query
c2
dist(query,c2)
minr
node1
node2
maxr
rad
node1
jest pomijanyWyszukiwanie najblizszych sasiadow
Przyspiszenie wyszukiwania dla ró»ny h wielko± i bazy przykªadów:
0,01%
0,10%
1,00%
10,00%
100,00%
1000
10000
Database size
100000
1000000
D
is
ta
n
c
e
s
1-nn search
100-nn search
Metody k-nn z lokalna adaptacja metryki
Atrybuty numery zne:
♦
lokalna adapta ja wag atrybutów♦
gªosowanie przy u»y iu ma ierzy kowarian ji Atrybuty symboli zne:Lokalna adaptacja wag atrybutow
Hastie, Tibshiran i, 1996
Atrybuty s¡ lokalnie wa»one na podstawie analizy najbli»szego s¡siedztwa
obiektu testowanego:
Lokalna adaptacja wag atrybutow
Hastie, Tibshiran i, 1996
Atrybuty s¡ lokalnie wa»one na podstawie analizy najbli»szego s¡siedztwa
obiektu testowanego:
Glosowanie przy uzyciu macierzy kowariancji
Problem:
Niektóre obiekty mog¡ dublowa¢ informa je w inny h obiekta h,
w zwi¡zku z tym nie powinny by¢ brane pod uwag przy gªosowaniu
Glosowanie przy uzyciu macierzy kowariancji
Rozwi¡zanie: Gªosowanie przy u»y iu ma ierzy kowarian ji
Dla ka»dej klasy de yzyjnej
d
w zbiorze treningowymU
trn
tworzona jest ma- ierz kowarian ji midzy parami obiektów tej klasyx
i
, x
j
∈ U
trn
:C
d
= [C
i,j
]
C
i,j
= γ(ρ(x
i
, x
j
))
γ
funk ja monotoni zna Klasyka ja obiektu testowegox
q
1. Dla ka»dej klasy de yzyjnej
d
tworzony jest wektor kowarian ji z obiektami nale»¡ ymi do tej klasy de yzyjnej:c
d
(x
q
) = [c
j
]
c
j
= γ(ρ(x
q
, x
j
))
2. Gªosowanie odbywa si na podstawie ma ierzy i wektora kowarian ji:
α
d
= (α
d,1
, . . . , α
d,n
) = C
d
−1
◦ c
d
(x
q
)
De yzja dla
x
q
= max arg
d
∈V
d
n
X
Indukcja lokalnej metryki z sasiedztwa obiektu
object
Local metric
Test
Global metric
Global metric
Training set
?
?
Local metric
induction
classification
K−nn
induction
?
Nearest neighbors
selection
Indukcja lokalnej metryki z sasiedztwa obiektu
Porównanie skute zno± i klasyka ji:
atrybuty: symboli zne
metryki globalna i lokalna: SVD