机器学习总结(lecture 5)算法:Fisher线性判别分析LDA
2018-02-20 20:00
881 查看
lecture 5:Fisher线性判别分析LDA
目录
lecture 5Fisher线性判别分析LDA目录
1LDA思想
2二类问题
3K类问题
4LDA的一般步骤
1LDA思想
LDA,将高维样本投影到具有最佳判别效果的低维矢量空间,使得降维样本在新的子空间内类间距离最大,而类内距离最小,即在该低维空间内有最大的可分性。LDA 既可以实现降维,也能完成分类。
在使用时,需要知道高维样本的监督信号,而降维样本的维数受到类别个数的限制。
LDA 的想法是:将带上标签的数据(点),通过投影的方法,投影到维度更低的空间中,使得投影后的点,形成按类别区分,一簇一簇的情况,相同类别的点,将会在投影后的空间中更接近
PCA和LDA非常相似,最终都是解一个矩阵特征值的问题
(1)LDA是一种线性分类器,K分类,会有K个线性函数 yk(x)=WTkx+Wk0yk(x)=WkTx+Wk0
所有的K个y, 最大的y_max就是分类结果
(2)上式是一种投影,是将一个高维的点投影到一条高维的直线上
2二类问题
3K类问题
SB<
4000
/span>SB是对称实矩阵,SWSW是正定矩阵
用LDA时,最好先用PCA算法降维,消除样本的冗余度
y=WTxy=WTx
例子:假设原始样本 x是784*1维的列向量,现在分10类,W 就是784*9的矩阵
得到的 投影样本 y 是 9*1的,从高维784降到了低维 9
C分类问题,最优投影轴的个数 d<=C-1
求特征值是很费时间的操作
4LDA的一般步骤
(1)求原始数据,各类样本中心mimi,总体样本中心mm(2)求类间方差SWSW,类内方差SBSB,得到方程SBW=λSWWSBW=λSWW
(3)求出广义特征值、特征向量;[eigVect,eigVal]=eig(Sb,Sw);
(4)选出(c-1)个最大特征值λλ,对应的特征向量WiWi
(5)计算出投影后的各类中心,计算投影后的测试集属于哪一类
%假设有三类样本,D1、D2、D3,每一列就是一个样本 %第1步: 求样本总体均值、各类样本均值 m=mean((D1+D2+D3)/3,2); m1=mean(D1,2); m2=mean(D2,2); m3=mean(D3,2); mm=[m1,m2,m3]; %第2步,求类间散度、类间方差、类内方差 S1=zeros(6,6); S2=zeros(6,6); S3=zeros(6,6); for i=300 S1=S1+(D1(:,i)-m1)*(D1(:,i)-m1)'; S2=S2+(D2(:,i)-m2)*(D2(:,i)-m2)'; S3=S3+(D3(:,i)-m3)*(D3(:,i)-m3)'; end Sw=S1+S2+S3; Sb=300*((m1-m)*(m1-m)'+(m2-m)*(m2-m)'+(m3-m)*(m3-m)'); %第3步:求特征值、特征向量 %SbW=lambda*SwW [eigVect,eigVal]=eig(Sb,Sw); [sort_val,sort_idx]=sort(diag(eigVal),'descend'); %第4步:求最大特征向量 %样本原始维度6,降到2维, 三类数据,两条直线 W=zeros(6,2); for i=1:2 W(:,i)=eigVect(:,sort_idx(i)); end %第5步,求变换后的中心和测试样本 u1=W'*m1; u2=W'*m2; u3=W'*m3; test_data=W'*testData; train_data=W'*trainData; %第6步,求测试样本到各类中心的距离 d1=pdist2(test_data',u1'); d2=pdist2(test_data',u2'); d3=pdist2(test_data',u3'); dt1=pdist2(train_data',u1'); dt2=pdist2(train_data',u2'); dt3=pdist2(train_data',u3'); %第7步:根据哪个距离最近,即为哪一类
相关文章推荐
- 线性判别分析(LDA)算法总结
- 线性判别分析(Linear Discriminant Analysis, LDA)算法分析
- 线性判别分析(Linear Discriminant Analysis, LDA)算法初识
- 【转】线性判别分析(Linear Discriminant Analysis, LDA)算法分析
- 机器学习中的数学——主成分分析(PCA)、线性判别分析(LDA)
- 机器学习中的数学-线性判别分析(LDA), 主成分分析(PCA)
- 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
- 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
- 机器学习 —— 基础整理(四)特征提取之线性方法:主成分分析PCA、独立成分分析ICA、线性判别分析LDA
- 线性判别分析LDA原理总结
- 机器学习——特征工程之线性判别分析LDA
- 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
- 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
- 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
- 线性判别分析(Linear Discriminant Analysis, LDA)算法分析
- 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
- 从零开始实现线性判别分析(LDA)算法(二类情形)
- 线性判别分析(Linear Discriminant Analysis, LDA)算法分析
- 线性判别分析(LDA)算法
- 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)