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

线性判别分析(LDA)中求协方差矩阵示例

让我们通过一个简单的例子计算协方差矩阵。假设我们有两类数据集 X 0 X_0 X0 X 1 X_1 X1,每类有两个样本,每个样本有两个特征。

数据集:

类 0 的样本:
X 0 = [ 1 2 2 3 ] X_0 = \begin{bmatrix} 1 & 2 \\ 2 & 3 \end{bmatrix} X0=[1223]

类 1 的样本:
X 1 = [ 4 5 5 6 ] X_1 = \begin{bmatrix} 4 & 5 \\ 5 & 6 \end{bmatrix} X1=[4556]

1. 计算每类的均值向量:

首先,我们需要计算每类数据的均值向量。

对于类 0,均值向量 μ 0 \mu_0 μ0
μ 0 = 1 2 [ 1 + 2 2 + 3 ] = [ 1.5 2.5 ] \mu_0 = \frac{1}{2} \begin{bmatrix} 1+2 \\ 2+3 \end{bmatrix} = \begin{bmatrix} 1.5 \\ 2.5 \end{bmatrix} μ0=21[1+22+3]=[1.52.5]

对于类 1,均值向量 μ 1 \mu_1 μ1
μ 1 = 1 2 [ 4 + 5 5 + 6 ] = [ 4.5 5.5 ] \mu_1 = \frac{1}{2} \begin{bmatrix} 4+5 \\ 5+6 \end{bmatrix} = \begin{bmatrix} 4.5 \\ 5.5 \end{bmatrix} μ1=21[4+55+6]=[4.55.5]

2. 计算协方差矩阵:

协方差矩阵的公式为:
Σ = 1 n − 1 ∑ i = 1 n ( x i − μ ) ( x i − μ ) T \Sigma = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \mu)(x_i - \mu)^T Σ=n11i=1n(xiμ)(xiμ)T

对类 0 计算协方差矩阵 Σ 0 \Sigma_0 Σ0

我们对每个样本减去均值向量 μ 0 \mu_0 μ0,并计算它们的外积。

对于第一个样本 x 1 = [ 1 , 2 ] x_1 = [1, 2] x1=[1,2]
x 1 − μ 0 = [ 1 2 ] − [ 1.5 2.5 ] = [ − 0.5 − 0.5 ] x_1 - \mu_0 = \begin{bmatrix} 1 \\ 2 \end{bmatrix} - \begin{bmatrix} 1.5 \\ 2.5 \end{bmatrix} = \begin{bmatrix} -0.5 \\ -0.5 \end{bmatrix} x1μ0=[12][1.52.5]=[0.50.5]

对于第二个样本 x 2 = [ 2 , 3 ] x_2 = [2, 3] x2=[2,3]
x 2 − μ 0 = [ 2 3 ] − [ 1.5 2.5 ] = [ 0.5 0.5 ] x_2 - \mu_0 = \begin{bmatrix} 2 \\ 3 \end{bmatrix} - \begin{bmatrix} 1.5 \\ 2.5 \end{bmatrix} = \begin{bmatrix} 0.5 \\ 0.5 \end{bmatrix} x2μ0=[23][1.52.5]=[0.50.5]

接下来,我们计算外积:
( x 1 − μ 0 ) ( x 1 − μ 0 ) T = [ − 0.5 − 0.5 ] [ − 0.5 − 0.5 ] = [ 0.25 0.25 0.25 0.25 ] (x_1 - \mu_0)(x_1 - \mu_0)^T = \begin{bmatrix} -0.5 \\ -0.5 \end{bmatrix} \begin{bmatrix} -0.5 & -0.5 \end{bmatrix} = \begin{bmatrix} 0.25 & 0.25 \\ 0.25 & 0.25 \end{bmatrix} (x1μ0)(x1μ0)T=[0.50.5][0.50.5]=[0.250.250.250.25]
( x 2 − μ 0 ) ( x 2 − μ 0 ) T = [ 0.5 0.5 ] [ 0.5 0.5 ] = [ 0.25 0.25 0.25 0.25 ] (x_2 - \mu_0)(x_2 - \mu_0)^T = \begin{bmatrix} 0.5 \\ 0.5 \end{bmatrix} \begin{bmatrix} 0.5 & 0.5 \end{bmatrix} = \begin{bmatrix} 0.25 & 0.25 \\ 0.25 & 0.25 \end{bmatrix} (x2μ0)(x2μ0)T=[0.50.5][0.50.5]=[0.250.250.250.25]

