协方差矩阵及其计算方法

协方差矩阵(Covariance Matrix)是一个描述多维数据特征之间相互关系的矩阵,广泛应用于统计学和机器学习中。它用于表示各个特征之间的协方差,是分析多维数据分布和特征依赖性的重要工具。

什么是协方差矩阵?

协方差矩阵是一个方阵,其每个元素 σ i j \sigma_{ij} σij 代表第 i i i 个特征与第 j j j 个特征之间的协方差。协方差本质上是衡量两个变量是否相关以及它们的相关程度:

  • 如果协方差为正,说明这两个特征具有正相关关系,即当一个特征增大时,另一个特征也倾向于增大。
  • 如果协方差为负,说明这两个特征具有负相关关系,即当一个特征增大时,另一个特征倾向于减小。
  • 如果协方差接近零,说明这两个特征之间几乎没有线性关系。

协方差矩阵是一个对称矩阵,因为 σ i j = σ j i \sigma_{ij} = \sigma_{ji} σij=σji。协方差矩阵的对角线元素是每个特征的方差,而非对角线元素则是特征之间的协方差。

协方差矩阵的计算

假设我们有一个包含 n n n 个样本和 m m m 个特征的数据集 X \mathbf{X} X,其中每个样本 x i = ( x i 1 , x i 2 , … , x i m ) \mathbf{x_i} = (x_{i1}, x_{i2}, \dots, x_{im}) xi=(xi1,xi2,,xim) 是一个 m m m-维向量。为了计算协方差矩阵,我们通常按照以下步骤操作:

1. 计算每个特征的均值

首先,计算每个特征的均值。假设数据集的第 i i i 列是特征 x i x_i xi,其均值 x i ˉ \bar{x_i} xiˉ 为:

x i ˉ = 1 n ∑ k = 1 n x k i \bar{x_i} = \frac{1}{n} \sum_{k=1}^{n} x_{ki} xiˉ=n1k=1nxki

2. 中心化数据

对于每个特征,减去该特征的均值,得到中心化的数据:

x k i ′ = x k i − x i ˉ x_{ki}^\prime = x_{ki} - \bar{x_i} xki=xkixiˉ

3. 计算协方差矩阵

协方差矩阵的元素 σ i j \sigma_{ij} σij 代表第 i i i 个特征与第 j j j 个特征之间的协方差,计算公式如下:

σ i j = 1 n − 1 ∑ k = 1 n ( x k i ′ ) ( x k j ′ ) \sigma_{ij} = \frac{1}{n-1} \sum_{k=1}^{n} (x_{ki}^\prime)(x_{kj}^\prime) σij=n11k=1n(xki)(xkj)

协方差矩阵是对称的,因此计算出来的矩阵是一个 m × m m \times m m×m 的对称矩阵,其中对角线上的元素是特征的方差,非对角线元素是特征之间的协方差。

协方差矩阵的示例

假设我们有以下数据集,其中每行表示一个样本,每列表示一个特征:

X = ( 1 2 2 3 3 4 4 5 ) \mathbf{X} = \begin{pmatrix} 1 & 2 \\ 2 & 3 \\ 3 & 4 \\ 4 & 5 \end{pmatrix} X= 12342345

这是一个包含 4 个样本和 2 个特征的数据集,特征分别为 “特征 1” 和 “特征 2”。

第一步:计算每个特征的均值
  • 对于特征 1:
    x 1 ˉ = 1 + 2 + 3 + 4 4 = 2.5 \bar{x_1} = \frac{1 + 2 + 3 + 4}{4} = 2.5 x1ˉ=41+2+3+4=2.5

  • 对于特征 2:
    x 2 ˉ = 2 + 3 + 4 + 5 4 = 3.5 \bar{x_2} = \frac{2 + 3 + 4 + 5}{4} = 3.5 x2ˉ=42+3+4+5=3.5

第二步:中心化数据

将每个特征的均值从每个数据点中减去,得到中心化的数据集:

X ′ = ( 1 − 2.5 2 − 3.5 2 − 2.5 3 − 3.5 3 − 2.5 4 − 3.5 4 − 2.5 5 − 3.5 ) = ( − 1.5 − 1.5 − 0.5 − 0.5 0.5 0.5 1.5 1.5 ) \mathbf{X^\prime} = \begin{pmatrix} 1 - 2.5 & 2 - 3.5 \\ 2 - 2.5 & 3 - 3.5 \\ 3 - 2.5 & 4 - 3.5 \\ 4 - 2.5 & 5 - 3.5 \end{pmatrix} = \begin{pmatrix} -1.5 & -1.5 \\ -0.5 & -0.5 \\ 0.5 & 0.5 \\ 1.5 & 1.5 \end{pmatrix} X= 12.522.532.542.523.533.543.553.5 = 1.50.50.51.51.50.50.51.5

第三步:计算协方差矩阵

接下来,我们计算协方差矩阵的元素。由于数据集中有 2 个特征,我们需要计算以下协方差:

  1. 协方差 σ 11 \sigma_{11} σ11(特征 1 的方差)
    σ 11 = 1 3 [ ( − 1.5 ) 2 + ( − 0.5 ) 2 + ( 0.5 ) 2 + ( 1.5 ) 2 ] = 1 3 [ 2.25 + 0.25 + 0.25 + 2.25 ] = 5 3 ≈ 1.6667 \sigma_{11} = \frac{1}{3} [(-1.5)^2 + (-0.5)^2 + (0.5)^2 + (1.5)^2] = \frac{1}{3} [2.25 + 0.25 + 0.25 + 2.25] = \frac{5}{3} \approx 1.6667 σ11=31[(1.5)2+(0.5)2+(0.5)2+(1.5)2]=31[2.25+0.25+0.25+2.25]=351.6667

  2. 协方差 σ 12 \sigma_{12} σ12(特征 1 和特征 2 的协方差)
    σ 12 = 1 3 [ ( − 1.5 ) ( − 1.5 ) + ( − 0.5 ) ( − 0.5 ) + ( 0.5 ) ( 0.5 ) + ( 1.5 ) ( 1.5 ) ] = 1 3 [ 2.25 + 0.25 + 0.25 + 2.25 ] = 5 3 ≈ 1.6667 \sigma_{12} = \frac{1}{3} [(-1.5)(-1.5) + (-0.5)(-0.5) + (0.5)(0.5) + (1.5)(1.5)] = \frac{1}{3} [2.25 + 0.25 + 0.25 + 2.25] = \frac{5}{3} \approx 1.6667 σ12=31[(1.5)(1.5)+(0.5)(0.5)+(0.5)(0.5)+(1.5)(1.5)]=31[2.25+0.25+0.25+2.25]=351.6667

  3. 协方差 σ 22 \sigma_{22} σ22(特征 2 的方差)
    σ 22 = 1 3 [ ( − 1.5 ) 2 + ( − 0.5 ) 2 + ( 0.5 ) 2 + ( 1.5 ) 2 ] = 5 3 ≈ 1.6667 \sigma_{22} = \frac{1}{3} [(-1.5)^2 + (-0.5)^2 + (0.5)^2 + (1.5)^2] = \frac{5}{3} \approx 1.6667 σ22=31[(1.5)2+(0.5)2+(0.5)2+(1.5)2]=351.6667

因此,协方差矩阵为:

Σ = ( 1.6667 1.6667 1.6667 1.6667 ) \Sigma = \begin{pmatrix} 1.6667 & 1.6667 \\ 1.6667 & 1.6667 \end{pmatrix} Σ=(1.66671.66671.66671.6667)

协方差矩阵的意义

从协方差矩阵中我们可以得出以下结论:

  • 方差:特征 1 和特征 2 的方差都是 1.6667,这说明数据在这两个特征上的离散程度是相同的。
  • 协方差:特征 1 和特征 2 之间的协方差是 1.6667,表示这两个特征之间有正相关关系。

总结

协方差矩阵是分析多维数据的重要工具,它能够描述数据集中各个特征之间的关系。在机器学习中,协方差矩阵常用于主成分分析(PCA)等技术中,以帮助理解数据的内在结构。通过计算协方差矩阵,我们可以更好地了解特征之间的相关性和数据的分布特性。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[241115] Debian 12.8 发布 | Mistral AI 推出批量 API,成本降低 50%

目录 Debian 12.8 发布Mistral AI 推出批量 API,成本降低 50% Debian 12.8 发布 Debian 项目正式发布了第八个稳定版更新 Debian 12.8 (代号 bookworm)。此次更新主要修复了安全漏洞,并调整了一些严重问题。安全公告已单独发布,并在更新说明…

鸿蒙学习生态应用开发能力全景图-三方库(3)

鸿蒙生态三方库,是在鸿蒙系统上可重复使用的软件库,可帮助开发者重用技术资产,快速开发鸿蒙生态应用、元服务,提升开发效率。根据不同的开发语言分为两种:  ArkTS/TS/JS 语言的三方库,可直接导入并使用。…

OpenAI官方发布:利用ChatGPT提升写作的12条指南

近日,OpenAI官方发布了学生如何利用ChatGPT提升写作的12条指南,值得深入研究学习。 在如今AIGC应用爆发增长的时间点,如何充分利用生成式AI工具,如ChatGPT,有效切快速的提升写作和学习能力,成为每个学生、…

【数据库系列】Spring Data Neo4j Cypher 查询使用进阶指南

在 Neo4j 中,Cypher 查询语句并不像 MySQL 的 mapper XML 那样直接支持拆分和组织。然而,你可以使用一些策略来管理和重用 Cypher 查询,使其更易于维护和组织。以下是几种方法: 1. 使用 Spring Data Neo4j 的 Repository 接口 通…

