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