协方差以及PCA

news2024/9/30 7:32:05

概念:


协方差(Covariance)在概率论和统计学中用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。协方差就是衡量两个变量相关性的变量。当协方差为正时,两个变量呈正相关关系(同增同减);当协方差为负时,两个变量呈负相关关系(一增一减)。

协方差性质:

协方差与方差之间有如下关系:

D(X+Y)=D(X)+D(Y)+2Cov(X,Y)

D(X-Y)=D(X)+D(Y)-2Cov(X,Y)

协方差与期望值有如下关系:

Cov(X,Y)=E(XY)-E(X)E(Y)。

协方差的性质:

(1)Cov(X,Y)=Cov(Y,X);

(2)Cov(aX,bY)=abCov(X,Y),(ab是常数);

(3)Cov(X1+X2,Y)=Cov(X1,Y)+Cov(X2,Y)。

(4)Cov(a+X,b+Y)=Cov(X,Y)

由协方差定义,可以看出Cov(X,X)=D(X),Cov(Y,Y)=D(Y)。

举例:

Xi

1.1

1.9

3

Yi

5.0

10.4

14.6

E(X) = (1.1+1.9+3)/3=2

E(Y) = (5.0+10.4+14.6)/3=10

E(XY)=(1.1×5.0+1.9×10.4+3×14.6)/3=23.02

Cov(X,Y)=E(XY)-E(X)E(Y)=23.02-2×10=3.02

XY的相关系数:

r(X,Y)=Cov(X,Y)/(σxσy)=3.02/(0.77×3.93) = 0.9979

协方差矩阵:分别求出COV(XX),COV(YY),COV(XY)

PCA求解过程:

主成分分析(Principal components analysis,以下简称PCA)是最重要的降维方法之一

PCA顾名思义,就是找出数据里最主要的方面,用数据里最主要的方面来代替原始数据。具体的,假如我们的数据集是n维的,共有m个数据(x(1),x(2),...,x(m))。我们希望将这m个数据的维度从n维降到n'维,希望这m个n'维的数据集尽可能的代表原始数据集。我们知道数据从n维降到n'维肯定会有损失,但是我们希望损失尽可能的小。

举例:

假设我们的数据集有10个二维数据(2.5,2.4), (0.5,0.7), (2.2,2.9), (1.9,2.2), (3.1,3.0), (2.3, 2.7), (2, 1.6), (1, 1.1), (1.5, 1.6), (1.1, 0.9),需要用PCA降到1维特征。

    首先我们对样本中心化,这里样本的均值为(1.81, 1.91),所有的样本减去这个均值向量后,即中心化后的数据集为(0.69, 0.49), (-1.31, -1.21), (0.39, 0.99), (0.09, 0.29), (1.29, 1.09), (0.49, 0.79), (0.19, -0.31), (-0.81, -0.81), (-0.31, -0.31), (-0.71, -1.01)。

   现在我们开始求样本的协方差矩阵,由于我们是二维的,则协方差矩阵为:

求出的协方差矩阵为:

接下来我们求特征值:

求它的行列式:|A-入E|=0

(0.6165-入)(0.7165-入)-0.61544*0.61544=0;

