Principle Component Analysis

简述PCA的计算过程

输入:数据集X={x1,x2,...,xn},需降到k维

① 去中心化(去均值,即每个特征减去各自的均值)

② 计算协方差矩阵1/nX*X^T(1/n不影响特征向量)

③ 用特征值分解方法/SVD奇异值分解求解②协方差矩阵的特征值与特征向量

④ 对特征值从大到小排序,选前k个。将其对应的k个特征向量分别作为行向量组成特征向量矩阵P

⑤ 将数据转换到k个特征向量构建的新空间中,即Y=PX

使用SVD时:左奇异矩阵可用于对行数据的压缩,右奇异矩阵可以用于对列(即特征的维度)的压缩。因此,用SVD分解协方差矩阵实现PCA可以得到两个方向的PCA降维(即行和列),通常只使用左奇异值。

一些形象的解释:

去中心化(即把坐标原点放在数据中心,不然虽然点的相对位置不变,但坐标绝对值不同,导致很难量化点的分散程度。很难找到把点"分散的最开"的方向)

说到“分散程度”,就容易想到方差。

PCA是什么?答:找坐标系

找到数据分布最分散的方向(即方差最大),作为主成分(新的坐标轴)

主要思想:将n维特征映射到k维上,这k维是全新的正交特征也叫主成分。

本质:向量换基

目标:将数据投影到方差最大的几个正交方向上。

从原始空间中顺序的找一组正交的坐标轴,第一个坐标轴是原始数据中方差最大的方向,第二个坐标轴是与第一个坐标轴正交的平面中使得方差最大的方向,一次类推,得到k个。这k个坐标轴包含数据大部分信息,后面的坐标轴方差几乎为0可忽略,从而达到降维的目的。

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

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

相关文章

day39-Oracle分区表

