/ Babeş Bolyai Tudományegyetem, Kolozsvár Matematika és Informatika Kar Magyar Matematika és Informatika Intézet
/ Tartalom
3/ kernelek segítségével Felügyelt és félig-felügyelt tanulás felügyelt: D = {(x i, y i ) x i X R d, y i {, +}, i =,..., l}; keressük f : X {, +}-et, amely egyezik D-vel félig-felügyelt: D = {(x i, y i ) i =,..., l} {x j j = l +,..., l + u =: N}, l u; induktív: keressük f : X {, +}-et, amely egyezik D-vel + D U felhasználása transzduktív: keressük f : DU {, +}-et felhasználva a D = D L D U adatokat 4 4 0 0 4 4 6 0 5 0 6 0 5 0
Kernel a gépi tanulásban James Mercer (909): minden folytonos szimmetrikus pozitív definit kernel függvény feĺırható skalárszorzatként egy (nagydimenziós) térben kernel: k(x, z) = φ(x), φ(z) = φ(x) φ(z), feature leképezés: φ : X H alkalmazható minden geometriai konstrukció esetén, ha az szögeket, FEJEZEThosszokat 6. KERNELés MÓDSZEREK távolságokat használ 3 0.8 0.8 0.4 0.4 0. 0. 0 0 0 0 0. 0.4 0.6 (a) (a) 0.6 0.6 X X 0.8 0.8 0.6 0.6 0.4 0.4 0. 0. 0.4 0. 0.6 0.8 0 X 0.8 0 X X X 6.. ábra. Az XOR feladat bal oldali ábra és a nemlineáris vetítés, mely szeparálhatóvá teszi az adatokat jobbra. ábra. Az XOR feladat: (a) input térben, (b) másodfokú polinomiális kernel által generált térben. tól a legtávolabb van. Ez összekapcsolható a.4. fejezetben említett regularizáció módszerével, ugyanis ez a hipersík a legstabilabb a lehetséges hipersíkok közül. A X X (b) (b) 4/
5/ Gyakran használt kernelek: lineáris: polynomiális: k(x, z) = x z k(x, z) = (ax z + b) c Gauss-féle, RBF: ) x z k(x, z) = exp ( σ szigmoid: k(x, z) = tanh(ax z + r)
6/ Félig-felügyelt kernelek Adatfüggő (data-dependent) kernelek hagyományos kernelek: D D adathalmazok esetén, x, z D D k(x, z) = k(x, z) adatfüggő kernelek: D D adathalmazok esetén, x, z D D k(x, z; D ) k(x, z; D ) ahol -et nem feltétlenül egyenlő -ként olvassuk felügyelt tanulás + adatfüggő kernelek = félig-felügyelt tanulás
B Klaszter-kernelek klaszter feltevés (cluster assumption): ha két Σ pont ugyanabban a klaszterben van, nagy valószínűséggel ugyanabba az osztályba is tartoznak A B (= ua. a címkéjük) hierarchikus klaszter-kernel: használjuk a hierarchikus klaszterezésből származó távolságokat (single, complete, average linkage) hasznos tulajdonság: ultrametrikus C3 távolságmátrixot C C eredményez az adatokon 5 3 3 A B C D E Tétel [Fischer, 003] A B C D E Adott ultrametrikus M esetén a Mc = JMJ mátrix egy Gram-mátrix lesz, amely a z i, i =,,..., N vektorok skalárszorzatait tartalmazza, melyek euklideszi távolságai az M-ben vannak (J = I (/N) ). az algoritmus: (i) pontok hierarchikus klaszterezése, (ii) M ij = linkage távolság az eredő ultrametikus fában a legközelebbi közös felmenőnél, M ii = 0. 7/
8/ átsúlyozó klaszter-kernelek: kernel kombinációk: K + K, a K, K K átsúlyozó klaszter-kernel: K = K rw K b, ahol K b = alap kernel (pl. Gauss, polinomiális stb.) K rw = átsúlyozó kernel Gauss-féle átsúlyozó kernel: k rw(x, z) = exp ( ) σ U x U z skalárszorzat alapú átsúlyozó kernelek: K rw = U U + α, α [0, ) K rw = β U U +, β (0, ) ahol U a K N méretű klaszter hovatartozási mátrix (oszlopokban) probléma: általánosítás közeĺıtő
9/ Legközelebbi szomszédok gyors keresése Legközelebbi szomszédok keresése pozitív definit kernelekkel egyenlőtlenségek: d (x, z) k(x, x) + k(z, z) k(x, x)k(z, z) d (x, z) k(z, z) k(x, x) tároljuk a maximális dmax távolságot, és mindig megnézzük, hogy pl. k(z, z) k(x, x) d max a számítások akár 50%-át megtakaríthatjuk y 6 3 9 5 0000 000......, 3, 6,... 4, 7, 8,......... 8 0000, 5, 9,... 4 x z 7. ábra. Locality-sensitive hashing
Hashing Locality-sensitive hashing véletlen hipersíkokkal Hamming-távolság hatékonyan kiszámítható: n d H (u, v) = (u XOR v) i= a k darab hash függvényünk legyen {, r h i (u) = i u 0 0, r i u < 0, i =,,..., k, r Rd véletlen vektor egy x ponthoz rendelt bináris hash szekvencia ekkor: θ(u, v) P(h r (u) = h r (v)) = π [h (x), h (x),..., h k (x)] v r u Helyérzékeny hasítás/hashelés 0/
/ Hash kulcsok kiterjesztése címkézett adatok segítségével feltételezzük, hogy vannak címkézett pontjaink (minden osztályból) valamilyen hashing módszerrel előálĺıtott bináris kulcsok + hibajavító kódok segítségével tanított félig-felügyelt (ECOC) ECOC: kódmátrix: M = M (osztályok száma c) minden oszlopára betanítunk egy félig-felügyelt modellt kimenet: fi (x) = a FF módszer kimenete, i =,..., c kiterjesztett kulcsok: [h (x),..., h k (x), f (x),..., f c (x)] }{{} kiterjesztés
/ Köszönöm a figyelmet!