Feltételezzük, hogy rendelkezünk információval az adatok osztályairól, vagyis a teljesen felügyelt osztályozás keretein belül dolgozunk. Az adatkészletünkben adottak az adatpontok x1,,xmRnx_1, \ldots, x_m \in \mathbb{R}^n, melyek egy m×nm \times n méretű adatmátrixot alkotnak, valamint az ezekhez tartozó osztálycímkék y1,,ymy_1, \ldots, y_m, melyek egész számok az 1 és cc közötti tartományból, és jelzik, hogy az adott adatpont melyik osztályhoz tartozik. Az ii-edik osztály adatpontjainak indexeit Ci={jyj=i}C_i = \{ j \mid y_j = i \}-vel jelöljük, és az osztály adatpontjainak számát mi=#Cim_i = \# C_i-vel. Az egyes osztályokhoz tartozó részmátrixokat XiX_i-vel jelöljük, ahol XiX_i egy mi×nm_i \times n méretű mátrix, amely az ii-edik osztály adatait tartalmazza.

A diszkriminancia elemzéshez először bevezetjük az osztályalapú kovariancia mátrixokat. Az ii-edik osztály átlaga

ci=1mijCixj,c_i = \frac{1}{m_i} \sum_{j \in C_i} x_j,

mely alapján az osztály kovariancia mátrixa a következő:

SXi=jCi(xjci)(xjci)T.S_{X_i} = \sum_{j \in C_i} (x_j - c_i)(x_j - c_i)^T.

Az osztályon belüli kovariancia mátrix, SwS_w, az összes osztály kovariancia mátrixának összege:

Sw=i=1cSXi.S_w = \sum_{i=1}^c S_{X_i}.

Az osztályok közötti kovariancia mátrixot SbS_b-vel jelöljük, amelynek definíciója:

Sb=SXSw,S_b = S_X - S_w,

ahol SXS_X az adatok teljes kovariancia mátrixa:

SX=i=1m(xix)(xix)T,x=1mi=1mxi.S_X = \sum_{i=1}^m (x_i - x)(x_i - x)^T, \quad x = \frac{1}{m} \sum_{i=1}^m x_i.

Fontos, hogy az osztályok közötti kovariancia SbS_b egy súlyozott kovariancia mátrixa az osztályátlagoknak:

Sb=i=1cmi(cix)(cix)T,S_b = \sum_{i=1}^c m_i (c_i - x)(c_i - x)^T,

ahol xx az összes adat átlaga. Ez az összefüggés megmutatja, hogy SbS_b az osztályok elválasztásáért felelős komponenseket reprezentálja.

A cél egy olyan egységvektor uRnu \in \mathbb{R}^n megtalálása, amely maximalizálja az osztályok közötti szórás (variancia) és minimalizálja az osztályokon belüli szórást. Ez a kettősség az osztályelválasztás alapja: az osztályokat egymástól távol tartjuk, miközben az egyes osztályokon belül a pontokat közelebb hozzuk egymáshoz. Ezért optimalizáljuk az alábbi hányadost, az úgynevezett osztályelválasztási mutatót:

J(u)=uTSbuuTSwu.J(u) = \frac{u^T S_b u}{u^T S_w u}.

Ha feltesszük, hogy SwS_w pozitív definit, akkor ez egy általánosított Rayleigh hányados, amelynek maximális értékét és a hozzá tartozó vektort az általánosított sajátérték-probléma

Sbu=λSwuS_b u = \lambda S_w u

megoldásai adják. A legnagyobb sajátértékhez tartozó sajátvektor az optimális irány, amely mentén az osztályok a legjobban elkülöníthetők.

Gyakran előfordulhat, hogy SwS_w szinguláris vagy közel szinguláris, azaz nem invertálható vagy rossz kondíciószámú. Ez problémát okozhat a probléma numerikus megoldásában, mivel a hányados értelmezése ilyenkor nehéz. Ezt a problémát többféleképpen kezelhetjük: egyik lehetőség, hogy a SwS_w mátrixot regulárizáljuk úgy, hogy hozzáadunk egy kis identitásmátrixot, vagyis Sw,λ=Sw+λIS_{w,\lambda} = S_w + \lambda I, ahol λ>0\lambda > 0 egy kis paraméter. Ez a kovariancia-összehúzás (covariance shrinkage) egyszerűen megvalósítható, és kis értékek általában elegendőek a pozitív definitás biztosításához.

Alternatív megoldásként előfeldolgozhatjuk az adatokat főkomponens-analízissel (PCA), amely csökkenti az adatok dimenzióját úgy, hogy a SwS_w mátrix pozitív definit legyen a csökkentett térben. Az optimális diszkrimináló irányokat sorban keressük, az első irány után az ezt követőket az előző irányokra merőleges térben maximalizálva az osztályelválasztást. Az osztályok száma cc miatt legfeljebb c1c-1 diszkrimináló irány létezik, mivel az osztályok közötti kovariancia SbS_b legfeljebb c1c-1 rangú.

Az LDA alapvetően egy vetítési eljárás, amely az adatokat a kiválasztott diszkrimináló irányokra vetíti, így erősítve az osztályok közötti különbségeket és csökkentve az osztályokon belüli varianciát. Ez a vetítés általában megelőzi a különböző felügyelt osztályozó algoritmusokat, de önmagában is használható az osztályok megkülönböztetésére.