协方差矩阵为这两个外积的平均:
Σ 0 = 1 2 − 1 ( [ 0.25 0.25 0.25 0.25 ] + [ 0.25 0.25 0.25 0.25 ] ) = [ 0.5 0.5 0.5 0.5 ] \Sigma_0 = \frac{1}{2-1} \left( \begin{bmatrix} 0.25 & 0.25 \\ 0.25 & 0.25 \end{bmatrix} + \begin{bmatrix} 0.25 & 0.25 \\ 0.25 & 0.25 \end{bmatrix} \right) = \begin{bmatrix} 0.5 & 0.5 \\ 0.5 & 0.5 \end{bmatrix} Σ0=211([0.250.250.250.25]+[0.250.250.250.25])=[0.50.50.50.5]

对类 1 计算协方差矩阵 Σ 1 \Sigma_1 Σ1

同样地,对类 1 的样本进行相同的步骤。

对于第一个样本 x 1 = [ 4 , 5 ] x_1 = [4, 5] x1=[4,5]
x 1 − μ 1 = [ 4 5 ] − [ 4.5 5.5 ] = [ − 0.5 − 0.5 ] x_1 - \mu_1 = \begin{bmatrix} 4 \\ 5 \end{bmatrix} - \begin{bmatrix} 4.5 \\ 5.5 \end{bmatrix} = \begin{bmatrix} -0.5 \\ -0.5 \end{bmatrix} x1μ1=[45][4.55.5]=[0.50.5]

对于第二个样本 x 2 = [ 5 , 6 ] x_2 = [5, 6] x2=[5,6]
x 2 − μ 1 = [ 5 6 ] − [ 4.5 5.5 ] = [ 0.5 0.5 ] x_2 - \mu_1 = \begin{bmatrix} 5 \\ 6 \end{bmatrix} - \begin{bmatrix} 4.5 \\ 5.5 \end{bmatrix} = \begin{bmatrix} 0.5 \\ 0.5 \end{bmatrix} x2μ1=[56][4.55.5]=[0.50.5]

外积分别为:
( x 1 − μ 1 ) ( x 1 − μ 1 ) T = [ 0.25 0.25 0.25 0.25 ] (x_1 - \mu_1)(x_1 - \mu_1)^T = \begin{bmatrix} 0.25 & 0.25 \\ 0.25 & 0.25 \end{bmatrix} (x1μ1)(x1μ1)T=[0.250.250.250.25]
( x 2 − μ 1 ) ( x 2 − μ 1 ) T = [ 0.25 0.25 0.25 0.25 ] (x_2 - \mu_1)(x_2 - \mu_1)^T = \begin{bmatrix} 0.25 & 0.25 \\ 0.25 & 0.25 \end{bmatrix} (x2μ1)(x2μ1)T=[0.250.250.250.25]

协方差矩阵为:
Σ 1 = 1 2 − 1 ( [ 0.25 0.25 0.25 0.25 ] + [ 0.25 0.25 0.25 0.25 ] ) = [ 0.5 0.5 0.5 0.5 ] \Sigma_1 = \frac{1}{2-1} \left( \begin{bmatrix} 0.25 & 0.25 \\ 0.25 & 0.25 \end{bmatrix} + \begin{bmatrix} 0.25 & 0.25 \\ 0.25 & 0.25 \end{bmatrix} \right) = \begin{bmatrix} 0.5 & 0.5 \\ 0.5 & 0.5 \end{bmatrix} Σ1=211([0.250.250.250.25]+[0.250.250.250.25])=[0.50.50.50.5]

