Fisher(LDA) 判别分析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fisher(LDA) 判别分析相关的知识,希望对你有一定的参考价值。
参考技术A (sklearn)线性判别分析LinearDiscriminantAnalysis
算法一般解释:
将高维度空间的样本投影到低维空间上,使得投影后的样本数据在新的子空间上有最小的类内距离以及最大的类间距离,使得在该子空间上有最佳的可分离性
最大的类间距离--即要投影后两个样本的质心离得越远越好,那么就能得到
最小的类内距离--即要使得投影后同一类的样本点尽可能聚拢在一起,离质心越近越好
"""
现在我们对LDA降维的流程做一个总结。
输入:数据集D=(x1,y1),(x2,y2),...,((xm,ym)),其中任意样本xi为n维向量,yi∈C1,C2,...,Ck,降维到的维度d。
输出:降维后的样本集
1) 计算类内散度矩阵Sw
2) 计算类间散度矩阵Sb
3) 计算矩阵Sw^−1 Sb
4)计算Sw^−1 Sb的最大的d个特征值和对应的d个特征向量(w1,w2,...wd),得到投影矩阵W
5) 对样本集中的每一个样本特征xi,转化为新的样本zi=WT*xi
6) 得到输出样本集
"""
fix(X,y):训练模型。
predict(X):用模型进行预测,返回预测值。
score(X,y[,sample_weight]):返回(X,y)上的预测准确率(accuracy)。
predict_log_proba(X):返回一个数组,数组的元素一次是 X 预测为各个类别的概率的对数值。
predict_proba(X):返回一个数组,数组元素一次是 X 预测为各个类别的概率的概率值。
线性判别方法
参考技术A 线性判别方法(Linear Discriminant Analysis,简称LDA)是一种经典的线性学习方法,在二分类问题上因为最早由(Fisher)提出,亦称为“Fisher判别分析”。 (严格说来LDA与Fisher判别分析稍有不同,前者假设了各类样本的协方差矩阵相同且满秩)。4.1.投影降维
LDA的思想非常朴素:给定训练设法将样例投影到一条直线上,使得同类的样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。如下图是一个二维示意图:
上面二维示意图中的‘+’、‘-’分别代表正例和反例,椭圆表示数据簇的外轮廓,虚线表示投影,红色实心圆和红色实心三角形分别表示两类样本投影后的中心点。
以下先给出Fisher判别分析的步骤,以后会添加原理的内容。
以上是关于Fisher(LDA) 判别分析的主要内容,如果未能解决你的问题,请参考以下文章