码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • (三)线性判别式分析LDA


    目录

    一、LDA

    二、LDA的推导

    1.求样本方差

    2.优化LDA

    三、PCA和LDA的区别


    一、LDA

    线性判别式分析,又称Fisher线性判别(Linear discriminant analysis)。

    如下图所示:

    左图是前面我们学到的PCA(主成分分析),PCA是一种数据压缩算法(降维),它压缩的目的是,使之在后续数据恢复中的损失最小,优化准则是最小重构误差,是无监督学习算法;右图是LDA,LDA是一个监督学习算法,它是有类别的,其次,LDA算法也是一个数据压缩算法,它压缩的目的是可以很好的将样本区分开,优化准则是让每个类之间距离更大,类内更加紧凑(即最大化类间均值,最小化类内方差)。

    二、LDA的推导

    我们来看一下LDA是怎么推导的:

    1.求样本方差

    K类样本如下图所示:

    我们假设\tilde{x}^j_i为变换后的样本,即映射到主向量上的样本。

    则\tilde{x}^j_i在主向量上的表示为:

     它们之间的关系如图所示:

     

     因为我们想要最小化类内方差,所以计算第K类的方差:

    为样本方差公式,其中\tilde{x}为变换之后的样本,\tilde{m}为变换之后的均值。

    那这个公式是怎么得来的呢?

    其中间转换公式为:(\tilde{x}-\tilde m)^2=(\tilde{x}-\tilde m)^T(\tilde{x}-\tilde m)

    然后将\tilde{x}^j_i代入\tilde{x}

    注意,x和u是列向量,u^Tx=x^Tu是一个实数,实数的转置还是实数;我们假设u是一个单位向量,则u^Tu=1,若u的长度定义为a,则在下属公式右边再乘a。。

    全部过程如下所示:

    线性判别分析LDA.m
    m 0星 超过10%的资源 1KB
    下载

    要求第K类样本的方差还要除以第K类样本的个数:

    其中\frac{\sum x^T}{N_k}=m^T(均值)

     

    2.优化LDA

    (1)最小化类内方差

    对K类样本的方差求和:

     

     最终求得,我们的目的就是使这一项尽可能的小,

    (2)最大化类间均值

    不同样本之间距离可以表示为:

     对S_{ij}求和得到:

     

     最终求得,我们的目的是使这一项尽可能的大。

    线性判别分析(LDA)
    docx 1星 超过10%的资源 327KB
    下载

    总结:

    我们的最终目的就是,最小化S_w,最大化S_b。

    我们构建下述公式,求 J 的最大值。

    其中求最大值我们应用的拉格朗日乘子。

     

    我们使得S_bS_w^{-1}u=T,则该方程变为Tu = λu,该问题就转变为特征值和特征向量的问题,从而得到 u 和 λ 。

    附手推图:

     

     

    三、PCA和LDA的区别

    PCA(主成分分析)是一种数据压缩算法(降维),它压缩的目的是,使之在后续数据恢复中的损失最小,优化准则是最小重构误差,是无监督学习算法;LDA是一个监督学习算法,它是有类别的,其次,LDA算法也是一个数据压缩算法,它压缩的目的是可以很好的将样本区分开,优化准则是让每个类之间距离更大,类内更加紧凑(即最大化类间均值,最小化类内方差)。

    主方向个数:

    有N类样本,每个样本的维数为n

    PCA最多可以找到n个主方向。

    LDA最多可以找到N-1个主方向。

  • 相关阅读:
    带你走进Cflow (一)
    C# 开发Windows Service
    Arduino驱动LM35线性温度传感器(温湿度传感器)
    “查找”学习提纲(二)——树型查找和散列查找
    系列学习 SpringCloud-Alibaba 框架之第 1 篇 —— 掌握 Nacos
    Windows安装SSH超详细教程
    创建 scrapy 爬虫
    成都榆熙电子商务有限公司:获得更多的自然流量需要商家们做些什么?
    HCNP Routing&Switching之MAC地址防漂移
    Hive存储格式之RCFile详解,RCFile的过去现在和未来
  • 原文地址:https://blog.csdn.net/m0_45447650/article/details/126323104
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号