线性判别分析LDA
一、降维的基础背景
- 降维的概念与必要性:在机器学习中,降维是指在限定条件下减少随机变量的个数,以提取出不相关的主变量。由于实际数据常面临多重共线性(导致模型泛化能力弱、高维空间稀疏难以找到特征等问题),且仅考虑单一变量会忽略潜在关联,因此降维势在必行 。
- 降维的目的:
- 减少特征属性的个数
- 确保特征属性之间是相互独立的
- 降维的两大方法:
- 特征选择(Feature Selection):选出有效的特征子集,去掉不相关或冗余的特征,特征的数值在选择前后不改变 。
- 特征抽取(Feature Extraction):改变原特征空间,将其映射到新的特征空间,新特征是原特征的映射 。
- 主成分分析(PCA)与 LDA 的对比:PCA 是一种无监督的降维方法;而 LDA 是一种基于分类模型进行特征属性合并的操作,是一种有监督降维方法(既可以用于二分类也可以用于多分类) 。
二、线性判别分析(LDA)的核心思想
2.1 基本概念
LDA 由 R.A. Fisher 在1936年提出,既可用于分类问题,也可用于有监督的特征降维 。
2.2 主要思想
- 训练集【特征x+标签y】:给定训练集,设法将样例投影到一条直线(或低维空间)上,使得同类样例的投影点尽可能接近,同时异类样例的投影点中心尽可能远离。
- 推理(预测)【不需要label】:在新样本分类时,将其投影到该直线上,根据投影点位置确定类别 。
三、 二分类 LDA 的数学原理推导
3.1 如何进行投影
- 可以用向量的内积
来表示特征向量 x在向量w上的投影长度; - 投影是通过一个线性模型来实现的;实现方法为:将样本的特征向量 x投影到线性模型的权值向量 w上。
3.2 解决二分类问题
- 公式
- 优化目标量化:
- 类间散度矩阵(异类尽可能远):通过比较两个类别均值投影点之间的距离来量化,表达式为
- 类内散度矩阵(同类尽可能近):通过同类样本投影点与其均值投影点之间的距离平方和来量化,即
。仅仅使得类中心相距远是不够的,如果同类样本方差过大(分布分散),依然会产生类别重叠 。
- 类间散度矩阵(异类尽可能远):通过比较两个类别均值投影点之间的距离来量化,表达式为
- 目标函数(广义瑞利商):综合上述两点,最大化目标函数J,即类间散度矩阵(S_b)与类内散度矩阵(S_w)的比值:
- 求解方法:根据广义瑞利商的性质,J(w) 的最大值即为矩阵
的最大特征值,而最优的投影方向 w$就是该最大特征值对应的特征向量 。
- 具体流程
四、多分类 LDA 与算法流程
- 多分类扩展:对于K类问题,可以计算全局散度矩阵
。其中,总类内散度矩阵
是每一类散度矩阵之和 ,类间散度矩阵
。 - 降维维度的限制:在多分类 LDA 中,最多只能将特征维度降到 K-1$维(K$为类别总数),因为矩阵
的非零特征值最多只有 K-1 个 。 - LDA 算法与二分类具体步骤一样
五、应用实例与总结
5.1实例分析
实验结果:求出来两个特征值0,12.2007(图一是用了0,图二是用了12.2007)
结果证明,使用最大特征值(12.2007)对应的特征向量进行投影,能够实现两个类别的良好分离(Good separability) 。
5.2总结
LDA 降维的目标就是将带标签的数据投影到低维空间,同时尽可能保留数据样本信息、寻找最佳可分投影方向,并严格满足“同类近、异类远”的条件 。
LDA降维的目标:将带有标签的数据降维,投影到低维空间同时满足三个条件:
- 尽可能多地保留数据样本的信息(选择最大的特征对应的特征向量)。
- 寻找使样本尽可能好分的最佳投影方向。
- 投影后使得同类样本尽可能近,不同类样本尽可能远。
