判別分析是用一種統計的方法根據已有的數據集去分析新的數據屬於那一類的方法html
適用於數據集較小的狀況,由於數據量夠大的話神經網絡的準確率會比傳統的判別分析高得多網絡
距離判別法:函數
歐氏距離ui
簡單的計算數據集中每一類的樣本均值htm
對於新數據,計算新數據與各種樣本均值的歐氏距離blog
取離此新數據距離最近的類別爲此數據的類別變量
馬氏距離神經網絡
馬氏距離的優勢是考慮了各特徵之間的相互關係與尺度方法
馬氏距離的公式 im
當協方差陣爲單位陣時,各特徵間無關,此時馬氏距離等於歐氏距離
對馬氏距離的具體分析在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判別法
利用一條過原點的判別函數,使得不一樣類別在判別函數上投影的距離儘量大
使得同一類的距離儘量小
貝葉斯判別法
利用樣本的先驗機率計算密度函數
再使用密度函數,計算特定點的後驗機率