先前呢,我們?cè)谧钍軞g迎的十大機(jī)器學(xué)習(xí)算法-part1和最受歡迎的十大機(jī)器學(xué)習(xí)算法-part2兩篇文章中簡(jiǎn)單介紹了十種機(jī)器學(xué)習(xí)算法,有的讀者反映看完還是云里霧里,所以,我會(huì)挑幾種難理解的算法詳細(xì)講解一下,今天我們介紹的是線性判別分析。
線性判別分析(Linear Discriminant Analysis)簡(jiǎn)稱LDA,是分類算法中的一種。LDA通過(guò)對(duì)歷史數(shù)據(jù)進(jìn)行投影,以保證投影后同一類別的數(shù)據(jù)盡量靠近,不同類別的數(shù)據(jù)盡量分開。并生成線性判別模型對(duì)新生成的數(shù)據(jù)進(jìn)行分離和預(yù)測(cè)。
LDA投影矩陣
在維基百科中對(duì)投影的定義是:“投影是從向量空間映射到自身的一種線性變換,是日常生活中“平行投影”概念的形式化和一般化”。例如,在日常生活中,陽(yáng)光會(huì)在大地上留下各種物體的影子。陽(yáng)光將三維空間中的物體映射到影子的二維空間中,而影子隨著一天中太陽(yáng)照射角度的變化也會(huì)發(fā)生變化。
如果你玩過(guò)游戲《Shadowmatic》就能理解LDA投影的過(guò)程。《Shadowmatic》是一款由TRIADA Studio開發(fā)的3D解謎游戲。游戲需要玩家在燈光下旋轉(zhuǎn),扭動(dòng)懸浮在空中的不明物體,并通過(guò)燈光的投影在墻上尋找不明物體的真面目。只要找對(duì)角度就能成功。如下面的游戲截圖中,不明物體在某個(gè)角度的投影是一只可愛的小兔子。
LDA投影矩陣與《Shadowmatic》相似。其中的不明物體是歷史數(shù)據(jù)樣本。我們需要通過(guò)“旋轉(zhuǎn)”和“扭動(dòng)”這些歷史數(shù)據(jù),找到正確的角度發(fā)現(xiàn)其中的模式。以下是銀行對(duì)企業(yè)貸款的樣本數(shù)據(jù),其中包含了企業(yè)經(jīng)營(yíng)時(shí)間和拖延還款天數(shù)以及最終是否還款的數(shù)據(jù)。
我們把這些樣本數(shù)據(jù)生成散點(diǎn)圖,其中X軸是企業(yè)經(jīng)營(yíng)時(shí)間,Y軸是拖延還款天數(shù),藍(lán)色三角表示未還款數(shù)據(jù),紅色方框表示已還款數(shù)據(jù)。在散點(diǎn)圖中未還款和已還款數(shù)據(jù)相互交織,無(wú)法發(fā)現(xiàn)其中的模式。這就是游戲中的不明物體。
與游戲中不同的是我們無(wú)法“旋轉(zhuǎn)”和“扭動(dòng)”樣本數(shù)據(jù),而是要通過(guò)移動(dòng)背景墻的位置來(lái)發(fā)現(xiàn)最終的“小兔子”。在下面的圖中,無(wú)論我們將樣本數(shù)據(jù)投影到X軸,還是Y軸,已還款和未還款的兩類數(shù)據(jù)都交織在一起,我們無(wú)法發(fā)現(xiàn)其中的模型。更無(wú)法對(duì)數(shù)據(jù)進(jìn)行分類和預(yù)測(cè)。因?yàn)槿魏我粋€(gè)單獨(dú)的維度都無(wú)法判斷企業(yè)最終是否會(huì)還款。我們需要變換投影背景墻的位置來(lái)找到能將兩類數(shù)據(jù)分離的“角度”。
在LDA中這個(gè)投影背景墻是一個(gè)新的Y軸,角度是向量W。我們通過(guò)計(jì)算獲得向量W并生成新的Y軸,使兩個(gè)類別的樣本數(shù)據(jù)在新Y軸的投影中能最大程度的分離。計(jì)算向量W的方法是使用兩類數(shù)據(jù)的平均值差的平方除以兩類數(shù)據(jù)各自的方差之和。在這個(gè)公式中,我們希望分母越小越好,分子越大越好。換句話說(shuō)就是兩類數(shù)據(jù)的均值相差的越大越好,這樣可以保證兩類數(shù)據(jù)間的分離程度。而同一類數(shù)據(jù)的方差越小越好,這樣可以保證每一類數(shù)據(jù)都不會(huì)太分散。這樣我們就可以找出一個(gè)W使J(W)的值最大。而這個(gè)最大值就是新的投影背景墻Y軸的方向。(這里需要通過(guò)拉格朗日來(lái)求W的最大值)
當(dāng)歷史樣本數(shù)據(jù)被投影到新的Y軸背景墻時(shí),可以看到數(shù)據(jù)與之前的情況不同,被明顯的分為了兩組。并且兩組數(shù)據(jù)間的交叉很少。這符合了LDA的預(yù)期,不同類別的數(shù)據(jù)間分離的越遠(yuǎn)越好,同一類別的數(shù)據(jù)越集中越好。
到這里我們對(duì)兩類數(shù)據(jù)進(jìn)行了分離,但這還不能實(shí)現(xiàn)對(duì)數(shù)據(jù)分類和預(yù)測(cè)。因此我們還需要找到一個(gè)點(diǎn)來(lái)區(qū)分這兩類數(shù)據(jù)。這個(gè)點(diǎn)就是線性辨別模型中。
LDA模式分類
線性辨別模型(Z=b1x1+b2x2)是一條直線方程,通過(guò)這條直線方程我們可以在散點(diǎn)圖中發(fā)現(xiàn)可以將兩組數(shù)據(jù)進(jìn)行區(qū)分的數(shù)據(jù)點(diǎn)。并對(duì)新產(chǎn)生的數(shù)據(jù)進(jìn)行分類和預(yù)測(cè)。如下圖所示,我們通過(guò)線性辨別模型獲得一條可以區(qū)分不同類別的直線。其中X1是企業(yè)經(jīng)營(yíng)時(shí)間,X2是拖延還款天數(shù)。而b1和b2是我們所要求的模型系數(shù)。
方差,協(xié)方差,協(xié)方差矩陣
在求線性辨別模型中的b1和b2時(shí),需要用到協(xié)方差矩陣,因此我們先來(lái)簡(jiǎn)單介紹與協(xié)方差有關(guān)的一些概念和計(jì)算方法。
均值
首先是均值,均值的計(jì)算很簡(jiǎn)單。但要了解協(xié)方差和方差的概念,就必須先從均值開始。以下是均值的計(jì)算公式。均值表示一組數(shù)的集中程度。
方差
方差與均值正好相反,用來(lái)表示一組數(shù)的離散程度,也就是一組數(shù)中每一個(gè)數(shù)到均值的距離。由于均值通常是一組數(shù)的中心點(diǎn),為了避免左右兩側(cè)的數(shù)據(jù)由于正負(fù)相互抵消無(wú)法準(zhǔn)確的表示平均距離。我們先對(duì)距離取平方在進(jìn)行匯總,匯總的結(jié)果就是方差的值。方差開平方就是標(biāo)準(zhǔn)差。
協(xié)方差
協(xié)方差是在方差的基礎(chǔ)上擴(kuò)展得到的,從計(jì)算公式中就能看出來(lái)。協(xié)方差與方差有兩個(gè)最大的區(qū)別,第一個(gè)區(qū)別是方差是用來(lái)描述一組數(shù)的而協(xié)方差是用來(lái)描述兩組數(shù)的。第二個(gè)區(qū)別是方差用來(lái)描述一組數(shù)的離散程度,也就是離均值的距離,而協(xié)方差是用來(lái)描述兩組數(shù)直接的聯(lián)系的。
方差與協(xié)方差計(jì)算公式:
協(xié)方差是一種用來(lái)度量?jī)蓚€(gè)隨機(jī)變量關(guān)系的統(tǒng)計(jì)量。
當(dāng)cov(X, Y)>0時(shí),表明 X與Y 正相關(guān);
當(dāng)cov(X, Y)<0時(shí),表明X與Y負(fù)相關(guān);
當(dāng)cov(X, Y)=0時(shí),表明X與Y不相關(guān)。
協(xié)方差矩陣
協(xié)方差只能處理兩組數(shù)(兩維)間的關(guān)系,當(dāng)要計(jì)算的數(shù)據(jù)多于兩組(多維)時(shí),就要用到協(xié)方差矩陣。協(xié)方差矩陣其實(shí)是分別計(jì)算了不同維度之間的協(xié)方差。通過(guò)下圖可以發(fā)現(xiàn)協(xié)方差矩陣是一個(gè)對(duì)稱的矩陣,對(duì)角線是各個(gè)維度上的方差。
計(jì)算線性辨別模型
在開始計(jì)算線性辨別模型之前,我們按企業(yè)是否還款將歷史數(shù)據(jù)分為已還款和未還款兩個(gè)類別。用以進(jìn)行后面的計(jì)算。
計(jì)算均值,概覽及協(xié)方差矩陣
我們分別計(jì)算出已還款和未還款兩個(gè)類別中條目的數(shù)量,在整體樣本數(shù)據(jù)中出現(xiàn)的概率以及企業(yè)經(jīng)營(yíng)時(shí)間和拖延還款天數(shù)的均值。
按照前面介紹的協(xié)方差矩陣公式分別計(jì)算出兩個(gè)類別的協(xié)方差矩陣。從下圖中可以發(fā)現(xiàn),協(xié)方差矩陣是一個(gè)對(duì)稱的矩陣,并且對(duì)角線上的兩個(gè)數(shù)字就是企業(yè)經(jīng)營(yíng)天數(shù)和拖延還款天數(shù)的方差值。
合并協(xié)方差矩陣
按照合并協(xié)方差的公式我們將兩個(gè)類別的協(xié)方差矩陣按出現(xiàn)的概率合并為一個(gè)協(xié)方差矩陣。以下是合并協(xié)方差的公式。
按照上面的公式,將每個(gè)類別的協(xié)方差矩陣乘以該類別的概率我們獲得了合并協(xié)方差矩陣。
逆協(xié)方差矩陣
最后我們對(duì)兩個(gè)類別的協(xié)方差矩陣求他的逆協(xié)方差矩陣。。
這是我們求得的合并協(xié)方差矩陣的逆矩陣。
計(jì)算線性辨別模型系數(shù)
求得逆協(xié)方差矩陣后,就可以通過(guò)兩個(gè)類別的均值差和逆協(xié)方差矩陣計(jì)算線性辨別模型的系數(shù)。下面分別給出了兩個(gè)類別的均值,逆協(xié)方差矩陣的對(duì)應(yīng)表。
通過(guò)公式分別求出線性辨別模型的兩個(gè)系數(shù)b1和b2,以下是公式和計(jì)算步驟。
b1=0.0001(116.23-115.04)+0.0003(16.89-55.32)=-0.009696
b2=0.0003(116.23-115.04)+0.0037(16.89-55.32)=-0.143453
兩個(gè)系數(shù)分別為b1=-0.009696,b2=-0.143453。將系數(shù)值代入到模型中,就是我們所求的線性辨別模型。
責(zé)任編輯:gt
-
3D
+關(guān)注
關(guān)注
9文章
2959瀏覽量
110773 -
游戲
+關(guān)注
關(guān)注
2文章
774瀏覽量
26862 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8503瀏覽量
134630
發(fā)布評(píng)論請(qǐng)先 登錄
【專輯精選】機(jī)器學(xué)習(xí)之算法教程與資料
基于核函數(shù)的Fisher判別分析算法在人耳識(shí)別中的應(yīng)用
近鄰邊界Fisher判別分析
不相關(guān)判別分析算法在人臉識(shí)別中應(yīng)用
核局部Fisher判別分析的行人重識(shí)別
基于逐步判別分析的血液氣味識(shí)別

機(jī)器學(xué)習(xí)算法中的FSS算法詳細(xì)資料合集免費(fèi)下載
python機(jī)器學(xué)習(xí)工具sklearn使用手冊(cè)的中文版免費(fèi)下載

利用基于線性判別分析的多變量分析模型對(duì)豇豆種子進(jìn)行分類

機(jī)器學(xué)習(xí)十大算法精髓總結(jié)

10大常用機(jī)器學(xué)習(xí)算法匯總
線性判別分析LDA背后的數(shù)學(xué)原理

機(jī)器學(xué)習(xí)算法入門 機(jī)器學(xué)習(xí)算法介紹 機(jī)器學(xué)習(xí)算法對(duì)比
機(jī)器學(xué)習(xí)的基本流程和十大算法

評(píng)論