机器学习判别分析算法——线性判别分析和二次判别分析基本原理(1)

判别分析算法最早由Fisher在1936年提出,是一种经典而常用的机器学习方法,本质上也是一种线性算法,常用来做特征提取、数据降维和任务分类,可用于二分类或多分类问题,在人脸识别或检测等领域发挥了重要作用。根据每一种分类的协方差矩阵是否相同,判别分析算法可以分为线性判别分析(Linear Discriminant Analysis, LDA)和二次判别分析(Quadratic Discriminant Analysis,QDA)​,其中线性判别分析假定每一种分类的协方差矩阵相同,而在样本集数据量较大或者观测类别较多时,等协方差矩阵的假设会被拒绝,就需要用到二次判别分析。

讲解两种判别分析算法的基本原理(第一篇),第二篇和第三篇是结合具体实例分别讲解算法线性判别分析(Linear Discriminant Analysis, LDA)和二次判别分析(Quadratic Discriminant Analysis,QDA)

1 线性判别分析的基本原理

线性判别分析算法使用贝叶斯规则来确定示例属于哪一类的后验概率,该算法假设每个类别中的观测值均来自多元正态分布,并且预测变量的协方差在响应变量Y的所有k个水平上都是相同的,或者说假定不同分组样本的协方差矩阵近似相等

线性判别分析算法的基本思想是“类间大、类内小”​,实现过程是:首先将样本全集分为训练样本和测试样本,针对训练样本,设法找到一条直线,将所有样本投影到这条直线上,使得相同分类的样本在该直线上的投影尽可能落在一起,而不同分类的样本在该直线上的投影尽可能远离,一言以蔽之就是使得同类之间的差异性尽可能小,不同类之间的差异性尽可能大;然后针对测试样本,将它投影到已经找到的直线上,根据具体投影点的落地位置来判定样本的类别。

作为一种有监督的机器学习方法,线性判别分析在分类方面具有独特的优势,相对于主成分分析(Principle Component Analysis, PCA)算法(将在后面详细介绍)这种非监督式学习方法,线性判别分析充分利用了数据内部的原始分类信息。主成分分析算法通过寻找k个向量,将数据投影到这k个向量展开的线性子空间上,是在最大化两类投影中心距离准则下得到的分类结果,如图7.1所示,该算法将数据整体映射到了最方便表示这组数据的坐标轴上,或者说实现了投影误差最小化。但是由于主成分分析算法将整组数据进行映射时没有利用数据原始分类信息,因此分类效果并不理想。

主成分分析算法投影方式:

线性判别分析算法投影方式:

两组输入映射到了另一个坐标轴上,可以看出这是一种样本区分性更高的投影方式,虽然增加了分类信息之后两类中心之间的距离在投影之后有所减小,但投影后的样本点在每一类中分布得更为集中了,或者说每类内部的方差比图主成分分析算法投影方式中的更小,从而两类样本的可区分度提高了。

2 线性判别分析的算法过程

从算法的角度来看,线性判别分析的实现过程如下:

(1)分别计算每一类的均值向量,均值向量之间的差异用来衡量类间距离。

假定样本全集中共有两类,则有:

(2)分别计算每一类的协方差矩阵,协方差之和用来衡量类内距离。

(3)基于前两步的结果写出代价函数。

代价函数中的分子是两个类别均值向量大小之差的平方,分子的值越大,代表类间差异性越大;函数中的分母为两个类别样本点的协方差之和,分母的值越大,代表类内差异越大。

(4)求解权重系数w使得代价函数最优化。

代价函数是关于权重w的函数,所谓“类间大、类内小”的目标就是要求出使代价函数最大时的权重w,或者说满足以下公式:

(5)根据权重系数判断新样本分类。

前面提到,类间距离用均值向量之间的差异来衡量,所以针对新样本或者测试样本,新样本点距离哪一个类别的均值向量更近,新样本就被预测分配到哪个类别,数学形式如下:

3 二次判别分析的基本原理

二次判别分析是与线性判别分析类似的另外一种线性判别分析算法,二者区别在于:线性判别分析假设每一种分类的协方差矩阵相同,类别之间的判别边界是条直线;而二次判别分析假设每一种分类的协方差矩阵不同,类别之间的判别边界不是直线。所以,与LDA相比,QDA通常更加灵活。

从方差-偏差的角度来看,二次判别分析和线性判别分析也是一种典型的方差-偏差取舍选择:LDA因为假设每一种分类的协方差矩阵相同,所以相对方差更低;而QDA因为假设每一种分类的协方差矩阵不同,所以方差会更高,但由于它更加灵活,因此相对偏差更低。

从应用场景来看,如果样本全集容量比较小,对协方差矩阵很难估计准确时,采取LDA方法相对更合适;而如果样本全集容量比较大,或者合理预期类间协方差矩阵差异比较大时,则采取QDA方法相对更合适。

二次判别分析的数学形式如下:

其中二次判别函数为

二次判别算法的基本原理是:针对某样本,其最优决策规则为,通过判别函数的计算使得将样本分类到类别k时,其二次判别函数能够取得最大值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值