结果:

对于类 0 和类 1,它们的协方差矩阵分别为:
Σ 0 = [ 0.5 0.5 0.5 0.5 ] \Sigma_0 = \begin{bmatrix} 0.5 & 0.5 \\ 0.5 & 0.5 \end{bmatrix} Σ0=[0.50.50.50.5]
Σ 1 = [ 0.5 0.5 0.5 0.5 ] \Sigma_1 = \begin{bmatrix} 0.5 & 0.5 \\ 0.5 & 0.5 \end{bmatrix} Σ1=[0.50.50.50.5]

这是一个简单的二维数据集协方差矩阵的计算例子。

相关文章:

线性判别分析(LDA)中求协方差矩阵示例

让我们通过一个简单的例子计算协方差矩阵。假设我们有两类数据集 X 0 X_0 X0​ 和 X 1 X_1 X1​,每类有两个样本,每个样本有两个特征。 数据集: 类 0 的样本: X 0 [ 1 2 2 3 ] X_0 \begin{bmatrix} 1 & 2 \\ 2 & 3…...

Maven的详细解读和配置

目录 一、Maven 1.1 引言 1.2 介绍 1.3 下载安装 1.3.1 解压 1.3.2 配置环境变量 1.3.3 测试 1.4 仓库[了解] 1.5 Maven配置 1.5.1 修改仓库位置 1.5.2 设置镜像 二、IDEA - MAVEN 2.1 idea关联maven 2.2 为新项目设置 2.2 创建java项目[重点] 2.3 java项目结构…...

在vue2项目中使用dart-sass

问题描述 在vue2项目中使用dart-sass。或者将node-sass换成dart-sass,原因是node-sass安装比较困难,很多时候sass-loader无法安装成功。另外在win和Linux环境下运行行项目需要针对Linux搞一个node-sass的Linux版本。 问题分析 在 Vue 2 项目中使用 da…...

【机器学习】过拟合与欠拟合——如何优化模型性能

【机器学习】过拟合与欠拟合——如何优化模型性能 1. 引言 在机器学习中,模型的表现不仅依赖于算法的选择,还依赖于模型对数据的拟合情况。过拟合(Overfitting)和欠拟合(Underfitting)是模型训练过程中常…...

二进制日志gtid模式

# --skip-gtids,使用mysqlbinlog截取时添加该参数,会执行已经执行的事务 mysqlbinlog --skip-gtids --include-gtidsa56fdfdc-7699-11ef-8f40-000c297f81d5:40 /data/binlog/mysql-bin.000003 > gtid.sql # --skip-gtids,使用mysqlbinlog截…...

华硕主板开启TPM 2.0

安装Windows11系统,需要打开TPM 安装 Windows 11 的方法 电脑健康状况检查应用验证最低系统要求 在电脑上启用 TPM 2.0 查看主板型号 winr msinfo32 查看 tpm 进入Advanced Mode(F7) 选择Security,进入Secure Boot,我…...

Linux 一键部署Mysql 8.0.37

mysql 前言 MySQL 是一个基于 SQL(Structured Query Language)的数据库系统,SQL 是一种用于访问和管理数据库的标准语言。MySQL 以其高性能、稳定性和易用性而闻名,它被广泛应用于各种场景,包括: Web 应用程序:许多动态网站和内容管理系统(如 WordPress)使用 MySQL 存…...

Elasticsearch可视化工具ElasticHD

目录 介绍 ElasticHD应用程序页面 安装 基本用法 独立可执行文件 ES版本支持 SQL特性支持: 超越SQL功能支持: SQL的用法 Docker快速入门: 下载地址 介绍 ElasticHD是ElasticSearch可视化管理工具。它不需要任何软件。它在您的Web浏览器中工作,允许您随时随地管理…...

Chrome截取网页全屏