Fontos megérteni, hogy az LDA nem csupán egy dimenziócsökkentő módszer, hanem kifejezetten a felügyelt osztályozásra optimalizált eszköz, amely a statisztikai szórások megértésén alapul. Az osztályok belső varianciája és az osztályok közötti különbségek kiegyensúlyozása a kulcs, és ehhez a matematikai keret biztosítja az optimális megoldást.

Miért fontos a momentum a nehéz labda módszerében és hogyan befolyásolja a konvergenciát?

A nehéz labda módszerének alapja az, hogy az iterációk során figyelembe veszi a korábbi irányokat, amely lehetővé teszi a gyorsabb előrehaladást az optimális megoldás felé, különösen akkor, ha a hagyományos gradiens módszer nem elegendő. A Polyak által 1964-ben javasolt módszer úgy működik, hogy a korábbi lépés és a gradiens együttes figyelembevételével módosítja a következő iteráció irányát. A módszer formulája:

xk+1=xkαF(xk)+β(xkxk1)x_{k+1} = x_k - \alpha \nabla F(x_k) + \beta (x_k - x_{k-1})

Ahol α\alpha a rögzített lépésköz, β>0\beta > 0 pedig egy momentum paraméter. Az iteráció során figyelembe vesszük a korábbi lépés irányát, xkxk1x_k - x_{k-1}, és ezt kombináljuk a gradiens negatív irányával, F(xk)-\nabla F(x_k). A módszer lényege, hogy az előző irányt használva csökkenti a "bouncing" hatást, amely a nagy lépésközökkel végzett gradiens módszer alkalmazásakor tapasztalható. Az így elért javulás nem csupán a gyorsabb előrehaladást jelenti, hanem a konvergencia ütemének növelését is.

Ha a hagyományos gradiens módszert nézzük, a nagy lépésközökkel végzett iterációk gyakran "visszapattannak", ami a minimális pont felé történő előrehaladást megakadályozza. A nehéz labda módszer viszont sikeresen csökkenti ezt a hatást, és még akkor is gyorsabban halad a minimum felé, ha az előző iterációk nem tapasztalnak visszapattanást. A paraméterek, mint α\alpha és β\beta, döntő szerepet játszanak a módszer hatékonyságában, és a megfelelő beállításokkal a nehéz labda módszer lényegesen gyorsabban közelíthet a megoldáshoz, mint a hagyományos gradiens módszer.

A nehéz labda módszer egyik fontos jellemzője, hogy szükség van két kezdeti feltételre: x0x_0 és x1x_1. Általában a x1x_1-et egyenlővé teszik x0x_0-val, vagy x1x_1-et az egyszerű gradiens módszer első lépésével választják meg. A választott paraméterek és kezdeti feltételek nagyban befolyásolják a módszer konvergenciáját, és ha nem megfelelőek, az iterációk instabilitásához vezethetnek. Ennek elkerülése érdekében az β\beta paraméter értékét szigorúan a [0, 1] intervallumban kell tartani, mivel ennek túllépése instabilitást eredményezhet, amely a konvergencia megakadályozásához vezethet.

A nehéz labda módszer akkor működik a legjobban, ha β\beta értéke közel áll 1-hez, mivel ilyenkor tapasztalható az optimális gyorsulás a konvergenciában. A túl kicsi β\beta nem hoz érdemi javulást, míg ha β\beta nagyobb vagy egyenlő 1-tel, a módszer elveszti a konvergenciát. A megfelelő paraméterek kiválasztása tehát elengedhetetlen a sikeres alkalmazáshoz.

Amikor a nehéz labda módszert alkalmazzuk egy kvadratikus függvény minimizálására, ahol F(x)=Hxb\nabla F(x) = Hx - b, és a cél a lineáris rendszer Hx=bHx = b megoldása, akkor a nehéz labda iterációs képlet a következő formát ölti:

xk+1=xkα(Hxkb)+β(xkxk1)x_{k+1} = x_k - \alpha (Hx_k - b) + \beta (x_k - x_{k-1})

A konvergencia sebességét ebben az esetben a következő tétel határozza meg:

Tétel: Legyen HH szimmetrikus, pozitív definit. Legyen xx^* a lineáris rendszer egyedüli megoldása. Ha az xkx_k iterációk a nehéz labda iterációs képletet követik, és x1=x0x_1 = x_0, akkor minden ϵ>0\epsilon > 0 esetén létezik egy NN pozitív egész szám, amelynél minden kNk \geq N esetén az alábbi egyenlőség teljesül:

xkx(1+β)kx0x+ϵ||x_k - x^*|| \leq (1 + \beta)^{k} ||x_0 - x^*|| + \epsilon

Ez azt jelenti, hogy ha az α\alpha és β\beta paraméterek megfelelően vannak beállítva, a nehéz labda módszer konvergenciája gyorsabb lesz, mint a hagyományos gradiens módszeré, amely szintén lineáris konvergenciát biztosít. A megfelelő paraméterek, különösen a β\beta értéke, azonban nagyban befolyásolják a módszer teljesítményét, és érdemes ezeket finomhangolni a problémához.

A nehéz labda módszer alkalmazása során figyelmet kell fordítani a paraméterek optimális kiválasztására, mivel ezek a konvergenciát alapvetően meghatározzák. Ha a matrica illeszkedési számának (condition number) értéke nagy, azaz a rendszer rosszul kondicionált, akkor a nehéz labda módszer jelentősen gyorsabb konvergenciát biztosíthat a hagyományos módszerekkel szemben.

Endtext