首页 > 其他分享 >主成分分析(PCA)介绍

主成分分析(PCA)介绍

时间:2024-06-06 09:22:50浏览次数:11  
标签:0.8 特征向量 投影 介绍 v1 v2 成分 发型 PCA

目录


假设你有一家理发店,已经记录了过去一年中所有顾客的头发长度和发型偏好的数据。现在你想从这些数据中提取一些主要的信息,比如顾客最常选择的发型类型,以及不同发型之间的相关性等。这对于你未来开展有针对性的营销活动很有帮助。

具体来说,我们可以将每个顾客的发型偏好用一个多维向量来表示,每一维度对应一种发型类型的喜好程度(比如评分1-5分)。这样,所有顾客就形成了一个海量的、高维的数据集。

这时候,我们可以对这个数据集进行主成分分析(PCA)。PCA的核心就是找到数据的主要特征向量,即那些能够最大程度解释数据方差的方向向量。

例如,假设经过PCA分析,发现主要有两个显著的特征向量:

  • 第一个特征向量对应"时尚发型"这个主成分
  • 第二个特征向量对应"保守发型"这个主成分

沿着这两个特征向量方向投影,就可以非常准确地还原出原始的高维数据。

这意味着,尽管原始数据有很多维度(发型类型),但是顾客的实际偏好可以用"时尚发型"和"保守发型"这两个主成分来概括和解释。

利用这两个主要特征向量,你可以:

  • 分析哪些具体发型类型属于时尚型或保守型
  • 根据客户的偏好,将他们分成偏好时尚的群体和偏好保守的群体
  • 针对不同群体制定不同的营销策略和发型组合

所以,通过PCA分析得到的特征向量,可以帮助我们从高维复杂的数据中提取出主要的信息,发现数据背后的内在结构和群体特征,从而指导后续的决策。

计算过程

一个主成分分析(PCA)的具体计算过程示例。我们继续用理发店的发型偏好数据作为例子。

假设我们有5个顾客,每个顾客对5种发型(A,B,C,D,E)的喜好程度用1-5分评分,数据如下:

顾客1: [5, 4, 2, 1, 3]
顾客2: [4, 5, 1, 2, 3]
顾客3: [2, 1, 5, 4, 3]
顾客4: [1, 2, 4, 5, 2]
顾客5: [3, 3, 3, 3, 3]

我们的目标是找到能最大程度解释这些数据方差的主要特征向量。计算步骤如下:

  1. 将原始数据矩阵X中心化(去均值),得到均值为0的矩阵
  2. 计算X的协方差矩阵: Σ = (1/n) * X^T * X (n为样本数)
  3. 计算协方差矩阵Σ的特征值和对应的特征向量
  4. 将特征向量按照对应的特征值大小从高到低排序
  5. 选取前k个最大的特征值对应的特征向量作为主成分

具体计算:

  1. 去均值后的X矩阵为:
   [2   1 -1 -2   0 ]
   [1   2 -2 -1   0 ]
   [-1 -2  2  1   0 ]
   [-2 -1  1  2  -1 ]
   [0   0  0  0   0 ]
  1. 计算协方差矩阵Σ:
   [3.2  0.8 -0.8 -0.8 -0.8]
   [0.8  3.2 -0.8 -0.8 -0.8]
   [-0.8 -0.8  3.2  0.8  0.8]
   [-0.8 -0.8  0.8  3.2  0.8]
   [-0.8 -0.8  0.8  0.8  0.8]
  1. 计算Σ的特征值和对应特征向量(略去具体过程):
    特征值1 = 6.828, 对应特征向量v1 = [0.456, 0.456, -0.456, -0.456, -0.364]
    特征值2 = 2.172, 对应特征向量v2 = [0.556, -0.282, -0.282, 0.718, 0.166]
    ...

  2. 由于前两个特征值最大,所以选取v1和v2作为主成分

  3. v1对应"时尚发型"的主成分, v2主要对应"保守发型"

通过将原始5维数据投影到由v1和v2张成的2维空间,就能很好地概括原始数据的主要模式和差异。
通过矩阵运算来计算每个数据点在v1和v2方向上的投影分量。

投影分量计算

原始的5维数据为X = (x1, x2, x3, x4, x5),其中x1-x5分别是顾客对5种发型的评分。

现在我们想将X投影到由v1和v2张成的2维平面上,可以通过下面的矩阵运算:
X' = [v1 v2]T * X

其中:

  • v1 = [0.456, 0.456, -0.456, -0.456, -0.364]
  • v2 = [0.556, -0.282, -0.282, 0.718, 0.166 ]
  • [v1 v2]T 是一个2x5的矩阵,每行就是v1和v2 , T表示矩阵的转置(Transpose)运算
  • X是原始5维数据
  • X'是投影后的2维数据

具体运算就是:

  1. 先将v1和v2并列成一个2x5矩阵
  2. 将X当成一个5x1的列向量
  3. 通过矩阵乘法 [v1 v2]T * X 得到结果X'
  4. 计算的结果X' = (x1', x2')是一个2x1的向量,其中x1'就是X在v1方向的投影分量,x2'就是X在v2方向的投影分量。