1.使用Chrome开发者工具 Chrome自带的开发者工具,可以进行网页整页截图, 首先打开你想截图的网页, 然后按下 F12,调出开发者工具, 接着按Ctrl Shift P。 紧接着输入指令 capture, 它会提示有三个选项,如…...

Why Is Prompt Tuning for Vision-Language Models Robust to Noisy Labels?

文章汇总 本文的作者针对了提示学习的结构设计进行了分析,发现了一些规律: 1)固定的类名令牌为模型的优化提供了强正则化,减少了由噪声样本引起的梯度。 2)从多样化和通用的web数据中学习到的强大的预训练图像文本嵌入为图像分类提供了强大…...

C++ 折叠表达式

C 折叠表达式(Fold Expression)是在 C17 引入的一种语法,用于简化与可变参数模板的操作。折叠表达式的作用是对参数包(parameter pack)进行递归处理。 折叠表达式有四种类型: 一元左折叠 (Unary Left Fol…...

双控开关接入NVBoard

导入NVBoard git仓库:https://github.com/NJU-ProjectN/nvboard 按照ysyx手册的要求,初始化NVBoard项目。 由于GitHub在国外,可能会超时无响应: 解决方案是修改代理。 当前的运行环境是VM VirtualBox虚拟机,网卡是…...

聊一聊软件系统性能测试的重要性

目录 性能测试的分类 为什么要进行性能测试呢? 性能测试曲线对比参数 虚拟用户数 vs 时间: 响应时间 vs 虚拟用户数: 吞吐量 vs 虚拟用户数: 错误率 vs 虚拟用户数: 资源使用情况 vs 时间: 组合视图 上图曲线图关键点介绍 性能测试的重要性主要体现在以下…...

双十一有哪些好物值得入手?五款超值数码好物分享!

在如今这个科技飞速发展的时代,数码产品已经成为我们生活中不可或缺的一部分。双十一作为一年一度的购物狂欢节,为我们提供了一个绝佳的机会,可以以更优惠的价格入手心仪的数码好物。下面就为大家分享五款超值数码好物,让你的生活…...

uniapp监听滚动实现顶部透明度变化

效果如图: 实现思路: 1、使用onPageScroll监听页面滚动,改变导航条的透明度; 2、关于顶部图片的高度: 如果是小程序:使用getMenuButtonBoundingClientRect获取胶囊顶部距离和胶囊高度; 如果…...

Humanoid 3D Charactor_P08_Federica

3D模型(人形装备)女孩 “P08_联邦” 内容仅为3D人物模型。 图片中的背景和家具不包括在内。 由Blender制作 包括: 1. 人形机器人3D模型和材质。 2. “Unity-chan!”着色器。 性别:女 装备:人形 皮肤网格:4个骨骼权重 多边形: 20000~40000 纹理分辨率:2K纹理 混合形状:…...

TikTok直播推流不精准该怎么办?跟IP有关系吗?

TikTok,这款风靡全球的短视频社交平台,其直播功能已成为众多创作者与品牌宣传的利器。然而,不少用户却遭遇了直播推流不精准的难题,这直接影响到直播的曝光和互动效果。那么,面对这一问题,我们该如何应对&a…...

Docker Registry API best practice 【Docker Registry API 最佳实践】

文章目录 1. 安装 docker2. 配置 docker4. 配置域名解析5. 部署 registry6. Registry API 管理7. 批量清理镜像8. 其他 👋 这篇文章内容:实现shell 脚本批量清理docker registry的镜像。 🔔:你可以在这里阅读:https:/…...

便捷点餐:Spring Boot 点餐系统

第三章 系统分析 3.1 系统设计目标 网上点餐系统主要是为了用户方便对美食信息、美食评价、美食资讯等信息进行查询,也是为了更好的让管理员进行更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定…...

研一上课计划2024/9/23有感

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、学位课1.应用数理统计(学3 开卷考试)2.最优化方法(学3 开卷考试)3.新中特(学2 三千五百字的品读…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...

Python环境安装与虚拟环境配置详解

本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南,适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者,都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...