机器学习(Coursera吴恩达)(七)

标签(空格分隔): 机器学习 降维 PCA


降维(Dimensionality Reduction)

第一个问题,数据压缩

第二种无监督学习问题,称为降维
比如我们有两个特征量:x1长度(cm),x2(英寸)。
两种仪器对同一个东西测量结果不完全相等,而将两个都作为特征有些重复,因而我们希望将这个二维的数据降维至一维。
机器学习(Coursera吴恩达)(七)
x原本是二维的,然后降成一维的z。
同理也可以将1000维降维100维。

第二个问题,数据可视化

高维数据无法作为可视化,只有一维二维三维我们可视。。。

主成分分析PCA

pca中我们要做的是找到一个方向向量,当我们吧所有的数据都投射到该向量上时,投射平均均方误差能尽可能地小。方向向量是一个经过原点的向量,而投射误差是从特征向量向该方向向量做垂线的长度。
机器学习(Coursera吴恩达)(七)
PCA问题描述:
是要将n维数据降维k维,目标是找到向量u(1),u(2)u(3),...,u(k)

PCA与线性回归的区别:一个是到向量距离最小,一个是(h(x),y)误差最小。
机器学习(Coursera吴恩达)(七)

  • 图像领域KL变换使用PCA做图像压缩。
  • 一个很大的优点是,完全无参数限制的。最后结果只与数据相关,与用户无关。

算法

  1. 均值归一化:我们需要计算出所有特征的均值,然后另xj=xjuj。如果特征是在不同的数量及上,还需要除以标准差δ2.
  2. 计算协方差矩阵(Convariance matrix)ΣΣ=1mi=1n(x(i))(x(i))T
  3. 计算协方差矩阵的特征向量(eigenvectors)
    求特征向量,可以用奇异值分解
    机器学习(Coursera吴恩达)(七)

对于一个n*n的矩阵,我们希望降到k维,只要从U中选取前k个向量,获得一个n*k的矩阵,我们用Ureduce表示,然后通过计算得到新特征限量z(i)=UreduceTx(i)。因为x是n*1维的,所以结果为k*1维。

重建压缩表示

因为是一个压缩算法,所以需要可以恢复到原始数据。
机器学习(Coursera吴恩达)(七)

xapprox=Ureducez,  xapproxx

数量的选择-K

训练集的方差1mi=1m||x(i)||2

可以用特征值计算平均均方误差与训练集方差的比例:
机器学习(Coursera吴恩达)(七)
这样就可以得到应有的K值。

注意

主成分分析,压缩特征的一种方法,所以对train-set计算得到Ureduce之后,就不再参与学习过程。但是在使用test-set或cv-set,或预测的新样本的时候,只需要使用Ureduce变换特征,并且将得到的结果重建出来。
注意的是这并不是在学习中反复迭代部分的内容。而且一种数据预处理。

**Pca不能用于去除过拟合,只是可以提高算法速度。过拟合还是需要正则化去除。

相关文章: