降维算法
PCA
主成分分析, 是无监督的降维方法, 可以将你的数据降低到n-1
维.
它有几种不同的方式去解释原理, 下面我们来一起看看吧.
最大方差理论
方差大, 代表信息量比较大(数据分布较为分散, 区分度越高).
样本数据是在一个n
维度空间中, 我们需要找到[1, n-1]
之间的维度空间的轴, 然后将样本投影到这些轴上, 下面我们来看一下, 这里我们用二维假设(便于理解, 高维类推即可).
可以看到, 如果投影到方差较大轴上, 数据还会保持尽可能大的距离, 如果投影到方差较少的轴上, 样本之间是非常接近的, 这就很难处理了.
我们首先对数据进行一个去中心化处理(这只是放到坐标原点附近, 不会改变数据之间原有的关系), 假设我们原本的数据集D => {X1, X2, ...}
, 去中心化后的数据集D1 => {V1, V2, ...}
.
我们有如下关系成立:
我们将样本投影到对应的坐标轴上, 我们有:
在几何表示上, 两个向量的内积就表示了一个向量在另一个向量上的投影了, 是单位向量(新坐标轴的).
那么, 新坐标轴的方差是:
, 因为我们是在原数据集上做了去中心化处理.
我们的方差公式转换为:
可以看出来, 其实就是自身的协方差矩阵的迹去中心化之后, 均值是零), 我们将它表示为, 同时, W
是新坐标轴上的单位向量, 所以有,
我们现在有了最大化问题以及约束了
我们引入拉格朗日乘子, 然后对W求导, 令其等于0
.
这个式子就很直接了, 其实就是XX^T协方差矩阵的特征值分解, 其实就是前[1, n-1]
较大的特征值.
最小方差理论(最小二乘法)
还是这个图, 这一次我们从线性回归拟合的角度出发.
我们希望找到一条线, 可以尽可能的拟合这些点.
点到线(高维是超平面), 可以平面的法向量, 然后连接到线(超平面)上一点.
假设平面的点为
距离可以表示为:
如果该线(超平面)由K
组正交基表示, 组成, 这里二维降到一维其实只有一个w
, 作为基的话, 其实还有一个特性, 然后我们会有, 直线上的(超平面)中可以由这组基来表示:
其中表示在方向上投影的长度, 因此, 其实实际上是在这一组正交基上的坐标表示(通过乘以W).
所以, 我们的优化目标:
当对应位置相同的时候是零,不同的时候是1.
我们将距离公式展开:
第一项是个常数(原坐标系), 将的表示代入到这个式子:
第三项为:
其实都是常数, 所以我们也忽略掉, 而且当时候, , 最后这个交叉项只剩下
这里面最后的表达式其实就是的迹, 所以最后距离表示是可以转换为
取一个相反数, 变成求最大化的问题.
然后就和前面一样了, 通过引入拉格朗日乘子, 然后求导为零即可.
注意
- 如果样本数(n)大于特征维数(N), 最多可以降维到多少
- 降维是基于特征降维的, 去掉不重要的特征, 所以可以降维的范围是[1, N-1].