机器学习算法面试—口述(6):数据的简化(PCA、SVD)

这个系列是为了应对找工作面试时面试官问的算法问题,所以只是也谢算法的简要介绍,后期会陆续补充关于此

算法的常见面问题


一、PCA(主成分分析)

  PCA是一种降维技术,其做法是—寻找最小均方意义下,最能代表原始数据的投影方法!

在PCA中数据从原来的坐标系转换到新的坐标系中去,新坐标系的选择是由数据决定的。第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴的方向是选择与第一个坐标轴正交且具有最大方差的方向。该过程一直重复,重复次数为原始数据中特征的数目。

PCA的主要步骤有:去均值、求协方差、将协方差特征分解、将特征值从大到小排序、数据转换、重构数据。

到底降维降到多少维,要取决于具体的要求,一般可以取保留能量的90%,PCA可以降低数据的复杂性,识别最重要的多个特征,同时它也会丢失部分的信息。(关于PCA的原理可以看看吴恩达的《机器学习》的视频,里面这个讲的很好)。


二、SVD

SVD中文名叫做奇异值分解,它是 将数据矩阵分解为三个特殊的矩阵。

在很多情况下数据中的一小段携带了数据集中大部分的信息,其他的信息要不就是噪声,要不就是毫不相干的信息,矩阵的分解可以将原始矩阵表示为新的易于理解的处理形式。

机器学习算法面试—口述(6):数据的简化(PCA、SVD)_第1张图片

其中,右边第一项是A*AT的正交的特征向量,第二项是从大到小排列的奇异值,第三项是AT*A的正教的特征向量。在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上了。一般可以取奇异值平方和的90%的能量即可,不过具体情况具体分析。



你可能感兴趣的:(机器学习,面试)