React中常用的hook函数(四)——useRef、useNavigate、useLocation和useSearchParams

一、useRef 1. 基础概念: useRef 返回一个可变的 ref 对象,这个对象的 .current 属性可以用来存储一个值,该值在组件的生命周期内是持久化的,并且它不会导致组件重新渲染。 语法: const myRef useRef(initialValue)…

.net core开发windows程序在国产麒麟操作系统中运行

.net core自从3.1版本号后,完全是一个独立的开源的多平台开发组件,目前国产化是趋势,不少项目需要开发国产如Kylin操作系统中运行的程序,无论是Web程序还是桌面程序,都有这样的需求。 首先,可明确的的.net…

基于 Python 的 Bilibili 评论分析与可视化

一、项目概述 本项目利用 Python 对 Bilibili (哔哩哔哩)平台上的视频评论数据进行爬取、清洗和分析,并通过可视化展示数据的主要特征。我们通过以下几个步骤实现了这一过程: 数据爬取:使用 Bilibili 提供的 API 获取…

Jenkins的pipeline Script的 每个组件的详细讲解

在Jenkins的Pipeline脚本中,各个组件的配置和Groovy的一些常用函数起到了决定性的作用,帮助开发人员控制自动化流程的执行。以下是对Jenkins Pipeline的主要组件和Groovy常用函数的详细讲解: 1. Jenkins Pipeline主要组件 1.1 agent 功能&…

基于碎纸片的拼接复原算法及MATLAB实现

一、问题描述 破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。随着计算…

如何禁用VMware虚拟网卡

安装VMWare虚拟机之后,会在本地创建两个虚拟网卡VMware Network Adapter VMnet1和VMware Network Adapter VMnet8,如果使用iNode客户端联网时会进行禁用多网卡检测,否则无法联网。因此,问题根源就在于虚拟网卡未禁用。 1、网络和…

ElasticSearch备考 -- Cross cluster replication(CCR)

一、题目 操作在cluster1(local)中操作索引task,复制到cluster2(remote)中 二、思考 CCR 我们可以对标MySQL 理解为为主从,后者备份。主节点负责写入数据,从/备节点负责同步时主节点的数据。 …

界面控件DevExpress WPF中文教程:TreeList视图及创建分配视图

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

基于Java的药店管理系统

药店管理系统 一:基本介绍开发环境管理员功能模块图系统功能部分数据库表设计 二:部分系统页面展示登录界面管理员管理进货信息界面管理员管理药品信息界面管理员管理员工界面管理员管理供应商信息界面管理员管理销售信息界面员工对信息进行管理员工对销…

策略模式、状态机详细解读

策略模式 (Strategy Pattern) 策略模式 (Strategy Pattern) 是一种行为型设计模式,旨在将一组算法封装成独立的类,使得它们可以相互替换。这种模式让算法的变化不会影响到使用算法的客户,减少了类之间的耦合。策略模式通常用于处理一类问题&…

Qwen2-VL:发票数据提取、视频聊天和使用 PDF 的多模态 RAG 的实践指南

概述 随着人工智能技术的迅猛发展,多模态模型在各类应用场景中展现出强大的潜力和广泛的适用性。Qwen2-VL 作为最新一代的多模态大模型,融合了视觉与语言处理能力,旨在提升复杂任务的执行效率和准确性。本指南聚焦于 Qwen2-VL 在三个关键领域…

探索Python的HTTP利器:Requests库的神秘面纱

文章目录 **探索Python的HTTP利器:Requests库的神秘面纱**一、背景:为何选择Requests库?二、Requests库是什么?三、如何安装Requests库?四、Requests库的五个简单函数使用方法1. GET请求2. POST请求3. PUT请求4. DELET…

信号保存和信号处理

目录 信号保存中重要的概念 内核中信号的保存 对sigset_t操作的函数 对block,pendding,handler三张表的操作 sigpromask ​编辑 sigpending 是否有sighandler函数呢? 案例 信号处理 操作系统是如何运行的? 硬件中断 …

基于HTTP编写ping操作

基于HTTP编写ping操作 前言 在上一集我们就完成了创建MockServer的任务,那么我们就可以正式开始进行网络的通讯,那么我们今天就来基于HTTP来做一个客户端ping服务端的请求,服务端返回pong的响应。 需求分析 基于HTTP,实现ping…

机器学习 贝叶斯公式

这是条件概率的计算公式 𝑃(𝐴|𝐵)𝑃(B|A)𝑃(𝐴)/𝑃(𝐵) 全概率公式 𝑃(𝐵)𝑃(𝐵|𝐴)𝑃(𝐴)&am…

【ACM出版】第四届信号处理与通信技术国际学术会议(SPCT 2024)

第四届信号处理与通信技术国际学术会议(SPCT 2024) 2024 4th International Conference on Signal Processing and Communication Technology 2024年12月27-29日 中国深圳 www.icspct.com 重要信息 三轮征稿时间:2024年11月30日23:5…