A lineáris diszkrimináns elemzés egy nagyon népszerű gépi tanulási technika, amelyet osztályozási problémák megoldására használnak. Ebben a cikkben megpróbáljuk megérteni a technika mögött rejlő intuíciót és matematikát. Példa az LDA megvalósítására R szintén biztosított.
- Lineáris diszkrimináns elemzés feltételezése
- Intuíciók
- Az LDA matematikai leírása
- A modellparaméterek megtanulása
- Példa az R-re
Tehát kezdjük el akkor
Lineáris diszkrimináns elemzés feltételezése
A lineáris diszkrimináns elemzés a következő feltételezéseken alapul:
A függő változó Y diszkrét. Ebben a cikkben feltételezzük, hogy a függő változó bináris és osztályértékeket vesz fel {+1, -1} . Osztályba tartozó minta valószínűsége +1 azaz P (Y = +1) = p . Ezért az osztályba tartozó minta valószínűsége -egy van 1-p .
A független változó (k) x gauss-eloszlásból származnak. A gauss-eloszlás átlaga az osztálycímkétől függ Y . vagyis ha Y én = +1 , akkor a középértéke x én van & # 120583 +1 , másképp van & # 120583 -egy . A variancia & # 120590 2 mindkét osztály esetében ugyanaz. Matematikailag, X | (Y = +1) ~ N (& # 120583 +1 , & # 120590 2 ) és X | (Y = -1) ~ N (& # 120583 -egy , & # 120590 2 ) , hol N a normális eloszlást jelöli.
Ezzel az információval közös disztribúció készíthető P (X, Y) a független és függő változóra. Ezért az LDA a Generatív osztályozó modellek . A szorosan kapcsolódó generatív osztályozó a kvadratikus diszkrimináns elemzés (QDA). Az LDA összes feltételezésén alapul, azzal a különbséggel, hogy az osztályvariánsok eltérőek.
Folytassuk a Linear Discriminant Analysis cikkel, és nézzük meg
Intuíció
Tekintsük az osztály feltételes gauss-eloszlásait x adott az osztály Y . Az alábbi ábra mutatja az eloszlások sűrűségfüggvényeit. Ezen az ábrán, ha Y = +1 , akkor a középértéke x 10 és ha Y = -1 , az átlag értéke 2. A szórás mindkét esetben 2.
Most tegyük fel, hogy új értéke x nekünk adatik. Jelöljük csak úgy x én . A feladat ennek legvalószínűbb osztálycímkéjének meghatározása x én , azaz Y én . Tegyük fel, hogy az egyszerűség kedvéért a valószínűség o osztályba tartozó minta +1 azonos az osztályba tartozással -egy , azaz p = 0,5 .
Intuitív módon van értelme azt mondani, hogy ha x én közelebb van & # 120583 +1 mint annak lennie & # 120583 -egy , akkor valószínűbb, hogy Y én = +1 . Formálisabban, Y én = +1 ha:
mutálható osztály java példában
| x én - & # 120583 +1 |<|x én - & # 120583 -egy |
Mindkét oldal normalizálása a szórással:
| x én - & # 120583 +1 | / & # 120590<|x én - & # 120583 -egy | / & # 120590
Mindkét oldal négyzete:
(x én - & # 120583 +1 ) 2 / & # 120590 2 <(x én - & # 120583 -egy ) 2 / & # 120590 2
x én 2 / & # 120590 2 + & # 120583 +1 2 / & # 120590 2 - 2 x én & # 120583 +1 / & # 120590 2
2 x én (& # 120583 -egy - & # 120583 +1 ) / & # 120590 2 - (& # 120583 -egy 2 / & # 120590 2 - & # 120583 +1 2 / & # 120590 2 )<0
-2 x én (& # 120583 -egy - & # 120583 +1 ) / & # 120590 2 + (& # 120583 -egy 2 / & # 120590 2 - & # 120583 +1 2 / & # 120590 2 )> 0
A fenti kifejezés formájú bx én + c> 0 hol b = -2 (& # 120583 -egy - & # 120583 +1 ) / & # 120590 2 és c = (& # 120583 -egy 2 / & # 120590 2 - & # 120583 +1 2 / & # 120590 2 ) .
szakács vs báb vs jenkins
Nyilvánvaló, hogy az egyenlet formája lineáris , ezért a Linear Discriminant Analysis elnevezés.
Folytassuk a Linear Discriminant Analysis cikkel, és nézzük meg,
Az LDA matematikai leírása
Az LDA kifejezés matematikai levezetése olyan fogalmakon alapszik Bayes-szabály és Bayes optimális osztályozó . Az érdeklődő olvasókat javasoljuk, hogy olvassanak többet ezekről a fogalmakról. A kifejezés levezetésének egyik módja megtalálható itt .
A kifejezést közvetlenül az adott esetünkre adjuk meg, ahol Y két osztályba jár {+1, -1} . Az előző részben bemutatott intuíciót kiterjesztjük arra az általános esetre is, ahol x lehet többdimenziós. Mondjuk, hogy vannak nak nek független változók. Ebben az esetben az osztály azt jelenti & # 120583 -egy és & # 120583 +1 dimenzióvektorok lennének k * 1 és a variancia-kovariancia mátrix & # 120622 dimenziómátrix lenne k * k .
Az osztályozó függvény a következő
Y = h (X) = előjel (b T X + c)
Hol,
b = -2 & # 120622 -egy (& # 120583 -egy - & # 120583 +1 )
c = & # 120583 -egy T & # 120622 -egy & # 120583 -egy - & # 120583 -egy T & # 120622 -egy & # 120583 -egy {-2 ln (1-p) / p}
Az előjel függvény visszatér +1 ha a kifejezés b T x + c> 0 , különben visszatér -egy . A természetes log kifejezés c jelen van annak igazításához, hogy az osztály valószínűségeinek nem kell egyenlőnek lenniük mindkét osztály esetében, azaz o bármilyen érték lehet (0, 1), és nem csak 0,5.
A modellparaméterek megtanulása
Adott adatkészlet a N adat pontok (x egy , Y egy ), (x 2 , Y 2 ),… (X n , Y n ) , meg kell becsülnünk p, & # 120583 -egy , & # 120583 +1 és & # 120622 . Az úgynevezett statisztikai becslési technika A legnagyobb valószínűség becslése ezen paraméterek becslésére szolgál. A fenti paraméterek kifejezéseit az alábbiakban adjuk meg.
& # 120583 +1 = (1 / N +1 ) * & # 120506 i: yi = + 1 x én
& # 120583 -egy = (1 / N -egy ) * & # 120506 i: yi = -1 x én
p = N +1 / N
& # 120622 = (1 / N) * & # 120506én = 1: N (x én - & # 120583 én ) (x én - & # 120583 én ) T
Hol N +1 = a minták száma, ahol y én = +1 és N -egy = a minták száma, ahol y én = -1 .
A fenti kifejezésekkel az LDA modell teljes. Meg lehet becsülni a modell paramétereit a fenti kifejezések felhasználásával, és felhasználhatjuk őket az osztályozó függvénybe, hogy megkapjuk a független változó bármely új bemeneti értékének osztálycímkéjét x .
Folytassuk a Linear Discriminant Analysis cikkel, és nézzük meg
Példa az R-re
A következő kód két, egymástól független változóval rendelkező dummy adatsort generál X1 és X2 és egy függő változó Y . Mert X1 és X2 , két többváltozós gausus-eloszlásból fogunk átlagot generálni & # 120583 -egy = (2, 2) és & # 120583 +1 = (6, 6) . A minták 40% -a osztályba tartozik +1 60% pedig osztályba tartozik -egy , ebből adódóan p = 0,4 .
library (ggplot2) library (MASS) library (mvtnorm) # Variance Kovariance mátrix véletlen kétváltozós gausus-minta var_covar = mátrix (adatok = c (1,5, 0,3, 0,3, 1,5), nrow = 2) # Véletlenszerű kétváltozós gaussian minták + 1 Xplus1<- rmvnorm(400, mean = c(6, 6), sigma = var_covar) # Random bivariate gaussian samples for class -1 Xminus1 <- rmvnorm(600, mean = c(2, 2), sigma = var_covar) #Samples for the dependent variable Y_samples <- c(rep(1, 400), rep(-1, 600)) #Combining the independent and dependent variables into a dataframe dataset <- as.data.frame(cbind(rbind(Xplus1, Xminus1), Y_samples)) colnames(dataset) <- c('X1', 'X2', 'Y') dataset$Y <- as.character(dataset$Y) #Plot the above samples and color by class labels ggplot(data = dataset)+ geom_point(aes(X1, X2, color = Y))
A fenti ábrán a kék pontok az osztály mintáit mutatják +1 a pirosak pedig az osztály mintáját jelentik -egy . Van némi átfedés a minták között, vagyis az osztályok nem választhatók el teljesen egy egyszerű vonallal. Más szóval nem tökéletesen lineárisan elválasztható .
Most egy LDA modellt oktatunk a fenti adatok felhasználásával.
# Képezze be az LDA modellt a fenti lda_model adatkészlettel<- lda(Y ~ X1 + X2, data = dataset) #Print the LDA model lda_model
Kimenet:
A csoportok korábbi valószínűségei:
-tizenegy
0,6 0,4
A csoport jelentése:
stl rendezés c ++
X1 X2
-1 1.928108 2.010226
1 5.961004 6.015438
A lineáris diszkriminánsok együtthatói:
LD1
X1 0,5646116
X2 0,5004175
Mint látható, a modell által megtanult osztályosztályok (1.928108, 2.010226) az osztályra vonatkoznak -egy osztály (5.961004, 6.015438) +1 . Ezek az átlagok nagyon közel állnak ahhoz az osztályértékhez, amelyet a véletlenszerű minták előállításához használtunk. A csoport előzetes valószínűsége +1 a paraméter becsült értéke o . Az b A vektor a lineáris diszkrimináns együtthatók.
Most a fenti modell alapján fogjuk megjósolni az osztálycímkéket ugyanazokra az adatokra.
# Az egyes minták osztályának megjóslása a fenti adatkészletben az y_pred LDA modell használatával<- predict(lda_model, newdata = dataset)$class #Adding the predictions as another column in the dataframe dataset$Y_lda_prediction <- as.character(y_pred) #Plot the above samples and color by actual and predicted class labels dataset$Y_actual_pred <- paste(dataset$Y, dataset$Y_lda_prediction, sep=',') ggplot(data = dataset)+ geom_point(aes(X1, X2, color = Y_actual_pred))
A fenti ábrán a lila minták az osztályból származnak +1 amelyeket az LDA modell helyesen osztályozott. Hasonlóképpen, a vörös minták az osztályból származnak -egy amelyeket helyesen osztályoztak. A kékek az osztályból származnak +1 de tévesen besorolták -egy . A zöldek az osztályból származnak -egy amelyeket tévesen minősítettek +1 . A téves osztályozások azért történnek, mert ezek a minták közelebb vannak a másik osztály átlagához (középpontjához), mint a tényleges osztályuk átlagához.
Ezzel eljutottunk a cikk végéhez, nézze meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Az Edureka Data Analytics with R képzése segít megszerezni a szakértelmet az R programozásban, az adatkezelésben, a feltáró adatelemzésben, az adatmegjelenítésben, az adatbányászatban, a regresszióban, a hangulatelemzésben és az R Studio felhasználásában a kiskereskedelem, a közösségi média valós életének esettanulmányaihoz.
Van egy kérdésünk? Kérjük, említse meg a cikk megjegyzés rovatában, és a lehető leghamarabb kapcsolatba lépünk Önnel.