最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

R語(yǔ)言線性判別分析(LDA),二次判別分析(QDA)和正則判別分析(RDA)

2020-11-25 13:03 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=5689

?

判別分析包括可用于分類和降維的方法。線性判別分析(LDA)特別受歡迎,因?yàn)樗仁欠诸惼饔质墙稻S技術(shù)。二次判別分析(QDA)是LDA的變體,允許數(shù)據(jù)的非線性分離。最后,正則化判別分析(RDA)是LDA和QDA之間的折衷。

本文主要關(guān)注LDA,并探討其在理論和實(shí)踐中作為分類和可視化技術(shù)的用途。由于QDA和RDA是相關(guān)技術(shù),我不久將描述它們的主要屬性以及如何在R中使用它們。

線性判別分析

LDA是一種分類和降維技術(shù),可以從兩個(gè)角度進(jìn)行解釋。第一個(gè)是解釋是概率性的,第二個(gè)是更多的程序解釋,歸功于費(fèi)舍爾。第一種解釋對(duì)于理解LDA的假設(shè)是有用的。第二種解釋可以更好地理解LDA如何降低維數(shù)。

??

Fisher的LDA優(yōu)化標(biāo)準(zhǔn)

Fisher的LDA優(yōu)化標(biāo)準(zhǔn)規(guī)定組的質(zhì)心應(yīng)盡可能分散。這相當(dāng)于找到一個(gè)線性組合?=?a?XZ=aTX,使得aTaT相對(duì)于類內(nèi)方差的類間方差最大化。?

?

LDA模型的復(fù)雜性

LDA的有效參數(shù)的數(shù)量可以通過(guò)以下方式導(dǎo)出。有KK手段μ^kμ^k被估計(jì)。協(xié)方差矩陣不需要額外的參數(shù),因?yàn)樗呀?jīng)由質(zhì)心定義。由于我們需要估計(jì)KK判別函數(shù)(以獲得判定邊界),這就產(chǎn)生了涉及p個(gè)元素的KK計(jì)算。另外,我們有?-1為自由參數(shù)?前科。因此,有效LDA參數(shù)的數(shù)量是Kp+(K-1)。?

LDA摘要

在這里,我總結(jié)了LDA的兩個(gè)觀點(diǎn),并總結(jié)了該模型的主要特性。

概率論

LDA使用貝葉斯規(guī)則來(lái)確定觀察xx屬于kk類的后驗(yàn)概率。由于LDA的正常假設(shè),后驗(yàn)由多元高斯定義,其協(xié)方差矩陣假定對(duì)于所有類是相同的。新的點(diǎn)通過(guò)計(jì)算判別函數(shù)分類δkδk(后驗(yàn)概率的枚舉器)并返回類kk具有最大δkδk。判別變量可以通過(guò)類內(nèi)和類間方差的特征分解來(lái)獲得。

費(fèi)舍爾的觀點(diǎn)

根據(jù)Fisher,LDA可以理解為降維技術(shù),其中每個(gè)連續(xù)變換是正交的并且相對(duì)于類內(nèi)方差最大化類間方差。此過(guò)程將特征空間轉(zhuǎn)換為具有K?1K?1維度的仿射空間。在對(duì)輸入數(shù)據(jù)進(jìn)行擴(kuò)展之后,可以通過(guò)在考慮類先驗(yàn)的情況下確定仿射空間中的最接近的質(zhì)心來(lái)對(duì)新點(diǎn)進(jìn)行分類。

LDA的特性

LDA具有以下屬性:

  • LDA假設(shè)數(shù)據(jù)是高斯數(shù)據(jù)。更具體地說(shuō),它假定所有類共享相同的協(xié)方差矩陣。

  • LDA在K?1K?1維子空間中找到線性決策邊界。因此,如果自變量之間存在高階相互作用,則不適合。

  • LDA非常適合于多類問(wèn)題,但是當(dāng)類分布不平衡時(shí)應(yīng)該小心使用,因?yàn)楦鶕?jù)觀察到的計(jì)數(shù)來(lái)估計(jì)先驗(yàn)。因此,觀察很少被分類為不常見(jiàn)的類別。

  • 與PCA類似,LDA可用作降維技術(shù)。請(qǐng)注意,LDA的轉(zhuǎn)換本質(zhì)上與PCA不同,因?yàn)長(zhǎng)DA是一種考慮結(jié)果的監(jiān)督方法。

