一.PCA
1.理论基础(1)
在信号处理中认为信号具有较大的方差,噪声有较小的方差,信噪比就是信号与噪声的方差比,
越大越好。因此我们认为,最好的k维特征是将n维样本点转换为k维后,每一维上的样本方差都很大。
结论:对协方差矩阵进行特征值分解,得到的前k大特征值对应的特征向量就是最佳的k维新特征,而且这k维新 特征是正交的
2.理论基础(2)
最小平方误差理论:参见:http://www.cnblogs.com/jerrylead/archive/2011/04/18/2020216.html
3.PCA流程
第一步:对上述二维数据分别求x和y的平均值,然后对于所有的样例,都减去对应的均值。这里x的均值是1.81,y的均值是1.91,那么第一个样例减去均值后即为(0.69,0.49)
第二步,求特征协方差矩阵
第三步,求协方差的特征值和特征向量
第四步,将特征值按照从大到小的顺序排序,选择其中最大的k个,然后将其对应的k个特征向量分别作为列向量组成特征向量矩阵
第五步,将样本点投影到选取的特征向量上。假设样例数为m,特征数为n,
减去均值后的样本矩阵为DataAdjust(m*n),协方差矩阵是n*n,选取的k个特征向量组成的矩阵为EigenVectors(n*k)。那么投影后的数据FinalData为
FinalData(m*k) = DataAdjust(m*n) * EigenVectors(n*k)
二.LDA
PCA ---无监督学习,数据没标号;LDA---监督学习,数据有标号
问题:给定特征为d维的N个样例{x1,x2,x3....xn},其中有n1个属于w1类,n2个属于w2类,寻找一直线,使得样例在该直线的投影后,能比较容易分类.
y = wT * x (T表示w的转置)
每类样例的均值(中心点)
由x到w投影后的样本点均值为
能够使投影后的两类样本中心点尽量分离的直线是好的直线,其中J(w)越大越好
仅仅使得J(W)大还不够,对投影后的类求散度值,
其几何意义是样本点的密集程度,值越大,越分散,反之,越集中。不同类别的样本点越分开越好,同类的越聚集越好,也就是均值差越大越好,散度值越小越好。
对散度值展开
散度矩阵(scatter matrices)
类内散度矩阵(Within-class scatter matrix)
类间散度
目标函数是求使得类间散度与类内散度的比值最大的投影空间
当Sw非奇异时
求投影向量
假设有C个类别,需要K维向量(或者叫做基向量)来做投影。即求线性投影子空间 W = [w1|w2|...wk]
整体求解流程:
投影子空间W为
PCA选择样本点投影具有最大方差的方向,LDA选择分类性能最好的方向
LDA的限制
1、 LDA至多可生成C-1维子空间
LDA降维后的维度区间在[1,C-1],与原始特征数n无关,对于二值分类,最多投影到1维。
2、 LDA不适合对非高斯分布样本进行降维。
3、 LDA在样本分类信息依赖方差而不是均值时,效果不好。
样本点依靠方差信息进行分类,而不是均值信息。LDA不能够进行有效分类,因为LDA过度依靠均值信息。
4、 LDA可能过度拟合数据。
example: