网易首页 > 网易号 > 正文 申请入驻

主成分分析(PCA)原理详解

0
分享至

PCA的主要目标是将特征维度变小,同时尽量减少信息损失。就是对一个样本矩阵,一是换特征,找一组新的特征来重新表示;二是减少特征,新特征的数目要远小于原特征的数目。

通过PCA将n维原始特征映射到维(k
怎么找到新的维度呢?实质是数据间的方差够大,通俗地说,就是能够使数据到了新的维度基变换下,坐标点足够分散,数据间各有区分。


上图所示的左图中有5个离散点,降低维度,就是需要把点映射成一条线。将其映射到右图中黑色虚线上则样本变化最大,且坐标点更分散,这条黑色虚线就是第一主成分的投影方向。

PCA是一种线性降维方法,即通过某个投影矩阵将高维空间中的原始样本点线性投影到低维空间,以达到降维的目的,线性投影就是通过矩阵变换的方式把数据映射到最合适的方向。

降维的几何意义可以理解为旋转坐标系,取前k个轴作为新特征。

降维的代数意义可以理解为阶的原始样本,与阶的矩阵做矩阵乘法运算(下面简记为),即得到阶的低维矩阵,这里阶的矩阵就是投影矩阵。

本次介绍从最大方差理论(最大可分性)的角度理解PCA的原理。最大方差理论主要是指投影后的样本点在投影超平面上尺量分开,即投影方差最大。其中涉及的概念如下。

1

PCA 涉及的主要问题

(1)对实对称方阵,可以正交对角化,分解为特征向量和特征值,不同特征值对应的特征向量之间止交,即线性无关。特征值表示对应的特征向量的重要程度,特征值越大,代表包含的信息量越多,特征值越小,说明其信息量越少。在等式中为特征向量,为特征值。

(2)方差相当于特征的辨识度,其值越大越好。方差很小,则意味着该特征的取值大部分相同,即该特征不带有效信息,没有区分度;方差很大,则意味着该特征带有大量信息,有区分度。

(3)协方差表示不同特征之间的相关程序,例如,考察特征x和y的协方差,如果是正值,则表明x和y正相关,即x和y的变化趋势相同,越大y越大;如果是负值,则表明x和y负相关,即x和y的变化趋势相反,x越小y越大;如果是零,则表明x和y没有关系,是相互独立的。

为计算方便,将特征去均值,设特征x的均值为,去均值后的方差为S,特征x和特征y的协方差为,设样本数为m,对应的公式分别为:

当时,表示特征x和y完全独立。

当有n个特征时,引用协方差矩阵表示多个特征之间的相关性,例如,有3个特征x、y、z,协方差矩阵为:

显然,协方差矩阵是实对称矩阵,其主对角线是各个特征的方差,非对角线是特征间的协方差,根据线性代数的原理,该协方差矩阵可以正交对角化,即可以分解为特征向量和特征值,特征向量之间线性无关,特征值为正数。

2

PCA 的优化目标

(1)构造彼此线性无关的新特征。

PCA的目标之一是新特征之间线性无关,即新特征之间的协方差为0。其实质是让新特征的协方差矩阵为对角矩阵,对角线为新特征的方差,非对角线元素为0,用来表示新特征之间的协方差0,对应的特征向量正交。

基于此目标,求解投影矩阵,具体过程如下。

不考虑降维,即维度不改变的情况下,设原始矩阵为个样本,维特征,转换后的新矩阵仍为个样本,维特征。

首先对和去均值化,为了简便,仍用和分别表示均值化的矩阵,此时的协方差矩阵为,的协方差矩阵为

接着,将阶矩阵变为阶矩阵,最简单的是对原始数据进行线性变换:,其中为投影矩阵,是一组按行组成的矩阵。将公式代人后可得:

PCA的目标之一是新特征之间的协方差为0.即为对角矩阵,根据的计算公式可知,PCA的目标就转换为:计算出,且应使得是一个对角矩阵。因为是一个实对称矩阵,所以可以进行特征分解,所求的即特征向量

(2)选取新特征。

PCA的目标之二是使最终保留的主成分,即k个新特征具有最大差异性。鉴于方差表示信息量的大小,可以将协方差矩阵C的特征值(方差)从大到小排列,并从中选取k个特征,然后将所对应的特征向量组成阶矩阵,计算出,作为降维后的数据,此时n维数据降低到了k维。

一般而言,k值的选取有两种方法。

①预先设立一个國值,例如0.95,然后选取使下式成立的最小k值:

(代表特征值)

②通过交叉验证的方式选择较好的k值,即降维后机器学习模型的性能比较好。

3

PCA 求解步骤

输入:条样本,特征数为的数据集,即样本数据,降维到的目标维数为k。记样本集为矩阵。

其中每一行代表一个样本,每一列代表一个特征,列号表示特征的维度,共维。

输出:降维后的样本集。

步骤如下。

第一步:对矩阵去中心化得到新矩阵,即每一列进行零均值化,也即减去这一列的均值,所求仍为阶矩阵。

第二步:计算去中心化的矩阵的协方差矩,即阶矩阵。

第三步:对协方差矩阵C进行特征分解,求出协方差矩阵的特征值,及对应的特征向量,即

第四步:将特征向量按对应特征值从左到右按列降序排列成矩阵,取前k列组成矩阵,即阶矩阵。

第五步,通过计算降维到k维后的样本特征,即阶矩阵。

4

PCA 实例实现

通过Python的sklearn库实现较为方便,例题通过在鸢尾花数据集上的实现PCA降维。

数据集获取地址参考:

https://archive.ics.uci.edu/ml/machine-learning-databases/iris/

通过存放鸢尾花数据集于iris.data中进行实验进行。

代码实例实现:

(1)基本库函数的导入。

importnumpy as np

importpandas as pd

fromsklearn.decomposition import PCA

frommatplotlib import pyplot as plt

(2)读取数据集,并将数据集的特征和标签分开。

df= pd.read_csv("iris.data")

#原始数据没有给定列名,需要加上

df.columns= ["sepal_len", "sepal_wid", "petal_len","petal_wid", "class"]

#把数据分成特征和标签

X= df.iloc[:, 0:4].values

y= df.iloc[:, 4].values

(3)定义降维函数PCA_sklearn(),使用sklearn库实现PCA降维功能,其中需要传递的参数是数据集和降维数。

defPCA_sklearn(data, k):

:param data:样本数据

:param k:目标维度

:return:降维后的数据data_new

pca = PCA(n_components=k) # 调用PCA函数,先实例化

pca.fit(data) # 用数据data来训练PCA模型

print("降维后的各主成分方差的贡献率:",\

pca.explained_variance_ratio_)

print("降维后的各主成分的方差值\n",

pca.explained_variance_)

print("降维后的累计贡献率\n",pca.explained_variance_ratio_.sum())

data_new = pca.transform(data) # 将数据data转换成降维后的数据

return data_new

一般在训练前,需要对数据进行标准化处理,使用sklearn库中的StandardScaler方法即可,代码如下。

fromsklearn.preprocessing import StandardScaler

X=StandardScaler().fit_transform(X)

(4)调用PCA_sklearn()函数

data= PCA_sklearn(X, 2)

运行结果如下。

从结果可以看到,提取两个主成分的累计贡献率达到了0.9576,说明降维到2维后主成分的解释效果就比较好。

(5)降维后的结果可视化

上图是降维后的结果,横坐标代表主成分1,纵坐标代表主成分2,从数据点的分布来看,混杂在一起的数据不多,后续进行分类就更容易。

为与降维后的数据对比,对原始数据集取2维数据,并进行可视化。代码如下。

plt.figure(figsize=(6,4))

forlab, marker, col in zip(("Iris-setosa", "Iris-versicolor","Iris-virginica"),\

("^", "s","o"), ("blue", "red", "green")):

plt.scatter(X[y==lab, 1],

X[y==lab, 0],

label=lab,

marker=marker,

color=col)

plt.xlabel('X[1]')

plt.ylabel('X[0]')

plt.legend(loc='best')

plt.tight_layout()

plt.show()

结果如图:

上图中横坐标代表原始数据集的第一个特征,纵坐标代表第二个特征,从输出结果看,数据集并不能按类别分开,很多数据都重叠在一起。

BONUS TIME

数学建模资料、视频讲解、历年赛题

后台回复 【校苑】领取

高教社出版

数学考试分析(2022版)

整书205页

文末附电子版免费领取

话不多说!免费获取方式!

扫描下方公众号二维码,回复考研

不是留言!不是留言!不是留言!

整理不易!各位宝子们且领且珍惜!

历年赛题的重要性

有了这个!

下一个上岸的就是你!

100G MATLAB资料

后台回复 【干货】领取

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
立陶宛彻底急眼了!女总理当众情绪失控,对着中国撂下最狠狠话

立陶宛彻底急眼了!女总理当众情绪失控,对着中国撂下最狠狠话

安安说
2026-05-29 10:43:06
西决抢七伤情出炉:杰威米切尔均将缺阵 马刺全员出战冲击总决赛

西决抢七伤情出炉:杰威米切尔均将缺阵 马刺全员出战冲击总决赛

罗说NBA
2026-05-30 06:26:12
巴萨官宣今夏首援 25岁英格兰国脚8000万欧加盟 签约5年+薪水翻倍

巴萨官宣今夏首援 25岁英格兰国脚8000万欧加盟 签约5年+薪水翻倍

我爱英超
2026-05-30 05:17:32
外网看傻眼!536万亩麦田告急,中国救援刷屏:粮食是命,不能丢

外网看傻眼!536万亩麦田告急,中国救援刷屏:粮食是命,不能丢

黑鹰观军事
2026-05-29 15:15:34
耿同学遭遇抖音永久限流

耿同学遭遇抖音永久限流

名人苟或
2026-05-30 07:05:38
襄阳“割四赔五”后续!当事人还原真相,父亲曝更多,官方回应

襄阳“割四赔五”后续!当事人还原真相,父亲曝更多,官方回应

180视角
2026-05-29 13:43:46
李施德林漱口水口腔大屠杀:留0.1%活口传恐怖消息

李施德林漱口水口腔大屠杀:留0.1%活口传恐怖消息

娱圈观察员
2026-05-29 01:21:49
美国迎来“娃娃炒股”实验,千万新生儿一出生就开始买ETF,官方预测:有人到55岁或可累计1300万美元巨款

美国迎来“娃娃炒股”实验,千万新生儿一出生就开始买ETF,官方预测:有人到55岁或可累计1300万美元巨款

每日经济新闻
2026-05-30 01:04:31
女婿把我从上海赶回老家,刚下车收到女儿300万转账:妈别再忍了

女婿把我从上海赶回老家,刚下车收到女儿300万转账:妈别再忍了

千秋历史
2026-05-29 20:02:26
Anthropic估值60000亿,全球最牛兄妹诞生

Anthropic估值60000亿,全球最牛兄妹诞生

投资界
2026-05-29 15:40:06
抢七之前!宣布离队!马刺遭遇沉重打击

抢七之前!宣布离队!马刺遭遇沉重打击

篮球教学论坛
2026-05-30 08:39:56
澳门输10亿后,向太曝黄晓明当众下跪,陈凯歌言论被证实

澳门输10亿后,向太曝黄晓明当众下跪,陈凯歌言论被证实

奇怪的鲨鱼们
2026-05-30 04:01:12
23岁中甲前锋被红牌罚下!球队惨遭绝平 下跪向球迷道歉 失声痛哭

23岁中甲前锋被红牌罚下!球队惨遭绝平 下跪向球迷道歉 失声痛哭

念洲
2026-05-30 09:05:53
美股三大股指全线上涨 戴尔大涨近33%

美股三大股指全线上涨 戴尔大涨近33%

财联社
2026-05-30 04:02:11
紫牛头条|有人在紫金山造出“仙人掌坡”网红景点,官方:外来物种入侵,且存在安全隐患

紫牛头条|有人在紫金山造出“仙人掌坡”网红景点,官方:外来物种入侵,且存在安全隐患

扬子晚报
2026-05-30 09:05:08
突发!世界乒联发文道歉,WTT赛取消原因曝光,亏损没有钱举办,索林很无奈

突发!世界乒联发文道歉,WTT赛取消原因曝光,亏损没有钱举办,索林很无奈

最爱乒乓球
2026-05-30 05:04:56
《逐玉》随元青扮演者林沐然,要从中戏降级转学至湖南艺术职业学院,网友直呼震惊;最新:林沐然转学事宜已全面停止

《逐玉》随元青扮演者林沐然,要从中戏降级转学至湖南艺术职业学院,网友直呼震惊;最新:林沐然转学事宜已全面停止

三湘都市报
2026-05-30 09:36:52
奇耻大辱!女子因醋意大发,将用过的卫生巾塞闺蜜嘴里,被索20万

奇耻大辱!女子因醋意大发,将用过的卫生巾塞闺蜜嘴里,被索20万

火山詩话
2026-05-29 17:38:23
曹操撩寡妇说的金句,如今成约会开场白,男人常挂在嘴边

曹操撩寡妇说的金句,如今成约会开场白,男人常挂在嘴边

小豫讲故事
2026-05-29 06:00:19
别急着赢!华为韬(τ)定律威胁不了台积电,"逻辑折叠"并非首创

别急着赢!华为韬(τ)定律威胁不了台积电,"逻辑折叠"并非首创

可达鸭面面观
2026-05-29 16:35:20
2026-05-30 10:07:00
数学家
数学家
服务于数学建模爱好者的平台
3883文章数 1980关注度
往期回顾 全部

科技要闻

英伟达、微软一同发布神秘预告 下周亮相?

头条要闻

参赛车手张秀军身亡:和领航员翻进水沟里被困一小时

头条要闻

参赛车手张秀军身亡:和领航员翻进水沟里被困一小时

体育要闻

即使是文班亚马,也做不到这件事

娱乐要闻

奚梦瑶何猷君将于6月在法国举行婚礼

财经要闻

双汇管不住一头猪

汽车要闻

900V+3.2秒破百 领克10+&领克10上市16.99万元起

态度原创

时尚
游戏
教育
数码
艺术

aespa治好了我的黑眼圈焦虑

《Cheap Car Repair》正式推出 好评汽修店经营

教育要闻

从“拼盘”迈向“融合”:雄安中芬教育对话定义未来“好课堂”——2026小学跨学科融合课程建设与教学创新研讨会深度观察

数码要闻

猫头鹰预告2026台北电脑展将展示热虹吸一体式水冷散热器

艺术要闻

粉墙黛瓦别样美

无障碍浏览 进入关怀版