深度了解PCA

目录

一、PCA

二、PCA的原理

三、方差与相关系数

相关系数​编辑

四、性质

五、代码实现


一、PCA

PCA(Principal Component Analysis) 是一种常见的数据分析方式,常用于高维数据的降维,可用于提取数据的主要特征分量。

PCA 的数学推导可以从最大可分型和最近重构性两方面进行,前者的优化条件为划分后方差最大,后者的优化条件为点到划分平面距离最小,这里我将从最大可分性的角度进行证明。

二、PCA的原理

  1. 数据标准化:对于每个特征,我们首先将其标准化为均值为0、方差为1的标准正态分布。这是为了确保每个特征的重要性被正确评估。
  2. 协方差矩阵:通过计算数据集的协方差矩阵,我们可以了解各个特征之间的关系。协方差矩阵是一个对称矩阵,其中每个元素表示两个特征之间的协方差。
  3. 特征值分解:通过对协方差矩阵进行特征值分解,我们可以得到特征值和对应的特征向量。特征向量表示主成分的方向,而特征值表示其重要性。
  4. 选择主成分:根据特征值的大小,我们选择前k个主成分作为新的特征空间。这些主成分是原始特征的线性组合,使得原始数据在新空间中的方差最大化。

三、方差与相关系数

我们该如何评价某一个特征是否是好的特征呢?

比较简明的方法,通过方差来判断。

方差的概念var(X)=\sigma ^2=\frac{1}{n}\sum _{i=1}^{n}(x_i-\overline{x_i})^2

方差衡量的是样本偏离样本均值的程度;方差越大,样本分布越散;方差越小,样本分布越集中。

相关系数

方差大的分散度显然大于方差小的(注意横坐标

我们可以认为,一个特征下的样本方差大,说明这个特征对样本的区分度大,因为样本之间的差异会更大一些;相反,如果一个特征的方差小,在这个特征下的样本趋于一个点,说明这个特征的区分度不大。

另外,特征和特征之间也会有或多或少的联系,这体现在一个特征的数值的变化对另一个特征数值的变化的趋势上。

比如一个人的身高体重,一个身高高的人,体重往往也会更大。而相比于身高和考试分数而言,二者的想相关性就远不及身高和体重。

我们定义两个特征的协方差

协方差会受到样本分布的影响,我们常用相关系数衡量两个特征之间的关系

当呈线性关系时,二者的相关系数为1

四、性质

  1. 缓解维度灾难:PCA 算法通过舍去一部分信息之后能使得样本的采样密度增大(因为维数降低了),这是缓解维度灾难的重要手段;
  2. 降噪:当数据受到噪声影响时,最小特征值对应的特征向量往往与噪声有关,将它们舍弃能在一定程度上起到降噪的效果;
  3. 过拟合:PCA 保留了主要信息,但这个主要信息只是针对训练集的,而且这个主要信息未必是重要信息。有可能舍弃了一些看似无用的信息,但是这些看似无用的信息恰好是重要信息,只是在训练集上没有很大的表现,所以 PCA 也可能加剧了过拟合;
  4. 特征独立:PCA 不仅将数据压缩到低维,它也使得降维之后的数据各特征相互独立;

五、代码实现

import numpy as np
from sklearn.decomposition import PCA
 
# 生成模拟数据
X = np.random.rand(100, 5)
 
# 创建PCA对象,保留2个主成分
pca = PCA(n_components=2)
 
# 拟合并转换数据
X_pca = pca.fit_transform(X)
 
# 输出保留的主成分
print("保留的主成分:")
print(pca.components_)
 
# 输出转换后的数据
print("转换后的数据:")
print(X_pca)

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值