降维算法之PCA及其实战

      主成分分析(Principal components analysis,以下简称PCA)是最重要的降维方法之一。在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。为什么说PCA应用广泛呢?PCA是一种无监督算法,也就是我们不需要标签也能对数据做降维,这就使得其应用范围更加广泛了。一般我们提到降维最容易想到的算法就是PCA,下面我们就对PCA的原理做一个总结。
1.PCA的思想
      PCA就是找出数据里最主要的方面,用数据里最主要的方面来代替原始数据。具体可以这么理解,假如我们的数据集是n维的,共有m个数据。我们希望这个m个数据的维度从n维降到n’维,希望这m个n’维的数据集尽可能地代表原始数据。当然,毕竟降低了维度,所以数据多少都会产生损失,我们能做的就是把损失降得越低越好。但是PCA也有一个问题,原来的数据中比如包括了年龄,性别,身高等指标降维后的数据既然维度变小了,那么每一维都是什么含义呢?这个就很难解释了,所以PCA本质来说是无法解释降维后的数据的物理含义,换句话说就是降维之后,计算机能更好地认识这些数据,但是我们就很难理解它们了。
      我们先看看最简单的情况,也就是n=2,n’=1,也就是将数据从二维降维到一维。数据如下图。我们希望找到某一个维度方向,它可以代表这两个维度的数据。图中列了两个向量方向,u1和u2,那么哪个向量可以更好的代表原始数据集呢?从直观上也可以看出,u1比u2好。
在这里插入图片描述
      为什么u1比u2好呢?可以有两种解释,第一种解释是样本点到这个直线的距离足够近,第二种解释是样本点在这个直线上的投影能尽可能的分开。所以我们引出降维标准:样本点到这个超平面的距离足够近(最近重构性:基于最小投影距离)或者说样本点在这个超平面上的投影能尽可能的分开(最大可分性:基于最大投影方差)。
2.PCA数学原理推导(最大可分性)
      内积 ( a 1 , a 2 , . . . , a n ) ⋅ ( b 1 , b 2 , . . . , b n ) T = a 1 b 1 + a 2 b 2 + . . . + a n b n \left( { {a}_{1}},{ {a}_{2}},...,{ {a}_{n}} \right)\cdot { {\left( { {b}_{1}},{ {b}_{2}},...,{ {b}_{n}} \right)}^{T}}={ {a}_{1}}{ {b}_{1}}+{ {a}_{2}}{ {b}_{2}}+...+{ {a}_{n}}{ {b}_{n}} (a1,a2,...,an)(b1,b2,...,bn)T=a1b1+a2b2+...+anbn
A ⋅ B = ∣ A ∣ ∣ B ∣ cos ⁡ ( a ) A\cdot B=\left| A \right|\left| B \right|\cos \left( a \right) AB=ABcos(a)
      设向量B的模为1,则A与B的内积值等于A向B所在直线投影的矢量长度。
在这里插入图片描述
      基是正交的(即内积为0,或者说相互垂直)。要求基线性无关。如下图蓝线所示:
在这里插入图片描述
      基变换:数据与一个基做内积运算,结果作为第一个新的坐标分量,然后与第二个基做内积运算,结果作为第二个新坐标的分量。
( p 1 p 2 . . . p n ′ ) ( a 1 a 2 . . . a m ) = ( p 1 a 1 p 1 a 2 . . . p 1 a m p 2 a 1 p 2 a 2 . . . p 2 a m . . . . . . . . . . . . p n ′ a 1 p n ′ a 2 . . . p n ′ a m ) \left( \begin{matrix} { {p}_{1}} \\ { {p}_{2}} \\ ... \\ { {p}_{n'}} \\ \end{matrix} \right)\left( \begin{matrix} { {a}_{1}} & { {a}_{2}} & ... & { {a}_{m}} \\ \end{matrix} \right)=\left( \begin{matrix} { {p}_{1}}{ {a}_{1}} & { {p}_{1}}{ {a}_{2}} & ... & { {p}_{1}}{ {a}_{m}} \\ { {p}_{2}}{ {a}_{1}} & { {p}_{2}}{ {a}_{2}} & ... & { {p}_{2}}{ {a}_{m}} \\ ... & ... & ... & ... \\ { {p}_{n'}}{ {a}_{1}} & { {p}_{n'}}{ {a}_{2}} & ... & { {p}_{n'}}{ {a}_{m}} \\ \end{matrix} \right) p1p2...pn

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值