机器学习实战 -> 利用PCA&&SVD来简化数据
前言
降维的目标就是对输入的数目进行削减,由此提出数据中的噪声并提高机器学习方法的性能。
人们在电视上看球赛的时候,已经将一百万维像素转换为了一个三维的图像。
低维数据显然是更容易处理的。
降维技术
降维技术有:
- 主成分分析 PCA 数据从原坐标系转换到了新的坐标系。新坐标系的选择是数据本身决定的。第一个新坐标系的选择是原始数据之中方差最大的方向,第二个新坐标轴的选择和第一个坐标轴正交且具有最大方差的方向。该过程的重复次数为原始数据之中特征的数目。
- 因子分析 假设在观察数据的生成中有一些观察不到的隐变量。假设观察数据是隐变量和某些噪声的线性组合。隐变量的数据可能比观察数据的数目少。
- 独立成分分析。 ICA
重点是PCA
PCA
求协方差。
某一维的特征值为0,就代表该维被降低,可以被抛弃
SVD
同样是一个将高维数据映射到低维空间的过程。
隐性语义索引LSI&&隐形语义分析LSA
如何知道要保留的奇异值的个数:将所有奇异值求平方和,保留能累加到总值的90%的奇异值。或者当矩阵之中有成千上万个奇异值的时候,保留前2000或者3000个。
计算两个物品相似度的方法:
- 两个物品的相似度:1/(1+距离)。 (欧氏距离)
- 皮尔逊相关系数:它对于用户评级的量级并不敏感。
- 余弦相似度
SVD小结:
利用svd来近似原矩阵,并从中提取重要特征,这种方法保留了元矩阵的90%左右的能量,可以在保证保留了重要的特征的同时,去除了噪声。
搜索引擎之中常用之来解决问题。
协同过滤的核心是相似度的计算方法。
SVD的方式降维通常是一种离线方式,可以减少冗余计算和推荐所需的时间。