求解入的值为特征值(0.0490833989, 1.28402771

求解特征值对应的特征向量:

把特征入1值带入计算:

转化成行最简型:

可求出入1对应的特征向量为:

入2带入可求:

可求出入1对应的特征向量为:

我们原始数据集是二维的,降到1维,所以我们只需要找到最大的一个特征值对应的特征向量,就是我们所需要求解的w,最大特征值=1.28402771,特征向量w为

投影方程:

得到PCA降维后的10个一维数据集为:(-0.827970186, 1.77758033, -0.992197494, -0.274210416, -1.67580142, -0.912949103, 0.0991094375, 1.14457216, 0.438046137, 1.22382056)

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

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

相关文章

我用vue开发了一个动态网站--百宝阁 万字长文(spa电商,首页没有做动态,搜索页是动态)

一、前言 学习前端已有大半年了,虽然其中备考软件设计师考试花了两个月,但我还是收获颇丰,从最开始的html,到css,js,在到es6,promise,ajax,node.js、vue、webpack我已经有较为靠谱的编码习惯,亲…

Vue实战第4章:主页设计之中部内容设计

前言 本篇在讲什么 接上篇文章,我们制作了一个自定义的网页导航栏,本篇文章我们简单制作一个内容页 仅介绍简单的应用,仅供参考 本篇适合什么 适合初学Vue的小白 适合想要自己搭建网站的新手 适合没有接触过vue-router的前端程序 本篇…

Vue常用指令及声明周期

文章目录知识点前端开发环境配置v-text && v-htmlv-if、v-else && v-showv-forv-onv-modelv-bind、v-cloak、v-pre&&v-once全局 API 是什么Vue.directive 自定义组件Vue.directive 是什么自定义组件回调函数参数自定义组件的生命周期Vue.set 全局操作为…

【Kafka】一.认识Kafka

kafka是一个分布式消息队列。由 Scala 开发的高性能跨语言分布式消息队列,单机吞吐量可以到达 10w 级,消息延迟在 ms 级。具有高性能、持久化、多副本备份、横向扩展能力。 生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。 一般在…

Unity对接接口丨简单教学丨UnityWebRequest

新手制作接口对接前言使用过程Postman测试第一次测试第二次测试第三次测试第四次测试第五次测试第六次测试总结前言 提示:大体介绍今日功能介绍 介绍大概UnityWebRequest对接接口方式,博主也是作为刚开始对接口的使用,相当详细。 使用过程 这里为内容…

你知道IP属地是怎么来的?

在互联网高速发展的时代,登录网络使用网络的过程当中,会存在非常独特的IP属地,这个独特的概念就是在互联网不断发展过程当中,对于大家来说非常熟悉而又陌生的一个必要设备,在使用各种电子设备上网的时候,都…

Flutter For Web实践

1 什么是Flutter Flutter是Google开源的一套UI工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动APP、web、桌面和嵌入式平台。Flutter和其他的跨平台解决方案的实现方式上有比较大的差异。 我们以React Native(下文简称RN&…

kubernetes教程 --组件详细介绍

组件详细介绍 NameSpace 在 Kubernetes 中,名字空间(Namespace) 提供一种机制,将同一集群中的资源划分为相互隔离的组。 同一名字空间内的资源名称要唯一,但跨名字空间时没有这个要求。 名字空间作用域仅针对带有名字…

STM32单片机初学8-SPI flash(W25Q128)数据读写

当使用单片机进行项目开发,涉及大量数据需要储存时(例如使用了屏幕作为显示设备,常常需要存储图片、动画等数据),单靠单片机内部的Flash往往是不够用的。 如STM32F103系列,内部Flash最多只能达到512KByte&a…

git安装与学习1(CSDN_0010_202201014)

目录 1. Git下载 2. git安装 3. 生成并添加SSH公钥 3.1 生成公钥 3.2 添加公钥 4. 代码备份 4.1 创建远程仓库 4.2 创建本地仓库 1. Git下载 Git下载官网:Githttps://git-scm.com/ 详细的下载教程见: https://blog.csdn.net/weixin_47638941/ar…

CHAPTER 5 自动发现、自动注册、分布式监控、SNMP监控

自动发现与自动注册5.1 自动发现与自动注册5.1.1 简介5.1.2 两种模式5.2 自动发现--被动模式5.3 自动注册--主动模式5.4 分布式监控5.4.1 介绍5.4.2 配置zabbix proxy5.5 SNMP监控5.5.1 使用范围5.5.2 安装snmp程序5.5.3 配置snmp程序5.5.4 测试snmp5.5.5 在web界面进行配置5.1…

LeetCode 203. 移除链表元素

原题链接 难度:easy\color{Green}{easy}easy 题目描述 给你一个链表的头节点 headheadhead 和一个整数 valvalval ,请你删除链表中所有满足 Node.valvalNode.val valNode.valval 的节点,并返回 新的头节点 。 示例 1: 输入&a…

如何利用Power Virtual Agents机器人获取OneNote教学资源

今天我们继续来介绍如何利用PVA聊天机器人来获取OneNote教学资源。设计思路是在PVA聊天机器人的对话框中输入触发短语后,PVA聊天机器人会将指定的OneNote教学资源发送到学生的电子邮箱中。 首先,在PVA聊天机器人中创建主题。 创建一个“问题”后&#x…

【Spring AOP】Spring AOP快速使用

文章目录前言1、相关注解类注解方法注解2、execution 表达式例一【execution 表达式 的限制使用】例二【execution 表达式 的通配使用】3、相关pom依赖4、案例创建接口Aop使用 方式一【Before 、After 、AfterRuturning、AfterThrowing版】Aop使用 方式二【Around版】前言 Aop…

【笔记】通过labview调用halcon

使用原因:手眼标定使用halcon的九点标定,但是整体系统是用labview的,机器人得到二维坐标后,需经过halcon算子计算得到机器人坐标系下坐标,在进行运动。 下载路径: 链接:https://pan.baidu.com/s…

「计算机组成原理」数据的表示和运算(上)

文章目录一、进位计数制1.1 其他进制转十进制1.2 十进制转其他进制1.3 二进制、八进制和十六进制1.3 真值和机器数二、BCD码2.1 8421码2.2 余3码2.3 2421码三、整数的表示和运算3.1 无符号整数3.1.1 无符号整数的表示3.1.2 无符号整数的运算3.2 有符号整数3.2.1 有符号整数的表…

聚观早报 | 微信也要下场做“外卖”?;《羊了个羊》营收破亿

今日要闻:微信也要下场做“外卖”?;《羊了个羊》营收破亿;苹果将新XR头显上市推迟至6月;“交个朋友”被爆欠薪暴力裁员?;微软解释ChatGPT Bing AI推出速度缓慢的原因微信也要下场做“外卖”?腾讯…

C语言返回类型为指针的一些经典题目(上)

大家好,今天和大家分享一下C语言返回类型为指针的一些重要题目,看完你会恍然大悟。原来我对指针的了解还停留在指针只是一个地址的位置上,看完后你会对指针的用法进一步得到提升。目录一.关于指针类型的基础概念二.题目剖析一.关于指针类型的…

Java反序列化漏洞——CommonsCollections6链分析

一、前因因为在jdk8u71之后的版本中,sun.reflect.annotation.AnnotationInvocationHandler#readObject的逻辑发生了变化,导致CC1中的两个链条都不能使用,所有我们需要找一个在高版本中也可用的链条。/* Gadget chain: java.io.ObjectInputStr…

35岁危机

人们对社会的期望是不断变更的,无论拥有高技能的人还是普通的白领,这种期望都让人们不断地励磁进步,以期实现自己的理想。但是,当人们达到35岁时,多数人就会陷入一种状态,这被称之为“35岁危机”。 在35岁…