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

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

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

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

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

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

評論