Datawhale西瓜书学习笔记TASK4——线性判别分析

小白学习笔记,有误请指正

目录

一、线性判别分析基本定义

二、实现步骤

(1) 计算类内散度矩阵(Within-Class Scatter Matrix)

(2) 计算类间散度矩阵(Between-Class Scatter Matrix)

(3)求解最优投影矩阵

(4)选择投影方向

(5)数据投影和分类

三、参考文献


一、线性判别分析基本定义

     线性判别分析(LDA)的核心思想是通过线性变换将数据从高维空间映射到低维空间(通常是1维或2维),使得在新空间中,不同类别之间的距离尽可能大(类间距离大),而同一类别内部的散布尽可能小(类内距离小)。

     LDA通过寻找投影方向来实现数据的降维和分类:

  • 类内散度(Within-Class Scatter): 类内散度度量的是每个类别内部数据点的分散程度。LDA希望将同一类别的数据尽可能聚集在一起,因此类内散度应尽量小。即让同类样例投影点的协方差尽可能小。
  • 类间散度(Between-Class Scatter): 类间散度度量的是不同类别之间均值的距离。LDA希望使得不同类别的均值尽可能远离,因此类间散度应尽量大。

      就像书本上的概念:

二、实现步骤

(1) 计算类内散度矩阵(Within-Class Scatter Matrix)

      类内散度矩阵表示同一类别内数据点的分布情况。对于每一个类别 ,计算该类别内数据点的协方差矩阵,然后对所有类别求和,得到类内散度矩阵:

两个类别的类内散度矩阵:

      其中,μ0是类别X0的均值,μ0是类别X1的均值,xi是该类别中的样本。

多个类别的全局散度矩阵:

多个类别的类内散度矩阵: 

(2) 计算类间散度矩阵(Between-Class Scatter Matrix)

      类间散度矩阵反映了不同类别之间的分布情况。它表示的是类别均值与全体数据均值之间的差异:

      其中,μ0是类别X0的均值,μ0是类别X1的均值。

多个类别的类间散度矩阵:

(3)求解最优投影矩阵

        LDA的目标是找到一个投影方向,使得在这个方向上类间散度尽可能大,而类内散度尽可能小。为了实现这一目标,我们需要最大化类间散度与类内散度的比值,具体来说,求解以下优化问题:

       其中,w是投影向量。

      这个优化问题的解可以通过求解广义特征值问题得到:

      其中,λ 是拉格朗日乘子,w是对应的特征向量。我们通过求解这个特征值问题,得到一个或多个特征向量(投影方向),这些特征向量就是我们需要的线性判别方向。

多个类别的优化问题解决:

       其中, ,W的闭式解则是的N-1个最大广义特征值所对应的特征向量组成的矩阵。

(4)选择投影方向

     一般情况下,LDA会选择前k−1个特征向量作为投影矩阵,其中 k 是类别的数量。对于每个样本,投影到这些特征向量上,得到一个低维表示。这些特征向量是按照类间散度与类内散度的比值大小进行排序的。

(5)数据投影和分类

       一旦得到投影矩阵,我们就可以将原始数据投影到低维空间中。在低维空间中,通常使用简单的分类方法(如高斯判别分析、最近邻分类等)来进行分类。

       在投影后,样本的类别标签可以通过计算其在新空间中的位置来预测。通常,LDA通过假设各个类别的样本在低维空间中呈高斯分布,并进行贝叶斯分类。

三、参考文献

1.周志华《机器学习》

2.Releases · datawhalechina/pumpkin-book · GitHub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值