0目录 Oracle分区表 1.2.3 1. Oracle分区表 1.1 作用: Oracle数据库的分区把表中的数据行按照分区划成几个区域,提高大数据量下表的性能 1.2 应用场景:常应用于数据量大的表 1.3 分类:Oracle中有范围分区(最常见…

vue使用docxtemplater导出word实现使用textarea输入的内容换行

注:本文只做导出word并且换行操作,不做vue引入docxtemplater步骤 先看一下实现效果 这是文本域输入的 这是导出来的结果 可以看出来导出来的结果也是换行的呢 接下来我们手摸手操作一下流程 首先咱们捋一捋思路 知道文本域的换行的换行标识符,我们发…

[深度学习入门]什么是神经网络?[神经网络的架构、工作、激活函数]

目录 一、前言二、神经网络的架构——以手写数字识别三、神经网络的工作1、单输入单输出感知器函数2、二维输入参数3、三维输入参数 四、激活函数1、激活函数2、ReLU激活函数3、非线性激活函数(1)二输入二输出的神经网络的架构(2)…

基于预测控制模型的自适应巡航控制仿真与机器人实现(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 自适应巡航控制技术为目前由于汽车保有量不断增长而带来的行车安全、驾驶舒适性及交通拥堵等问题提供了一条有效的解决途径&am…

数据结构(王道)——数据结构之 二叉树的存储结构

一、顺序存储 静态顺序存储 顺序存储的二叉树结构特性: 顺序存储的非完全二叉树特性 不完全二叉树的可能会浪费大量空间,所以一般顺序存储二叉树比较少用。 图示为什么很少用顺序存储来存二叉树 顺序存储的二叉树总结: 二、链式存储 二叉链表…

TCP的三次握手过程

TCP 是面向连接的协议,所以使用 TCP 前必须先建立连接,而建立连接是通过三次握手来进行的。三次握手的过程如下图: 刚开始客户端处于 closed 的状态,服务端处于 listen 状态。 第一次握手:客户端给服务端发一个 SYN 报…

stb_image简单使用

简介stb_image stb_image 是一个非常轻量级的、单文件的图像加载库,用于加载和解码多种图像格式(如BMP、JPEG、PNG、GIF等)的图像数据。它由Sean T. Barrett开发,并以公共领域(Public Domain)许可发布&…

Redis实战案例21-消息队列

1. 基于JVM的阻塞队列的局限 JVM内存限制问题,大量订单出现时,可能会超过JVM阻塞队列上限;阻塞队列并不能持久化,因为内存不能持久化,出现异常或者宕机之类的故障时,出现数据丢失; 所以引出消息…

关于GPT、AI绘画、AI提词器等AI技术的探讨

目前的AI潮流非常火热,CHATGPT可谓是目前大模型人工智能的代表,刚开始听说chatGPT可以写代码,写作,写方案,无所不能。还有AI绘画也很NB作为一个程序员,为了体验这些A&…

基于深度学习的高精度线路板瑕疵目标检测系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度线路板瑕疵目标检测系统可用于日常生活中来检测与定位线路板瑕疵目标,利用深度学习算法可实现图片、视频、摄像头等方式的线路板瑕疵目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5…

物理机传输大文件到虚拟机

物理机快速传输大文件到虚拟机 测试使用Tabby传输大文件到虚拟机 1.1 准备大文件 1.2 通过Tabby上传文件到Linux 总耗时约:7分钟 1.3 通过EveryThing配置服务 打开EveryThing,点击工具—> 选项—>http服务器 启用HTTP服务器,配置…

Hyper-V安装Ubuntu-18.04

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、准备工作?二、下载指定的Ubuntu ISO镜像三、开始配置1.点击快速创建2.选择安装源 四、开始安装五、配置启动项总结 前言 最近有个很扯淡的问题…

如何快速入门C#编程?

学习C#需要持续努力和实践,但是在一周内入门是有可能的,前提是你愿意付出足够的时间和精力。以下是一周内入门C#的步骤和建议: 设定学习目标: 在一周内学习C#需要专注于基础知识。明确你的学习目标,例如了解语法、变量…

基于Java+SpringBoot+Vue+Uniapp前后端分离考试学习一体机设计与实现(视频讲解,已发布上线)

博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

《面试1v1》Kafka基础

🍅 作者简介:王哥,CSDN2022博客总榜Top100🏆、博客专家💪 🍅 技术交流:定期更新Java硬核干货,不定期送书活动 🍅 王哥多年工作总结:Java学习路线总结&#xf…

React和Vue生命周期、渲染顺序

主要就是命名不同 目录 React 组件挂载 挂载前constructor() 挂载时render() 挂载后componentDidMount():初始化节点 更新 更新时render():prop/state改变 更新后componentDidUpdate() 卸载 卸载前componentWillUnmount():清理 V…

基于Redisson的Redis结合布隆过滤器使用

一、场景 缓存穿透问题 一般情况下,先查询Redis缓存,如果Redis中没有,再查询MySQL。当某一时刻访问redis的大量key都在redis中不存在时,所有查询都要访问数据库,造成数据库压力顿时上升,这就是缓存穿透。…

【已解决】ModuleNotFoundError: No module named ‘timm.models.layers.helpers‘

文章目录 错误信息原因解决方法专栏:神经网络精讲与实战AlexNetVGGNetGoogLeNetInception V2——V4ResNetDenseNet 错误信息 在使用timm库的时候出现了ModuleNotFoundError: No module named timm.models.layers.helpers’的错误,详情如下: …

CANoe如何配置Master/Slave模式

系列文章目录 文章目录 系列文章目录前言一、CANoe配置端口二、CANoe配置Master模式三、CANoe配置Slave模式前言 随着智能电动汽车的行业的发展,车载以太网的应用越来越广泛,最近很多朋友在问CANoe Master/Slave模式如何设置,车载以太网物理层也有一项是测试Master/Slave模式…

云曦暑期学习第一周——sql注入

1浅谈sql注入 1.1sql注入 sql注入是指web应用程序对用户输入数据的合法性没有判断,前端传入后端的参数是攻击者可控的,并且参数带入数据库查询,攻击者可以通过构造不同的sql语句来实现对数据库的任意操作 1.2原理 条件: 1.参…