数据降维方法-主成分分析(PCA)

目录

一、前言

二、向量的表示及基变换

三、基变换

四、协方差矩阵

五、协方差 

六、优化目标 


一、前言

        主成分分析(Principal Component Analysis)

        用途:降维中的常用手段

        目标:提取最有价值的信息(基于方差)

        问题:降维后的数据的意义??

二、向量的表示及基变换

        内积:(a_1,a_2,...,a_n)^{T}\cdot (b_1,b_2,...,b_n)^{T}=a_1b_1+a_2b_2+...+a_nb_n

        解释:A\cdot B=|A||B|cos(\theta)

        设向量B的模为1,则A与B的内积值就等于A向B所在直线投影的矢量长度

        向量可以表示为(3,2),实际上就表示线性组合:x(1,0)^T+y(0,1)^T

        基:(1,0) \;\;and \:\:(0,1)叫做二维空间的一组基

三、基变换

         基是正交的(即内积为0,或者直观的说是相互垂直)

        要求:线性无关

        变换:一个新的基,它的各个维度的值,均是在原来基上的坐标来表达的,换言之一个新的基有原本的基生成。数据与一个基做内积运算,结果作为第一个新的坐标分量,然后与第二个基做内积运算,结果作为第二个坐标分量。

         例如:

        数据(3,2)映射到基中坐标:

            

        

        两个矩阵相乘的意义是将右边矩阵中的每一列列向量变换到左边矩阵中的每一行行向量中为基的空间中去。

四、协方差矩阵

        方向:如何选择方向(或者说是基)才能尽量保留最多的原始信息呢??一种直观的看法是:希望投影后的投影值尽可能分散。

        方差:var(a)=\frac{1}{m}\sum_{i=1}^m(a_i-\mu )^2

        寻找一个一维基,使得所有数据变换为这个基上的坐标之后,方法值最大

        协方差:(假设均值为0时,先去中心化,使每一维上的数据减去其均值即可):                                        ​​​​​​​        ​​​​​​​        cov(a,b)=\frac{1}{m}\sum_{i=1}^ma_ib_i

        a,b表示两个特征,协方差表示特征a,b的关系。

        例如:

五、协方差 

        如果单纯只选择方差最大的方向,后续方向应该会和方差最大的方向接近重合。

         

        解决方案:为了让两个字段尽可能表示更多的信息,我们不希望它们之间存在(线性)相关性,即垂直的。

        协方差:可以用两个字段的协方差表示其相关性cov(a,b)=\frac{1}{m}\sum_{i=1}^m a_ib_i,当协方差为0时,表示其两个字段完全独立。为了让协方差为0,选择第二个基时,只能在与第一个基的正交方向上选择。因此,最终选择两个方向方向一定时正交的。

六、优化目标 

        将一组N维向量降为K维向量(K大于0,小于N),目标是选择K个单位正交基,使原始数据交换到这组基上后,各字段两两协方差为0,字段方差则尽可能大。

        如何得到各个字段的协方差:

      

         矩阵对角线上的两个元素分别是两个字段的方差,而其它元素是a,b的协方差。

        那么我们要使协方差为0,即除对角线上的元素外,其他都为0。

        操作:协方差矩阵对角化:即除对角线上的元素外,其他都为0,且在对角线上的元素按大小从上到小排列。

        

        实对称矩阵:一个n行n列的是对称矩阵一定可以找到n个单位正交向量。

                                       E=(e_1,e_2,...,e_n) 

        例如上面的:

                

                就是实对称矩阵。

        实对称矩阵可以进行对角化:

                

                

         

        

        

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

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

相关文章

Acwing.4009 收集卡牌(期望dp)

题目 小林在玩一个抽卡游戏,其中有 n种不同的卡牌,编号为 1到 n。 每一次抽卡,她获得第 i种卡牌的概率为 pi。 如果这张卡牌之前已经获得过了,就会转化为一枚硬币。 可以用 k枚硬币交换一张没有获得过的卡。 小林会一直抽卡&…

最祥解决python 将Dataframe格式数据上传数据库所碰到的问题

碰到的问题 上传Datafrane格式的数据到数据库 会碰见很多错误 举几个很普遍遇到的问题(主要以SqlServer举例) 这里解释下 将截断字符串或二进制数据 这个是字符长度超过数据库设置的长度 然后还有字符转int失败 或者字符串转换日期/或时间失败 这个是碰到的需要解决的最多的问…

网站HTTP升级成为HTTPS的方法

将网站从HTTP免费升级为HTTPS,您可以按照以下步骤操作: 1. 选择证书颁发机构(CA): - 为了免费升级,您可以选择使用JoySSL这样的公益项目。JoySSL提供免费、自动化的SSL/TLS证书颁发服务,适用于各…

三、Mat、Bitmap和Image数据类型之间的转换(OpenCvSharp)

在OpenCV中可以通过ImRead方法读取照片,通过ImShow方法显示照片;但是无法在PictureBox控件中显示 PictureBox控件只能展示Bitmap和Image数据类型图片 为此查阅了网上很多篇博文,将三种数据类型之间的转换进行了归纳整理,感谢网上…

【Qt】:对话框(一)