數(shù)據(jù)集

為了舉例說(shuō)明線性判別分析,我們將使用音素語(yǔ)音識(shí)別數(shù)據(jù)集。該數(shù)據(jù)集對(duì)于展示判別分析很有用,因?yàn)樗婕拔宸N不同的結(jié)果。

  1. library(RCurl)

  2. f <- getURL('phoneme.csv')

  3. df <- read.csv(textConnection(f), header=T)

  4. print(dim(df))

## [1] 4509 ?259

?

為了以后評(píng)估模型,我們將每個(gè)樣本分配到培訓(xùn)或測(cè)試集中:

  1. #logical vector: TRUE if entry belongs to train set, FALSE else

  2. train <- grepl("^train", df$speaker)

  3. # remove non-feature columns

  4. to.exclude <- c("row.names", "speaker""g")

  5. feature.df <- df[, !colnames(df) %<strong>in</strong>% to.exclude]

  6. test.set <- subset(feature.df, !train)

  7. train.set <- subset(feature.df, train)

  8. train.responses <- subset(df, train)$g

  9. test.responses <- subset(df, !train)$g

在R中擬合LDA模型

我們可以通過(guò)以下方式擬合LDA模型:

  1. library(MASS)

  2. lda.model <- lda(train.set, grouping = train.responses)

?

LDA作為可視化技術(shù)

我們可以通過(guò)在縮放數(shù)據(jù)上應(yīng)用變換矩陣將訓(xùn)練數(shù)據(jù)轉(zhuǎn)換為規(guī)范坐標(biāo)。要獲得與predict.lda函數(shù)返回的結(jié)果相同的結(jié)果,我們需要首先圍繞加權(quán)平均數(shù)據(jù)居中:

## [1] TRUE

我們可以使用前兩個(gè)判別變量來(lái)可視化數(shù)據(jù):

?

繪制兩個(gè)LDA維度中的數(shù)據(jù)顯示三個(gè)集群:

  • 群集1(左)由aa和ao音素組成

  • 群集2(右下角)由dcl和iy音素組成

  • 群集3(右上角)由sh音素組成

這表明兩個(gè)維度不足以區(qū)分所有5個(gè)類別。然而,聚類表明可以非常好地區(qū)分彼此充分不同的音素。

我們還可以使用plot.lda函數(shù)繪制訓(xùn)練數(shù)據(jù)到所有判別變量對(duì)的映射,其中dimen參數(shù)可用于指定所考慮的維數(shù):

?

為了可視化組的質(zhì)心,我們可以創(chuàng)建自定義圖:

?

解釋后驗(yàn)概率

除了將數(shù)據(jù)轉(zhuǎn)換為由分量x提供的判別變量之外,預(yù)測(cè)函數(shù)還給出后驗(yàn)概率,其可以用于分類器的進(jìn)一步解釋。例如:

  1. ## [1] "Posterior of predicted class 'sh' is: 1"

  2. ## ? ? ? ?aa ? ?ao ? dcl ? ?iy ? ?sh

  3. ## aa ?0.797 0.203 0.000 0.000 0.000

  4. ## ao ?0.123 0.877 0.000 0.000 0.000

  5. ## dcl 0.000 0.000 0.985 0.014 0.002

  6. ## iy ?0.000 0.000 0.001 0.999 0.000

  7. ## sh ?0.000 0.000 0.000 0.000 1.000

各個(gè)班級(jí)的后驗(yàn)表格表明該模型對(duì)音素aa和ao最不確定,這與我們對(duì)可視化的期望一致。

?

LDA作為分類器

如前所述,LDA的好處是我們可以選擇用于分類的規(guī)范變量的數(shù)量。在這里,我們?nèi)詫⑼ㄟ^(guò)使用多達(dá)四個(gè)規(guī)范變量進(jìn)行分類來(lái)展示降級(jí)LDA的使用。

  1. ## ? Rank Accuracy

  2. ## 1 ? ?1 ? ? 0.51

  3. ## 2 ? ?2 ? ? 0.71

  4. ## 3 ? ?3 ? ? 0.86

  5. ## 4 ? ?4 ? ? 0.92