通过这样的矩阵投影运算,我们就能将任意一个原始5维数据X,映射到一个二维坐标点(x1',x2')上。

不同顾客对应的二维坐标点(x1',x2')分布在2D平面上,散点分布的模式就能很好地展示:

  • 在v1(时尚发型)方向投影的点,代表偏好时尚发型
  • 在v2(保守发型)方向投影的点,代表偏好保守发型
  • 在两个方向上都投影值较小的点,代表比较中性的顾客;

这种将原始高维数据投影到主成分2维平面的方法,我们既降低了维度,又能很好地保留和展示数据中的主要模式和差异信息,这正是PCA的精髓所在。

这个例子展示了如何通过PCA的数学计算过程,从复杂数据中发现主要的特征向量,并利用它们提取主成分信息。

标签:0.8,特征向量,投影,介绍,v1,v2,成分,发型,PCA
From: https://www.cnblogs.com/mysticbinary/p/18230437

相关文章

  • 小米SU7智能座舱介绍,果然有亮点!
    2024年,小米SU7横空出世,从开始的怀疑到发布后仅24h就达到了8W台的订单量,火到出圈的具象化。智能手机厂家造车,之前的华为做了榜样,小米作为汽车制造中又一条鲶鱼,能否给智能汽车市场带来新的契机?小米造车可谓是各方位进行全新打造,包括座舱、底盘、智驾、车身、动力各大系......
  • 数据安全之一 加解密介绍
    一、场景 信息系统不断发展,要求对于其中的数据安全性必须增加保护机制,否则数据泄露将会给企业带来不可估量的损失。基于此,数据的安全包括如下:1)数据存储的安全   存储包括:文件存储(包括含有敏感信息的图片)、数据库中的敏感数据的存储(比如:密码)、配置文件中的敏感数据的存储......
  • WPF界面反编译神器Snoop使用介绍
    Snoop介绍Snoop是一款开源的WPF监视工具,它能够监视或浏览任何正在运行的WPF应用程序的可视化、逻辑和自动化树(无需调试器),还可以更改属性值、查看触发器、在属性更改时设置断点等。项目地址:https://github.com/snoopwpf/snoopwpf 运行可以到githubrelease下载已经编译......
  • kafka-生产者事务-数据传递语义&事务介绍&事务消息发送
    文章目录1、kafka数据传递语义2、kafka生产者事务3、事务消息发送3.1、application.yml配置3.2、创建生产者监听器3.3、创建生产者拦截器3.4、发送消息测试3.5、使用Java代码创建主题分区副本3.6、屏蔽kafkadebug日志logback.xml3.7、引入spring-kafka依赖3.8、控制......
  • visual studio 插件开发 - 项目介绍
    1.项目结构创建步骤:1.创建名为xxxx的VSIX项目。可以通过搜索“vsix”在“新建项目”对话框中找到VSIX项目模板。2.项目打开时,添加名为FirstCommand的自定义命令项模板。创建好一个vsix项目后最简单的结构:XXXXPackage.cs称为Package类。VisualStudio调用......
  • mysql阶段01 DBA介绍, 数据库介绍, mysql介绍, mysql二进制安装, mysql源码安装, syst
    数据库管理员DBA一、DBA的工作1.初级:mysql安装、搭建2.中级:数据库管理员DBA1)用户管理1.用户的权限2.用户可以操作的库3.用户的来源主机4.用户的密码grantshow,createonzh.*tozh@'172.16.1.%'identifiedby'123';2)数据管理1.数据备份2.数据恢复3.SQL......
  • 从零手撕一个网页版图形编辑器之介绍(1)
    本文将作为连载,陆陆续续把本人最近几年来利用业余时间开发的一个通用的网页版通用二维图形编辑器的开发过程完整写出来,供同学爱好者互相学习、交流图形技术使用。前端使用vue+javascript+canvas,后端springboot+mybatis。本编辑器的功能95%都是在前端实现,后端只是做简单的数据......
  • perfers-color-scheme 使用简单介绍
    perfers-color-scheme简介prefers-color-scheme媒体查询属性用于检测用户操作系统是否使用深色模式。属性值dark表示用户操作系统使用深色模式light表示用户操作系统使用浅色模式no-preference表示用户操作系统没有偏好,或者操作系统不支持该属性示例@media(prefers......
  • 【长亭雷池WAF】介绍及“动态防护”功能深度体验
    一、介绍什么是雷池雷池(SafeLine)是长亭科技耗时近10年倾情打造的WAF,核心检测能力由智能语义分析算法驱动。Slogan:不让黑客越雷池半步。什么是WAFWAF是WebApplicationFirewall的缩写,也被称为Web应用防火墙。区别于传统防火墙,WAF工作在应用层,对基于HTTP/HTTPS......
  • FreeRTOS基础(十):FreeRTOS任务状态查询API函数介绍
         本篇博客较为基础,介绍时间片调度和常用的任务状态查询API函数接口使用。目录一、时间片调度简介二、任务状态查询API函数介绍2.1常用API函数总览2.2常用API函数介绍2.2.1获取指定任务优先级2.2.2 改变某个任务的任务优先级2.2.3 获取系统中任务的任......