史上最直白的LDA教程之一

LDA(线性鉴别分析)是一种用于降维和分类的有监督学习方法。本文详细介绍了LDA的原理,包括二分LDA的概念、类间散度和类内散度的计算,以及如何通过优化提升分类的区分度。最后,提供了使用Python实现LDA算法的示例代码,展示如何通过LDA将数据转换以达到良好的分类效果。

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

前言

LDA线性鉴别分析,又叫线性鉴别矢量,它是Ronald Fisher发明的,所以有时候又叫Fisher鉴别矢量,它的核化版本叫KFDA(Kernel Fisher Discriminant Analysis)。

机器学习的分类问题
,是一种有监督学习。所谓有监督,就是知道训练样本的类别。顾名思义,无监督学习就是没有样本的类别信息,比如PCA就是无监督学习,如我们前面推导过的PCA,不需要知道样本的类别。

LDA的作用是降维Dimensionality Reduction。比如说,一个大型机组,有几千个测点(特征),几十个性能指标(类别),对每个性能指标而言,只跟部分测点有关。LDA可以从几千个测点里,重建性能指标的最佳区分特征,所以它又是一种特征重建算法。

二分LDA

分类问题的基础是二分分类,我们以它描述LDA算法。

x 是一个 d 维随机变量,它表示一个样本:

x=x1x2...xd

设对 x 而言,有两类数据集,一个是 D1 ,一个是 D2 ,前者里有 n1 个样本,后者有 n2 个样本。

m¯ 表示数据集的均值,那么, D1 D2 的均值是:

m¯j=xiDjxij{ 1,2}

注意,这里的 xi 表示一个 m 维向量,是粗体符号,那么,当然 m¯j 也是一个 m 维向量。

两个 d 维样本 x1  x2 之的距离按照如下方式计算:

dis=x1x2=i=1d(x1,ix2,i)2

根据距离,定义 Djj{ 1,2} 的两个非常重要的指标,类间散度和类内散度。

类间散度,表示 D1 D2 之间的疏离程度,直观地来说, m¯1 m¯2 之间的距离越大, D1 D2 的类间散度越大:

dis
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值