主成分分析 (Principal Components Analysis, PCA)

通过降维 (Dimensionality Reduction),实现数据压缩以减少计算、存储成本,或实现数据可视化以直观了解数据。

1. 数据预处理

特征缩放及标准化 (feature scaling / mean normalization):
x(i)j=x(i)jμjsj

其中
μj=1mi=1mx(i)j ,即 xj 的平均值
sj=max(xj)min(xj) ,即 xj 中最大、最小值之差


2. 算法实现

要将数据从n维降至k维( x(i)Rnz(i)Rk ):

计算协方差矩阵 (covariance matrix):
* 为避免 Σ, (Sigma与求和符号)混淆,此处的 Σ Sigma 表示

Sigma=1mi=1n(x(i))(x(i))T

计算Sigma矩阵的特征向量 (eigenvectors):
[U,S,V]=svd(Sigma)
可得
U=|      |            |u(1) u(2) ... u(n)|      |            |Rn×n

从中选出前k列:
Ureduce=|      |            |u(1) u(2) ... u(k)|      |            |Rn×k

最后:
z(i)=(Ureduce)Tx(i)


3. k值选择

[U,S,V]=svd(Sigma) 中,S为对角矩阵:
S=diag(S11,S22,...,Snn)

计算满足 ki=1Siimi=1Sii0.99 的最小的k值,即为k的取值。

其中0.99可理解为保留99%的数据差异性,可根据实际情况调整。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值