西瓜书学习——线性判别分析

文章目录

  • 定义
  • LDA的具体步骤
    • 1. 计算类内散布矩阵(Within-Class Scatter Matrix)
    • 2. 计算类间散布矩阵(Between-Class Scatter Matrix)
    • 3. 求解最佳投影向量
    • 4. 数据投影
    • 5. 分类

定义

线性判别分析(Linear Discriminant Analysis,简称LDA)是一种常用的监督学习降维技术,主要应用于模式识别和机器学习领域。LDA的核心思想是将高维的数据投影到低维空间,使得投影后的数据在同一类内部尽可能紧凑,不同类之间尽可能分离,从而达到分类的目的。

在这里插入图片描述

LDA的具体步骤

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

首先,对于每个类别,我们需要计算其均值和协方差矩阵。假设我们有 K K K 个类别,对于第 k k k 类,其均值向量表示为 μ k \mu_k μk,协方差矩阵表示为 Σ k \Sigma_k Σk。类内散布矩阵 S w S_w Sw可以通过以下公式计算:
S w = ∑ k = 1 K ∑ x ∈ X k ( x − μ k ) ( x − μ k ) T S_w = \sum_{k=1}^{K} \sum_{x \in X_k} (x - \mu_k)(x - \mu_k)^T Sw=k=1KxXk(xμk)(xμk)T

其中, X k X_k Xk 表示属于第 k k k 类的所有样本。类内散布矩阵反映了同类数据内部的离散程度。

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

类间散布矩阵 S b S_b Sb 可以通过以下公式计算:

S b = ∑ k = 1 K N k ( μ k − μ ) ( μ k − μ ) T S_b = \sum_{k=1}^{K} N_k (\mu_k - \mu)(\mu_k - \mu)^T Sb=k=1KNk(μkμ)(μkμ)T

其中, N k N_k Nk 是第kk类的样本数量, μ \mu μ 是所有样本的总体均值。类间散布矩阵反映了不同类别数据之间的离散程度。

3. 求解最佳投影向量

LDA 的目标是找到一个投影向量 w w w,使得数据在该向量上的投影能够最大化类间散布与类内散布的比值。这个投影向量可以通过求解下面的最优化问题得到:
max ⁡ w w T S b w w T S w w \max_w \frac{w^T S_b w}{w^T S_w w} wmaxwTSwwwTSbw
这个最优化问题等价于求解 S w − 1 S b S_w^{-1} S_b Sw1Sb 的最大特征值对应的特征向量。因此,我们可以通过计算特征值和特征向量来找到最佳的投影向量 w w w

4. 数据投影

找到最佳投影向量 w w w 后,我们可以将原始数据 x x x 投影到一维空间,得到其在 w w w 方向上的投影:
y = w T x y = w^Tx y=wTx

如果需要进一步降维到多维空间,我们可以找到多个最佳的投影向量,构成一个投影矩阵 W W W,然后通过 y = W T y = W^T y=WT 将数据投影到多维空间。

5. 分类

在降维后的空间中,我们可以使用简单的分类器(如最近邻分类器)进行分类。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/576863.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安装svn网络有问题怎么办?

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

【C++进阶之路】C++11(下) —— 线程库

序言 本篇文章主要是填之前C11留下的坑以及了解与熟悉线程库,有读者感兴趣之前的内容的话可见「C进阶之路」专栏中标题为「C11」的内容,废话不多说,先来概括一下本文的内容,首先我们会从历史的角度分别谈及Linux以及Windows下的线…

JetBrains GoLand v2024.1 激活版 (Go语言集成开发IDE)

前言 JetBrains GoLand是一款专门为Go语言开发人员构建的跨平台的集成开发环境。动态错误检测和修复建议、快速安全重构、智能代码完成、无效代码检测和文档提示可以帮助新手和有经验的Go开发人员高效地创建可靠的代码。GoLand还支持JavaScript,TypeScript&#xf…

AIX7环境上一次艰难的Oracle打补丁经历

系统环境 AIX :7200-05-03-2148 Oracle:11.2.0.4 PSU: 11.2.0.4.201020(31718723) perl:5.28 问题一:AUTO patch #/u01/app/11.2.0/grid/OPatch/opatch auto /tmp/31718723 错误信息如下:匹配mos 2516761.1…

K8s: 公有镜像中心和私有镜像中心的搭建

公有镜像中心的搭建和使用 1 )在 官方docker镜像中心推送 在 hub.docker.com 上注册账号 (国内一般访问不了,原因不多说) 找到 Create Repository 按钮就行仓库的创建 这样就在官方创建了一个仓库,比如地址为: xx/y-y xx 是我的账户名y-y 是…

MATLAB - 机器人动力学 - 质心(Center of Mass)

