美文网首页
吴恩达机器学习——降维

吴恩达机器学习——降维

作者: 睡不好觉的梨 | 来源:发表于2020-07-03 16:45 被阅读0次

    1. 降维能做的:

    1)数据压缩:占用更少的内存和硬盘空间。加速学习算法。

    2)数据可视化:维度降到2或3就可以可视化数据。(从图中推测各维度代表的意义大概是什么)

    2. 降维:

    从高维度映射/投影到低维度空间上。

    试图找到一个低维度的空间,使投影误差最小。例如从n维降到k维,就是找k个向量,使得从n维空间数据投影的投影误差最小。

    3. 线性回归和降维的区别:

    线性回归是要预测y值,所以要最小化的是y轴方向上点到线的距离,而降维目的是要使投影的误差尽可能小,所以要最小化的是点到线的正交距离,也就是投影的距离。

    4. 实现方法:主成分分析PCA

    以 n维——>k维 为例,步骤:

    1)数据预处理:均值标准化(对每个特征值减去这个特征的均值,标准化之后的均值为0);如果特征在不同数量级上,还要做特征缩放,除以这个特征的测量值(如常见的标准差)。

    2)计算协方差矩阵:\Sigma =\frac{1}{m} \sum_{i=1}^n(x^i)(x^i)^T

    这里有一篇介绍协方差的文章,可参考: https://www.cnblogs.com/terencezhou/p/6235974.html

    3)svd分解:[U,S,V]=svd(\Sigma )

    其中U是与原始样本投影误差最小的方向向量构成的矩阵(n*n)。取前k个列向量,用U_{reduce} 表示(n*k)。

    计算得到 k*1的新向量:z^i =U_{reduce}^T *x^i     

    5. 还原高维数据:

    x_{approx}^i=U_{reduce}*  z^i  得到的是原始样本的近似,因为只取了前k列,所以还原的是投影到k维空间上的值,误差取决于投影误差的大小。

    6. PCA应用于加速学习算法

    U_{reduce} 是在训练集上运行PCA得到的,再把这个映射用在交叉验证集和测试集。

    不要用PCA减少过拟合,因为可能丢失有用信息,应该用正则项来减少过拟合。

    在确切需要降维的时候(算法运行的太慢等)才使用PCA,不必要的时候不要使用。

    相关文章

      网友评论

          本文标题:吴恩达机器学习——降维

          本文链接:https://www.haomeiwen.com/subject/vhoazhtx.html