@gump88
2016-08-13T20:52:48.000000Z
字数 2304
阅读 4476
title: 机器学习笔记(六)两种降维方法:LDA和PCA
date: 2015-08-09 10:18:55
MachineLearning
LDA是一种线性分类算法,思想非常简单,它是将训练集中的点映射到一条直线上,使得相同类别中的点尽可能靠在一起,属于不同类别的点尽可能离得比较远。我们的目标就是找到一条直线,尽可能满足上面的要求。下面的分析都是二分类情况。
设数据集,投影向量为,则点经过投影后为,投影前的样本中心点为,投影后的中心店为。
我们希望投影后不同类别的样本尽量离得较远:使用度量值
我们同时希望投影后相同类别的样本之间尽量离得较近:使用度量值
所以总的优化目标函数为:
定义类内散度矩阵为:
定义类间散度矩阵:
分子:
分母:
所以,因为向量w的长度成比例改变不影响J的取值,所以我们令,那么原优化目标就变为
设数据集是的数据集,N是数据集中样本个数,M是每个样本的特征维数。主成分分析的目标就是将特征的维数从M降到K,。
很容易就可以看出来,通过上述步骤的变换,数据样本从M维降到了K维。
这里的最大化方差指的是每一维特征上的样本方差很大。因为只有特征对应的方差很大,这样的特征才是具有很好的区分性的,设想一下,假如在某一维的特征上,所有样本取值都是相同的,显然该特征对应的方差为0,那么这个特征就是无用的,因为它无法对样本做出任何区分。
首先我们对数据进行中心化处理(),中心化处理后的数据集均值为0,对应的投影集合的均值也为0。设直线的方向向量为,并且是单位向量。那么投影点就是,我们的目标就是将投影点的方差最大化(下面公式中的数据都是已经中心化,并且特征方差已经归一化的)。投影点的方差形式化表达为: