LDA线性判别分析的原理推导与Python实现

LDA(Linear Discriminant Analysis)是一种有监督的分类算法,他常常被用来做数据与处理中的降维或者分类任务

目的
LDA的目标是找出能够最大化类间区分度的坐标轴成分将特征空间(数据集中的多维样本)投影到一个维度更小的k维子空间中,同时保持区分类别的信息

原理
将原始数据投影到维度更低的空间中,使得投影后的点会形成按照类别区分,一簇一簇的情况,相同类别的店,将会在投影后的空间中更接近

与PCA区别
首先LDA是有监督的,此外,最大的区别是LDA计算的是另一类特定的方向,更关心分类而不是方差

目标函数的导出
LDA的目标是找出 y = w T x y=w^{T} x y=wTx 中的 w w w,即投影方向

LDA分类器的一个目标是使得不同类别之间的距离越远越好,同一类别之中的距离越近越好,所以需要计算类内和类间的距离

每一类样本的均值为 μ i = 1 N i ∑ x ∈ ω i x \mu_{i}=\frac{1}{N_{i}} \sum_{x \in \omega_{i}} x μi=Ni1xωix
投影后,每一类样本均值变为 μ ~ i = 1 N i ∑ y ∈ ω i y = 1 N i ∑ x ∈ ω i w T x = w T μ i \tilde{\mu}_{\mathrm{i}}=\frac{1}{N_{i}} \sum_{y \in \omega_{i}} y=\frac{1}{N_{i}} \sum_{x \in \omega_{i}} w^{T} x=w^{T} \mu_{i} μ~i=Ni1yωiy=Ni1xωiwTx=wTμi要使得投影后的两类样本中心点尽量分离,设定 J ( w ) = ∣ μ 1 ~ − μ 2 ~ ∣ = ∣ w T ( μ 1 − μ 2 ) ∣ \mathrm{J}(\mathrm{w})=|\widetilde{\mu_{1}}-\widetilde{\mu_{2}}|=\left|w^{T}\left(\mu_{1}-\mu_{2}\right)\right| J(w)=μ1 μ2 =wT(μ1μ2)但是只让 J ( w ) \mathrm{J}(\mathrm{w}) J(w)最大只可以达到类间距离尽可能大,无法实现类内距离尽可能小,所以定义 s ~ i 2 = ∑ y ∈ ω i ( y − μ ~ i ) 2 \tilde{s}_{i}^{2}=\sum_{y \in \omega_{i}}\left(y-\tilde{\mu}_{i}\right)^{2} s~i2=y<

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值