【机器学习】机器学习之线性判别分析(LDA)

线性判别分析(LDA)是一种监督学习的降维技术,旨在最大化类别间方差和最小化类别内方差。本文详细介绍了LDA的基本思想、瑞利商和广义瑞利商、二分类和多分类LDA的原理,以及LDA算法的流程。同时,对比了LDA与PCA的区别,并提供了LDA在Python中的实现,包括对鸢尾花和月亮数据集的应用。
摘要由CSDN通过智能技术生成

目录

  • 一、LDA原理
    • 1.LDA的基本思想
    • 2.瑞利商和广义瑞利商
    • 3.二分类LDA原理
    • 4.多分类LDA原理
    • 5.LDA算法流程
    • 6.小结
  • 二、线性分类算法
  • 三、算法代码实现
    • 1.python编程实现
    • 2.对月亮数据集进行SVM分类
  • 四、参考文献

一、LDA原理

1.LDA的基本思想

LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。这点和PCA不同。PCA是不考虑样本类别输出的无监督降维技术。LDA的思想可以用一句话概括,就是“投影后类内方差最小,类间方差最大”。什么意思呢? 我们要将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大。
假设我们有两类数据 分别为红色和蓝色,如下图所示,这些数据特征是二维的,我们希望将这些数据投影到一维的一条直线,让每一种类别数据的投影点尽可能的接近,而红色和蓝色数据中心之间的距离尽可能的大。
在这里插入图片描述

上图中国提供了两种投影方式,哪一种能更好的满足我们的标准呢?从直观上可以看出,右图要比左图的投影效果好,因为右图的黑色数据和蓝色数据各个较为集中,且类别之间的距离明显。左图则在边界处数据混杂。以上就是LDA的主要思想了,当然在实际应用中,我们的数据是多个类别的,我们的原始数据一般也是超过二维的,投影后的也一般不是直线,而是一个低维的超平面。

2.瑞利商和广义瑞利商

瑞利商是指这样的函数 R ( A , x ) R(A,x) R(A,x): R ( A , x ) = x H A x x H x (1) R(A,x)=\frac{xHAx}{xHx} \tag{1} R(A,x)=xHxxHAx​(1)其中 x x x为非零向量, A A A为 n × n n\times n n×n的Hermitan矩阵(复共轭对称矩阵,即共轭转置矩阵和自己相等,记为 A H = A A^H=A AH=A),这里我们只讨论实数的情况,所以 A T = A A^T=A AT=A。瑞利商还有一个很重要的性质: λ m i n ≤ R ( A , x ) ≤ λ m a x (2) \lambda_{min}\le R(A,x) \le \lambda_{max}\tag{2} λmin​≤R(A,x)≤λmax​(2)其中 λ m i n , λ m a x \lambda_{min},\lambda_{max} λmin​,λmax​是矩阵 A A A的最小和最大特征值。  当 x x x是标准正交基时,即 x T x = 1 x^Tx=1 xTx=1时,瑞利商退化为 R ( A , x ) = x T A x R(A,x)=x^TAx R(A,x)=xTAx,这个形式在谱聚类和PCA中都有出现,比如PCA中是 W T X X T W WTXXTW WTXXTW的形式(所以说瑞利商和样本投影方差有关?)。  现在再来看看广义瑞利商的概念: R ( A , B , x ) = x H A x x H B x (3) R(A,B,x)=\frac{xHAx}{xHBx} \tag{3} R(A,B,x)=xHBxxHAx​(3)其中 x x x为非零向量, A , B A,B A,B为 n × n n\times n n×n的Hermitan矩阵。通过标准化,可以将广义瑞利商转化为瑞利商的形式。令 x = B − 1 2 x ′ x=B^{-\frac{1}{2}}x' x=B−21​x′,则(2)变为:KaTeX parse error: No such environment: align* at position 7: \begin{̲a̲l̲i̲g̲n̲*̲}̲R(A,B,x')&=\fra…根据式(2),我们可以知道, R ( A , B , x ′ ) R(A,B,x') R(A,B,x′)的最大值为矩阵 B − 1 A B^{-1}A B−1A的最大特征值,最小值为 B − 1 A B^{-1}A B−1A的最小特征值。

3.二分类LDA原理

LDA的思想是设法将样本投影到一条直线上,使得:

  • 同类样本的投影点尽可能近
  • 异类样本的投影点尽可能远

首先从比较简单的二类LDA入手,分析LDA原理。

在这里插入图片描述
现在我们回到LDA的原理上,我们在第一节说讲到了LDA希望投影后希望同一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大,但是这只是一个感官的度量。现在我们首先从比较简单的二类LDA入手,严谨的分析LDA的原理。
假设我们的数据集D={(x1,y1),(x2,y2),…,((xm,ym))},其中任意样本xi为n维向量,yi∈{0,1}。我们定义Nj(j=0,1)为第j类样本的个数,Xj(j=0,1)为第j类样本的集合,而μj(j=0,1)为第j类样本的均值向量,定义Σj(j=0,1)为第j类样本的协方差矩阵(严格说是缺少分母部分的协方差矩阵)。
μj的表达式为:

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值