R机器学习:分类算法之判别分析LDA,QDA的原理与实现

本文介绍线性判别分析(LDA)和二次判别分析(QDA),这两种方法用于数据降维和分类。文中详细解释了判别分析的原理,并通过实际案例展示了如何使用这些技术进行预测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

判别分析的框框很大,今天给大家写写线性判别和二次判别,这两个是判别分析中最常见也是最基本的,希望能够给大家写明白。

首先给出判别分析的定义:

Linear discriminant analysis (LDA) is a method used in statistics and other fields, to find a linear combination of features that characterizes or separates two or more classes of objects. The resulting combination may be used as a linear classifier, or, more commonly, for dimensionality reduction before later classification.

从上面的定义可以知道判别分析有两个作用,一个是降维dimensionality reduction,另一个是分类classifier。就是说这个方法可以将多维数据投射到低维平面,并且还能使得我们的数据类别非常好区分。

降维得到的,或者你可以简单的理解为降维过后的数据维度就叫做判别函数,就如下图一样,经过判别分析本来有很多特征的原始数据就只剩下几个判别函数了。

 

维数灾难curse of dimensionality

有同学要好奇了,我为什么要降维呢?

首先数据维度过高(预测变量过多)存在的首要问题就是很多维度并不能给模型提供有用的信息,甚至会干扰模型表现,当维数增加,数据会变得稀疏,就是同一个数据,维度越高个案之间的距离会越远,就像下图中示意的一样:

for the same number of cases in a dataset, if you increase the feature space, the cases get further apart from each other, and there is more empty space between them

 

你可以看到数据随着维度变高变得越来越稀疏,不利于特征工程,也更容易造成过拟合。

判别分析的原理

想象一下,我现在有2个变量,我想通过这两个变量将我的样本分为2类,那么LDA要做的就是找到数据的新的表示方法,也就是将数据降维(通过投影实现),降维后找到一条可以最好地分割两个类别的线(判别函数)。

那么我们的思路是先确定每个类别的中点,然后让下面这个式子的取值最大

也就是说,我们希望两个类别均值的差异越大越好,希望两个类别的组内变异越小越好。

 

就像下面这个图显示的一样,我们把黑绿两个类别都投影到图中的斜线上,就形成了图的右边部分,这个时候上面式子的值是最大的,

 

那么有的同学会问,投影过后我只让两个类别中点距离最大行不行呢?

看下图,图中左边的投影线保证了两个类别的中点的距离最大,但是这条投影线并不如右图的判别效果好。所以LDA的追求一定是要两个类别均值的差异越大越好,希望两个类别的组内变异越小越好。

 

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

公众号Codewar原创作者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值