系列文章目录 前言 一、用法 com centerOfMass(robot) com centerOfMass(robot,configuration) [com,comJac] centerOfMass(robot,configuration) 二、说明 com centerOfMass(robot) 计算机器人模型在原点构型处相对于基础坐标系的质心位置。com centerOfMass(robot,conf…

TCP关闭连接时的一些思考

TCP协议是TCP/IP栈中最复杂的协议,它最大的优点是传输的可靠性,这通过面向连接、按序传输、超时重传、流量控制等机制保证其传输的可靠性。但这并不是我们今天要讨论的重点! TCP通信的过程分别是三个阶段:建立连接、传输数据、关…

VMware ESXi虚拟机备份的方法和步骤

关于虚拟机备份 VMware ESXi 是 VMware vSphere 企业虚拟化套件的核心组件。在版本4.1之前,它一直被称为ESX。ESXi是一种裸机管理程序,直接安装在物理服务器上,它提供对底层资源的直接访问和控制,允许您在单个物理主机上创建和运…

私有化部署 Llama3 大模型, 支持 API 访问

私有化部署 Llama3 大模型, 支持 API 访问 视频 https://www.bilibili.com/video/BV1wD421n75p/ 前言 原文 https://ducafecat.com/blog/llama3-model-api-local 通过 ollama 本地运行 Llama3 大模型其实对我们开发来说很有意义,你可以私有化放服务上了。 然后通…

练习题(2024/4/26)

1所有可能的路径 给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序) graph[i] 是一个从节点 i 可以访问的所有节点的列表(即从节点 i 到节点 graph…

科普童话新课堂杂志社科普童话新课堂编辑部2024年第16期目录

作品选 封2,封3-封4 探索新知《科普童话》投稿:cn7kantougao163.com 泱泱国之风 悠悠诗之情 沈灿宇1-3 试论"文化意识"视角下的高中英语阅读教学 董娜4-6 立足小组合作探究优化写作能力培养 时同祥7-9 以"导"促学:全面提升学生的文学核心素养 吴…

[网络安全] apt攻击是什么?

什么是APT攻击:APT攻击的主要特征包括:APT攻击的防御措施:零基础入门学习路线视频配套资料&国内外网安书籍、文档网络安全面试题 什么是APT攻击: APT(Advanced Persistent Threat,高级持续性威胁&…

软件过程与项目管理期末复习

文章目录 1. 课程导论1) 什么是项目?具有什么特征?2) 项目管理的4阶段5过程的具体内容是什么?3) 项目管理的10大知识域是哪些?其中4个是核心知识域?4个核心知识域之间是什么关系?4) 什么是质量管理三角形&a…

汇舟问卷:做国外问卷调查需要准备些什么

大家好,我是汇舟问卷。海外问卷调查在这两年一直是个热门的项目,做这个项目所需要投入的成本是多少?如果我们要做这个项目需要准备什么以及要花多少钱?今天我来为大家讲解一下: 首先准备一台电脑 (内存建议16G,处理器…

C语言进阶:进阶指针(下)

一、 函数指针数组 我们都知道 数组是一个存放相同类型数据的存储空间 那我们已经学习了指针数组 那么函数有没有对应的指针数组呢? 如果有那应该怎么定义呢? 1. 函数指针数组的定义 我们说 函数指针数组的定义 应该遵循以下格式 int (*p[10])(); 首…

UniAD:以规划为导向的端到端自动驾驶

文章链接 这个文章是CVPR2023 Best Paper https://arxiv.org/pdf/2212.10156 提出背景 以往的自动驾驶多数是为不同的任务场景设计部署单独的模型,这样子组成的系统会很复杂如图a。 图b这是多任务共享一个主干,但还是要分离训练,而且不是…

03_Scala变量和数据类型

文章目录 [toc] **变量和数据类型****1.注释****2.变量和常量****3. 标识符的命名规范****4.scala的字符串****5.键盘输入****5.1 StdIn.readLine()****5.2 从文件中读取数据****5.3 Scala向外写数据** 变量和数据类型 1.注释 和Java完全一样 ** ** 2.变量和常量 var name…

外包干了4个月,技术退步明显

先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近6年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能…

攻防世界 easyphp

本题主要利用的知识点是php绕过 一、PHP代码分析 首先先看一下代码 我们需要利用get方式上传3个参数a,b,c,这3个分别需要满足不同的条件: a:设置a值;值大于6000000;长度不超过3; b:设置b值;MD…

《QT实用小工具·三十五》基于PathView,Qt/QML做的一个可以无限滚动的日历控件

1、概述 源码放在文章末尾 改项目实现了基于PathView,Qt/QML做的一个可以无限滚动的日历控件,下面是demo演示: 项目部分代码如下所示: import QtQuick 2.7 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4Bu…