正如從變換空間的視覺(jué)探索所預(yù)期的那樣,測(cè)試精度隨著每個(gè)附加維度而增加。由于具有四維的LDA獲得最大精度,我們將決定使用所有判別坐標(biāo)進(jìn)行分類。

為了解釋模型,我們可以可視化 分類器的性能:

?

在圖中,預(yù)期的音素以不同的顏色顯示,而模型預(yù)測(cè)通過(guò)不同的符號(hào)顯示。具有100%準(zhǔn)確度的模型將為每種顏色分配單個(gè)符號(hào)。

二次判別分析

QDA是LDA的變體,其中針對(duì)每類觀察估計(jì)單個(gè)協(xié)方差矩陣。如果事先知道個(gè)別類別表現(xiàn)出不同的協(xié)方差,則QDA特別有用。QDA的缺點(diǎn)是它不能用作降維技術(shù)。

由于QDA估計(jì)每個(gè)類的協(xié)方差矩陣,因此它具有比LDA更多的有效參數(shù)。我們可以通過(guò)以下方式得出參數(shù)的數(shù)量。

因此,QDA參數(shù)的有效數(shù)量是?-?1?+?K.p?+?K.p?(p?+?1?)2K?1+Kp+Kp(p+1)2。

由于QDA參數(shù)的數(shù)量在pp是二次的,因此當(dāng)特征空間很大時(shí),應(yīng)小心使用QDA。

QDA在R

我們可以通過(guò)以下方式執(zhí)行QDA:

的QDA和LDA對(duì)象之間的主要區(qū)別是,QDA具有p×pp×p的變換矩陣對(duì)于每個(gè)類k∈{1,…,K}k∈{1,…,K}。這些矩陣確保組內(nèi)協(xié)方差矩陣是球形的,但不會(huì)導(dǎo)致子空間減小。因此,QDA不能用作可視化技術(shù)。

讓我們確定QDA在音素?cái)?shù)據(jù)集上是否優(yōu)于LDA:

## [1] "Accuracy of QDA is: 0.84"QDA的準(zhǔn)確度略低于全級(jí)LDA的準(zhǔn)確度。這可能表明共同協(xié)方差的假設(shè)適合于該數(shù)據(jù)集。

?

規(guī)范的判別分析

由于RDA是一種正則化技術(shù),因此當(dāng)存在許多潛在相關(guān)的特征時(shí)。現(xiàn)在讓我們?cè)u(píng)估音素?cái)?shù)據(jù)集上的RDA。

?

R中的RDA

?

  1. rda.preds <- predict(rda.model, t(train.set), train.responses, t(test.set))


  2. # determine performance for each alpha

  3. rda.perf <- vector(, dim(rda.preds)[1])

  4. for(i in seq(dim(rda.preds)[1])) {

  5. <span style="color:#888888"># performance for each gamma</span>

  6. res <- apply(rda.preds[i,,], 1, function(x) length(which(x == as.numeric(test.responses))) / length(test.responses))

  7. rda.perf[[i]] <- res

  8. }

  9. rda.perf <- do.call(rbind, rda.perf)

  10. rownames(rda.perf) <- alphas

結(jié)論

判別分析對(duì)于多類問(wèn)題特別有用。LDA非常易于理解,因?yàn)樗梢詼p少維數(shù)。使用QDA,可以建模非線性關(guān)系。RDA是一種正則化判別分析技術(shù),對(duì)大量特征特別有用。

?

?如果您有任何疑問(wèn),請(qǐng)?jiān)谙旅姘l(fā)表評(píng)論。?


R語(yǔ)言線性判別分析(LDA),二次判別分析(QDA)和正則判別分析(RDA)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
鄂尔多斯市| 平定县| 昆明市| 凤山县| 金平| 原平市| 抚远县| 杭锦旗| 白水县| 白玉县| 凤庆县| 云浮市| 巴青县| 朝阳市| 天峨县| 木兰县| 桓仁| 建始县| 屏南县| 宁强县| 乐安县| 仲巴县| 汝州市| 霍邱县| 肇东市| 高安市| 兖州市| 灵璧县| 砀山县| 眉山市| 衢州市| 上杭县| 乾安县| 武定县| 洱源县| 大兴区| 瑞昌市| 行唐县| 阿坝| 寿阳县| 肇庆市|