当前位置: 首页 > news >正文

线性判别分析LDA

一、降维的基础背景

  • 降维的概念与必要性:在机器学习中,降维是指在限定条件下减少随机变量的个数,以提取出不相关的主变量。由于实际数据常面临多重共线性(导致模型泛化能力弱、高维空间稀疏难以找到特征等问题),且仅考虑单一变量会忽略潜在关联,因此降维势在必行 。
  • 降维的目的:
    • 减少特征属性的个数
    • 确保特征属性之间是相互独立的
  • 降维的两大方法
    • 特征选择(Feature Selection):选出有效的特征子集,去掉不相关或冗余的特征,特征的数值在选择前后不改变 。

    • 特征抽取(Feature Extraction)改变原特征空间,将其映射到新的特征空间,新特征是原特征的映射 。

  • 主成分分析(PCA)与 LDA 的对比:PCA 是一种无监督的降维方法;而 LDA 是一种基于分类模型进行特征属性合并的操作,是一种有监督降维方法(既可以用于二分类也可以用于多分类) 。

二、线性判别分析(LDA)的核心思想

2.1 基本概念

LDA 由 R.A. Fisher 在1936年提出,既可用于分类问题,也可用于有监督的特征降维 。

2.2 主要思想

  1. 训练集【特征x+标签y】:给定训练集,设法将样例投影到一条直线(或低维空间)上,使得同类样例的投影点尽可能接近,同时异类样例的投影点中心尽可能远离
  2. 推理(预测)【不需要label】:在新样本分类时,将其投影到该直线上,根据投影点位置确定类别 。

三、 二分类 LDA 的数学原理推导

3.1 如何进行投影

  1. 可以用向量的内积

    来表示特征向量 x在向量w上的投影长度;
  2. 投影是通过一个线性模型来实现的;实现方法为:将样本的特征向量 x投影到线性模型的权值向量 w上。

3.2 解决二分类问题

  1. 公式
  • 优化目标量化
    • 类间散度矩阵(异类尽可能远):通过比较两个类别均值投影点之间的距离来量化,表达式为

    • 类内散度矩阵(同类尽可能近):通过同类样本投影点与其均值投影点之间的距离平方和来量化,即

      。仅仅使得类中心相距远是不够的,如果同类样本方差过大(分布分散),依然会产生类别重叠 。
  • 目标函数(广义瑞利商):综合上述两点,最大化目标函数J,即类间散度矩阵(S_b)与类内散度矩阵(S_w)的比值:

  • 求解方法:根据广义瑞利商的性质,J(w) 的最大值即为矩阵

    的最大特征值,而最优的投影方向 w$就是该最大特征值对应的特征向量 。
  1. 具体流程

四、多分类 LDA 与算法流程

  • 多分类扩展:对于K类问题,可以计算全局散度矩阵

    。其中,总类内散度矩阵

    是每一类散度矩阵之和 ,类间散度矩阵

  • 降维维度的限制:在多分类 LDA 中,最多只能将特征维度降到 K-1$维(K$为类别总数),因为矩阵

    的非零特征值最多只有 K-1 个 。
  • LDA 算法与二分类具体步骤一样

五、应用实例与总结

5.1实例分析

实验结果:求出来两个特征值0,12.2007(图一是用了0,图二是用了12.2007)

结果证明,使用最大特征值(12.2007)对应的特征向量进行投影,能够实现两个类别的良好分离(Good separability) 。

5.2总结

LDA 降维的目标就是将带标签的数据投影到低维空间,同时尽可能保留数据样本信息、寻找最佳可分投影方向,并严格满足“同类近、异类远”的条件 。

LDA降维的目标:将带有标签的数据降维,投影到低维空间同时满足三个条件:

  • 尽可能多地保留数据样本的信息(选择最大的特征对应的特征向量)。
  • 寻找使样本尽可能好分的最佳投影方向。
  • 投影后使得同类样本尽可能近,不同类样本尽可能远。
http://www.cnnetsun.cn/news/2036477.html

相关文章:

  • 保姆级教程:用Image2Lcd和PCtoLCD2002给STM32的OLED屏显示自定义图片(附完整代码)
  • STC8单片机驱动ESP-01S联网实战:从AT指令到GET请求获取苏宁时间(附完整源码)
  • MLOps资源管理优化:从GPU虚拟化到智能调度
  • 手把手教你用LabVIEW驱动Zebra GX420d串口打印机(附完整源码与模板文件)
  • AI与IoT融合:智能边缘计算的应用与挑战
  • 告别链接错误:手把手教你为GCC工具链配置LTO插件(以Nuclei RISC-V GCC 9.2.0为例)
  • 多任务级联CNN:MTCNN人脸检测与关键点对齐全解析
  • PyTorch 2.8镜像惊艳案例:SVD视频生成中运动一致性与画质细节实测
  • 裸金属服务器部署RKE2 Kubernetes集群构建MLOps平台实战
  • 5块钱的2N3819 JFET到手实测:从真假辨别到搭建简易非接触验电笔
  • 初始化联合(union)
  • 030、开源与闭源模型微调生态对比:选择最适合的基座模型
  • Unity 2021.3.8f1 WebGL打包发布到Nginx服务器的完整避坑指南(含Brotli/Gzip配置)
  • 计算机毕业设计:Python股票智能分析与LSTM股价预测平台 Flask框架 LSTM Keras 数据分析 可视化 深度学习 大数据 爬虫(建议收藏)✅
  • 汽车诊断开发避坑指南:ISO14229协议中那些容易忽略的NRC响应规则(附实战代码片段)
  • Less如何优化CSS文件大小_利用压缩配置去除冗余样式
  • 海上目标检测数据集2051张VOC+YOLO
  • 用Python和OpenFAST模拟漂浮式风机:从JONSWAP波浪谱到Morison方程实战
  • 如何解锁8大网盘全速下载:3分钟掌握网盘直链下载助手的完整指南
  • RadiantViewer64bit试用期重置技巧:30天后如何继续免费使用(附详细步骤)
  • 如何快速上手OpenMV IDE:从零开始构建机器视觉项目
  • 从 0 到 1 构建供应链 AI Agent Harness Engineering:需求预测、库存优化与物流调度实战
  • 在Ubuntu 16.04上为全志A40i定制Android 7.1系统镜像:一次完整的构建环境搭建与编译之旅
  • EdgeRemover:彻底告别Windows系统中顽固的Microsoft Edge浏览器
  • 从System.Numerics.Tensors到Microsoft.ML.OnnxRuntime.Managed——.NET原生AI栈的5层性能断层分析(含各层CPU/GPU/内存瓶颈对照表)
  • 告别脚本!Win11 22H2新版WSL2静态IP配置全攻略(含DNS避坑)
  • 【限时技术快照】.NET 11.0.1 RTM补丁发布前最后验证:AI推理Pipeline在Windows/Linux/macOS M3三平台统一加速配置(含完整benchmark对比表)
  • Docker+CANoe+ROS2车载调试闭环构建,深度解析ISO 26262认证环境下的容器安全隔离方案
  • 统一内存编程与OpenACC在HPC中的高效应用
  • GPT-SoVITS语音克隆终极指南:5分钟打造专属AI语音助手