判別分析是用一種統計的方法根據已有的數據集去分析新的數據屬於那一類的方法
適用於數據集較小的情況,因為數據量夠大的話神經網絡的准確率會比傳統的判別分析高得多
距離判別法:
歐氏距離
簡單的計算數據集中每一類的樣本均值
對於新數據,計算新數據與各類樣本均值的歐氏距離
取離此新數據距離最近的類別為此數據的類別
馬氏距離
馬氏距離的優點是考慮了各特征之間的相互關系與尺度
馬氏距離的公式
當協方差陣為單位陣時,各特征間無關,此時馬氏距離等於歐氏距離
對馬氏距離的具體分析在https://www.cnblogs.com/likai198981/p/3167928.html
具體做法
算出樣本對每一類的距離,(在馬氏距離中使用哪一類的均值和方差)
取距離最小的那一類即可
fisher判別法
fisher判別法是去找一個過原點的直線這個直線要達到的效果是
具體做法:
w即為這條直線的方向
直線為Y = wX
臨界點y0 = (n0 * u0 + n1 * u1) / (n0 + n1)
判別時計算數據在線上的投影,將此投影與聚類的中心投影相比較得出此數據應屬於那一類
貝葉斯判別法
書上的貝葉斯做法如下
對於兩個多元總體
第一類有n1個樣本,第二類有n2個樣本
q1 = n1 / (n1 + n2)
q2 = n2 / (n1 + n2)
第一類的均值為u1,第二類的均值為u2
根據總體計算出協方差矩陣Σ
第i類樣本的判別函數為
fi(x) = ln(qi) - 1/2 ui.T * Σ-1 * ui + x.T * Σ-1 * ui
然后對於所有點fi(x)做一個softmax然后其中的最大值就是后驗概率
對於樣本來說
首先我要知道密度函數和先驗概率
對於k種分類先驗概率為qk, 密度函數為fk
那么P(g|x)表示樣本為x的情況下,種類為g的概率
P(g|x) = qg * fg(x) / ∑ qi * fi(x)
找出那個最大的P(g|x)即可
一般來說 qg使用樣品頻率來代替
計算出g的均值和方差,fg(x)使用正太分布來代替
工業上貝葉斯判別法用的也比較多
但一般來說不是這么用的
貝葉斯公式如下:
將其移項即可得到
P(gk|x) = P(x|gk) * ∑P(xi|gi) / P(x)
對於多元變量x,我們假設x的各個特征相互獨立 設X = (u1,u2, ,,,,,um)
那么P(x|gk) = P(u1|gk) * P(u2|gk) **** P(um|gk)
P(x) = P(u1)*P(u2)*.....*P(um)
概率就用樣本中的頻率表示即可
一些理解
距離判別法
歐式距離只考慮了樣本中心點的位置
馬氏距離不僅考慮了樣本中心點的位置,還考慮了樣本各個特征間的相互關系以及樣本的度量
fisher判別法
利用一條過原點的判別函數,使得不同類別在判別函數上投影的距離盡可能大
使得同一類的距離盡可能小
貝葉斯判別法
利用樣本的先驗概率計算密度函數
再使用密度函數,計算特定點的后驗概率