对话框 一.基本的对话框二.自定义对话框三.通过图形化界面自定义对话框四.关于对话框mode 对话框是GUI程序中不可或缺的组成部分。一些不适合在主窗口实现的功能组件可以设置在对话框中。对话框通常是一个顶层窗口,出现在程序最上层,用于实现短期任务或者…

【mT5多语言翻译】之一——实战项目总览

[1] 总览 【mT5多语言翻译】系列共六篇文章: 【mT5多语言翻译】之一——实战项目总览   【mT5多语言翻译】之二——模型:T5模型与mT5模型与前置知识   【mT5多语言翻译】之三——数据集:多语言翻译数据集与预处理   【mT5多语言翻译】之…

cesium 添加动态波纹效果 圆形扩散效果 波纹材质

一、扩展材质 /*** 水波纹扩散材质* param {*} options* param {String} options.color 颜色* param {Number} options.duration 持续时间 毫秒* param {Number} options.count 波浪数量* param {Number} options.gradient 渐变曲率*/function CircleWaveMaterialProperty(opt…

代码随想录--数组--移除元素

题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度…

Win11 使用 WSL2 安装 linux 子系统 ubuntu

Win11 使用 WSL2 安装 linux 子系统 ubuntu 段子手168 1、用 部署映像服务和管理工具 dism.exe 命令,开启 WSL2 按【WIN R】,打开【运行】,输入:【cmd】,管理员打开【命令行提示符】。 启用适用于 Linux 的 Windo…

PHP自助建站系统,小白也能自己搭建网站

无需懂代码,用 自助建站 做企业官网就像做PPT一样简单,您可以亲自操刀做想要的效果! 自助建站是一款简单、快捷、高效的工具,可以帮助您制作响应式网站。我们的自助建站系统,将传统的编码工作转化为直观的拖拽操作和文…

python 有哪些函数

Python内置的函数及其用法。为了方便记忆,已经有很多开发者将这些内置函数进行了如下分类: 数学运算(7个) 类型转换(24个) 序列操作(8个) 对象操作(7个) 反射操作(8个) 变量操作(2个) 交互操作(2个) 文件操作(1个) 编译执行(4个) 装饰器(3个) …

STM32H7通用定时器计数功能的使用

目录 概述 1 STM32定时器介绍 1.1 认识通用定时器 1.2 通用定时器的特征 1.3 递增计数模式 1.4 时钟选择 2 STM32Cube配置定时器时钟 2.1 配置定时器参数 2.2 配置定时器时钟 3 STM32H7定时器使用 3.1 认识定时器的数据结构 3.2 计数功能实现 4 测试案例 4.1 代码…

3D Matching:实现halcon中的find_surface_model

halcon中的三维匹配大致分为两类,一类是基于形状的(Shape-Based),一类是基于表面的(Surface-Based)。基于形状的匹配可用于单个2D图像中定位复杂的3D物体,3D物体模型必须是CAD模型,且几何边缘清晰可见,使用的相机也要预…

废品回收 小程序+APP

用户实名认证、回收员实名认证、后台审核、会员管理、回收员管理、订单管理、提现管理、地图、档案管理。 支持,安卓APP、苹果APP、小程序 流程: 一、用户端下单,地图选择上门位置、填写具体位置、废品名称、预估重量、选择是企业废旧、家…

嵌入式ARM版本银河麒麟操作系统V10SP1安装OPenGauss数据库

前言: 官网提供了非常完整的openGauss安装步骤。 https://opengauss.org/zh/download/archive/列举一下个人的使用环境: 麒麟V10 rk3588工控板(ARM) openGauss-3.0.5(极简版)浏览一下官网,可以…

14款DevOps/SRE工具,助力提升运维效率

简介 随着平台工程的兴起,DevOps 和 SRE 不断发展,带来了新一代工具,旨在提高软件开发和运维的效率、可扩展性和可靠性。 在本篇文章中,我们将深入探讨一些最具发展前景的工具,它们正在塑造持续集成与部署、监控与可观…

特征融合篇 | YOLOv8改进之将Neck网络更换为多级特征融合金字塔HS-FPN | 助力小目标检测

前言:Hello大家好,我是小哥谈。HS-FPN(Hierarchical Scale Feature Pyramid Network)是一种用于目标检测任务的网络结构。它是在传统的Feature Pyramid Network(FPN)基础上进行改进的。HS-FPN的主要目标是解决目标检测中存在的多尺度问题。在传统的FPN中,通过在不同层级…

【网站项目】校园失物招领小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

上线数日暴涨600%市值直逼节点猴,Runestone符石为何成第二大比特币NFT?

NodeMonkes(节点猴)市值超越BAYC成为第二大NFT之际,凭借着不断上涨的市场热度和人气,符文项目Runestone在空投数日后也成功跻身为比特币生态市值第二大NFT。Runestone高共识背后的动因有哪些?又有哪些策略具有借鉴意义…

Qt 多窗体

前言 在 Qt编程中经常会遇到要在多个界面之间切换的情况,如从登录界面跳转到主界面,从主界面跳转到设置界面,再返回到主界面。我们将会用一个简单的示例来实现多窗体功能。 登录窗口 创建基类为QMainWindow,类名为LoginWin。再使用…