Az előzőekből nyilvánvaló, hogy kernel függvényként csak olyan függvény használható, amely belső szorzat segítségével is származtatható. A származtatás módjából következik, hogy a kernel függvények bizonyos tulajdonságokkal kell rendelkezzenek.
Egy kernel függvénynek mindig két argumentuma van és ezekre nézve a függvény szimmetrikus kell legyen:
. (6.17)
A kernel függvények – minthogy az adatok közötti hasonlóságot mérik – általában kielégítik a következő követelményeket is:
(6.18)
A fentiek közül az első a nemnegativitást, a második a radiálisan szimmetrikus tulajdonságot jelenti. A harmadik feltételnek eleget tevő függvény maximumértéket vesz fel, ha mindkét argumentuma azonos, míg az utolsó azt fogalmazza meg, hogy a függvény a két argumentum távolságának monoton csökkenő függvénye.
A kernel függvényekkel támasztott követelmények precízebben is megfogalmazhatók:
lehet bármely olyan szimmetrikus függvény, amely kielégíti a Mercer tétel feltételeit [Vap98]:
, (6.19)
ugyanis a Mercer tételt kielégítő függvények előállíthatók valamilyen jellemzőtérbeli
függvények skalár szorzataként:
(6.20)
ahol
. Néhány gyakran alkalmazott kernel függvényt az alábbi táblázatban foglalunk össze.
6.1. táblázat - A legelterjedtebben használt magfüggvények (kernel függvények).
Lineáris
|
|
Polynomiális
(d fokszámú)
|
|
Gauss (RBF)
|
, ahol
konstans.
|
Tangens hiperbolikusz (MLP)
|
,
és
megfelelően választott konstansok, mert nem minden kombináció eredményez magfüggvényt.
|
A táblázat azt is jelzi, hogy egyes kernel függvények alkalmazásával olyan kernel térbeli hálóstruktúrát kapunk, amely bizonyos klasszikus neuronháló struktúrákhoz hasonló. Így pl. a Gauss kernel függvények az RBF hálóval rokon struktúrát, a tangens hiperbolikusz kernel függvény pedig olyan MLP hálózattal rokon struktúrát eredményez, melynek a kimeneti rétege lineáris.
A fenti, gyakran alkalmazott függvények mellett számos további függvényt használnak kernel függvényként. Megválasztásuk az egyes kernel gépeknél alapvetően fontos és sokszor igen nehéz kérdés. A választás nehézsége akkor jelentkezik, ha adott feladathoz „optimális” kernelt szeretnénk választani. Általában a gyakorlati feladatok megoldásánál nem is törekszünk „optimális” kernel megválasztására, hanem az előbb felsoroltak, vagy egyéb, szintén bevált függvények (pl. B-spline)közül választunk.
A kernel függvények megválasztásának illetve konstrukciójának részleteivel itt nem foglalkozunk, csak az igen széleskörű irodalomra utalunk ld. pl. [Sch02], stb. Annyit azonban megjegyzünk, hogy megfelelő kernelek konstrukciójánál fontos szerepet játszhat, hogy különböző műveletekkel érvényes kernelekből további kernelek képezhetők. Ha pl. mind K1, mind K2 érvényes kernel, továbbá, ha a tetszőleges pozitív konstans, akkor a következő műveletekkel további érvényes kernelek konstruálhatók:
(6.21)
Fentiekből az is következik, hogy kernelek lineáris kombinációja szintén kernel, ha a lineáris kombináció együtthatói nemnegatív számok.
A kernel függvények előre történő megválasztása mellett az utóbbi időben számos olyan eredmény született, mely adatfüggő vagy adaptív kernelekkel oldja meg a feladatokat. Erre vonatkozó eredményeket mutat be többek között pl. [Cri99], [Ama99], [Vin00], [Xio05] és [Mer06].
A későbbiekben látni fogjuk, hogy a kernel gépek konstrukciójánál fontos szerepet tölt be a kernel függvény (xi, xj) i, j=1, …, P tanító minta-páron értelmezett értékeiből képezett Kij=K(xi,xj) kernel mátrix, amely tartalmazza a P tanítópont összes lehetséges mintapárjánál a kernel függvény értékét.
(6.22)
A kernel mátrix fontos jellemzője, hogy egy
-es szimmetrikus mátrix. Az ilyen mátrixot szokás Gram mátrixnak is nevezni.