吴恩达机器学习笔记——降维与PCA算法

PCA算法是一种强大的无监督学习算法。


降维与线性回归


       降维的过程 最常用的算法是主成分分析算法(PCA)。降维将数据投影到一个k维度空间上(比如直线或平面)然后最小化投影误差的平方和。PCA算法降维时找到直线方向向量最小化偏差距离时使用的正交距离 (称为投影误差) 线性而回归问题是用最小代价拟合直线时使用的是竖直距离 同时 回归中横纵轴的地位是不同的 一个是标签一个是特征 但pac中是平等的。


PCA算法流程


  • 执行均值标准化:首先计算出该特征的均值,然后都减去该均值。
  • ️根据你的数据 可能要进行特征缩放:除该特征的标准偏差(最大值减最小值)

  • ️计算协方差矩阵 sigma
  • 代入svd/eig算法中求得矩阵u u是一个n乘n矩阵。取前k个n*1向量。即为需要去投影到的低维空间(一个n*k维的矩阵)Ureduce

  • 使用该低维空间矩阵转置与原来的数据集x相乘即为z(z的每一列为每个样本点在低维空间投影的偏移坐标)

将低维特征向量转化为高维


如何将低维特征向量转化为高维?


逆过程法:x=Ureduce*z  Ureduce是n*k矩阵 z是该样本点对应的低维特征矩阵k*1矩阵。


使用PCA压缩数据与可视化


PCA一般有两个方面的应用

  • 压缩数据 选择k一般要计算方差 通常要保留99%的方差 。

  • 可视化:k一般会选择2或3

应用PCA的建议


  • 注意将pca用于算法从而改进效率时,将特征降维后再输入算法,测试时也将x降维为z 参数Ureduce也是在训练集上得到的。
  • pca是一种近似,会舍弃掉一些信息,所以将它应用于过拟合不是好的方法。一般情况下,只有当算法的特征维度大到使得计算实在无法进行时,我们才会考虑使用PCA。

猜你喜欢

转载自blog.csdn.net/weixin_39714797/article/details/87474506