Како имплементирати линеарну дискриминаторну анализу у Р?



Овај чланак ће вам рећи шта је линеарна дискриминантна анализа и такође ће вам пружити детаљну демонстрацију помоћу програмског језика Р.

Линеарна дискриминаторска анализа је веома популарна техника машинског учења која се користи за решавање проблема класификације. У овом чланку ћемо покушати да разумемо интуицију и математику која стоји иза ове технике. Пример примене ЛДА у Р. такође је обезбеђена.

Па кренимо онда





Претпоставка линеарне дискриминаторске анализе

Линеарна дискриминаторска анализа заснива се на следећим претпоставкама:

  • Зависна променљива И. је дискретан. У овом чланку ћемо претпоставити да је зависна променљива бинарна и да узима вредности класе {+1, -1} . Вероватноћа узорка који припада класи +1 , тј П (И = +1) = п . Према томе, вероватноћа узорка који припада класи -један је 1-п .



  • Независне променљиве Икс потичу из гауских дистрибуција. Средња вредност Гаусове расподеле зависи од ознаке класе И. . односно ако И. и = +1 , тада средња вредност Икс и је & # 120583 +1 , иначе је & # 120583 -један . Варијанса & # 120590 2 је исти за обе класе. Математички гледано, Кс | (И = +1) ~ Н (& # 120583 +1 , & # 120590 2 ) и Кс | (И = -1) ~ Н (& # 120583 -један , & # 120590 2 ) , где Н. означава нормалну расподелу.

Са овим информацијама могуће је направити заједничку дистрибуцију П (Кс, И) за независну и зависну променљиву. Према томе, ЛДА спада у класу Модели генеративног класификатора . Уско повезан генеративни класификатор је квадратна дискриминаторска анализа (КДА). Заснован је на свим истим претпоставкама ЛДА, осим што су разлике у класи различите.

Наставимо са чланком Линеарна дискриминаторска анализа и видећемо

Интуиција

Размотримо класу условних гаусових расподела за Икс с обзиром на класу И. . Доња слика приказује функције густине расподела. На овој слици, ако И = +1 , тада средња вредност Икс је 10 и ако И = -1 , средња вредност је 2. Одступање је 2 у оба случаја.

интуиција - Анализа линеарне дискриминације - Едурека

Сада претпоставимо нову вредност Икс нам је дато. Означимо то само као Икс и . Задатак је да се утврди највероватнија ознака класе за ово Икс и , тј. И. и . Ради једноставности претпоставимо да је вероватноћа стр узорка који припада класи +1 је исто што и припадност класи -један , тј. п = 0,5 .

Интуитивно има смисла рећи да ако Икс и је ближе & # 120583 +1 него што је до & # 120583 -један , онда је вероватније да И. и = +1 . Формалније, И. и = +1 ако:

| к и - & # 120583 +1 |. |<|x и - & # 120583 -један |. |

Нормализација обе стране стандардном девијацијом:

| к и - & # 120583 +1 | / & # 120590<|x и - & # 120583 -један | / & # 120590

Квадрирање обе стране:

(Икс и - & # 120583 +1 ) 2 / & # 120590 2 <(x и - & # 120583 -један ) 2 / & # 120590 2

Икс и 2 / & # 120590 2 + & # 120583 +1 2 / & # 120590 2 - 2 к и & # 120583 +1 / & # 120590 2 и 2 / & # 120590 2 + & # 120583 -један 2 / & # 120590 2 - 2 к и & # 120583 -један / & # 120590 2

2 к и (& # 120583 -један - & # 120583 +1 ) / & # 120590 2 - (& # 120583 -један 2 / & # 120590 2 - & # 120583 +1 2 / & # 120590 2 )<0

-2 к и (& # 120583 -један - & # 120583 +1 ) / & # 120590 2 + (& # 120583 -један 2 / & # 120590 2 - & # 120583 +1 2 / & # 120590 2 )> 0

конверзија низа до датума у ​​јави

Горњи израз је облика бк и + ц> 0 где б = -2 (& # 120583 -један - & # 120583 +1 ) / & # 120590 2 и ц = (& # 120583 -један 2 / & # 120590 2 - & # 120583 +1 2 / & # 120590 2 ) .

Очигледно је да је облик једначине линеарно , отуда и назив Линеарна дискриминаторска анализа.

Наставимо са чланком Линеарна дискриминаторна анализа и видећемо,

Математички опис ЛДА

Математичко извођење израза за ЛДА заснива се на концептима попут Баиес Руле и Баиесов оптимални класификатор . Заинтересовани читаоци се подстичу да прочитају више о овим концептима. Може се наћи један начин за извођење израза овде .

Израз ћемо дати директно за наш конкретан случај где И. траје два часа {+1, -1} . Такође ћемо проширити интуицију приказану у претходном одељку на општи случај где Икс може бити вишедимензионална. Рецимо да постоје до независне варијабле. У овом случају класа значи & # 120583 -један и & # 120583 +1 били би вектори димензија к * 1 и матрица варијансе-коваријанса & # 120622 била би матрица димензија к * к .

Функција класификатора дата је као

И = х (Кс) = знак (б Т. Кс + ц)

Где,

б = -2 & # 120622 -један (& # 120583 -један - & # 120583 +1 )

ц = & # 120583 -један Т. & # 120622 -један & # 120583 -један - & # 120583 -један Т. & # 120622 -један & # 120583 -један {-2 лн (1-п) / п}

Функција знака се враћа +1 ако је израз б Т. к + ц> 0 , у супротном се враћа -један . Природни термин пријављивања у ц је присутан ради прилагођавања чињеници да вероватноће класе не морају бити једнаке за обе класе, тј. стр може бити било која вредност између (0, 1), а не само 0,5.

Учење параметара модела

Дат је скуп података са Н. Подаци указују (Икс један , И један ), (Икс 2 , И 2 ),… (ИКС н , И н ) , треба да проценимо п, & # 120583 -један , & # 120583 +1 и & # 120622 . Техника статистичке процене тзв Процена максималне вероватноће користи се за процену ових параметара. Изрази за горње параметре дати су у наставку.

& # 120583 +1 = (1 / Н +1 ) * & # 120506 и: ии = + 1 Икс и

& # 120583 -један = (1 / Н -један ) * & # 120506 и: ии = -1 Икс и

како претворити из двоструког у инт јава

п = Н. +1 / Н

& # 120622 = (1 / Н) * & # 120506и = 1: Н. (Икс и - & # 120583 и ) (Икс и - & # 120583 и ) Т.

Где Н. +1 = број узорака где је и и = +1 и Н. -један = број узорака где је и и = -1 .

Са горњим изразима, ЛДА модел је завршен. Параметри модела могу се проценити помоћу горњих израза и користити их у функцији класификатора да се добије ознака класе било које нове улазне вредности независне променљиве Икс .

Наставимо са чланком Линеарна дискриминаторска анализа и видећемо

Пример у Р.

Следећи код генерише лажни скуп података са две независне променљиве Кс1 и Кс2 и зависна променљива И. . За Кс1 и Кс2 , генерисаћемо узорак из две мултиваријантне гаусове расподеле помоћу средстава & # 120583 -један = (2, 2) и & # 120583 +1 = (6, 6) . 40% узорака припада класи +1 а 60% припада класи -један , дакле п = 0,4 .

библиотека (ггплот2) библиотека (МАСС) библиотека (мвтнорм) #Варианце Коваријантна матрица за случајни биваријантни гаусов узорак вар_цовар = матрица (подаци = ц (1,5, 0,3, 0,3, 1,5), нров = 2) # Случајни биваријантни гаусови узорци за класу + 1 Ксплус1<- 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)) 

На горњој слици, плаве тачке представљају узорке из класе +1 а црвене представљају узорак из одељења -један . Постоји одређено преклапање између узорака, тј. Класе се не могу потпуно одвојити једноставном линијом. Другим речима, нису савршено линеарно одвојиви .

шта је апстракција у ц ++

Сада ћемо обучити модел ЛДА користећи горње податке.

# Обучите ЛДА модел користећи горњи скуп података лда_модел<- lda(Y ~ X1 + X2, data = dataset) #Print the LDA model lda_model 

Излаз:

Претходне вероватноће група:

-Једанаест

0,6 0,4

Група значи:

Кс1 Кс2

-1 1.928108 2.010226

1 5.961004 6.015438

Коефицијенти линеарних дискриминатора:

ЛД1

Кс1 0,5646116

Кс2 0.5004175

Као што се види, средства класе која је модел научио су (1.928108, 2.010226) за класу -један и (5.961004, 6.015438) за час +1 . Ова средства су врло блиска срединама класе које смо користили за генерисање ових случајних узорака. Претходна вероватноћа за групу +1 је процена за параметар стр . Тхе б вектор је линеарни дискриминативни коефицијенти.

Сада ћемо користити горњи модел за предвиђање ознака класа за исте податке.

# Предвиђање класе за сваки узорак у горе наведеном скупу података помоћу ЛДА модела и_пред<- 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))

На горњој слици, љубичасти узорци су из класе +1 који су правилно класификовани према моделу ЛДА. Слично томе, црвени узорци су из класе -један који су правилно класификовани. Плави су из разреда +1 али су погрешно класификовани као -један . Зелени су из разреда -један који су погрешно класификовани као +1 . Погрешне класификације се дешавају јер су ти узорци ближи средњем значењу друге класе (центру) од стварне средње вредности класе.

Ово нас доводи до краја овог чланка, погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Едурекина аналитика података са Р обуком ће вам помоћи да стекнете стручност у Р програмирању, манипулацији подацима, истраживачкој анализи података, визуелизацији података, рударству података, регресији, анализи сентимента и коришћењу Р Студио-а за студије стварног живота у малопродаји, друштвеним медијима.

Имате питање за нас? Молимо вас да га помињете у одељку за коментаре овог чланка и јавићемо вам се што је пре могуће.