加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

机器学习 – PCA或SVD在机器学习中的重要性

发布时间:2020-12-14 04:52:23 所属栏目:大数据 来源:网络整理
导读:所有这一次(特别是在Netflix大赛),我总是遇到这个博客(或leaderboard论坛),他们提到如何通过应用简单的SVD步骤数据帮助他们减少数据稀疏或一般提高其算法的性能手。 我试图想(从很长时间),但我不能猜到为什么会这样。 一般来说,我得到的数据非常嘈杂(这
所有这一次(特别是在Netflix大赛),我总是遇到这个博客(或leaderboard论坛),他们提到如何通过应用简单的SVD步骤数据帮助他们减少数据稀疏或一般提高其算法的性能手。
我试图想(从很长时间),但我不能猜到为什么会这样。
一般来说,我得到的数据非常嘈杂(这也是bigdata的有趣的部分),然后我知道一些基本的功能缩放的东西,如对数转换东西,平均值归一化。
但是像SVD一样有帮助。
所以让我说,我有一个巨大的矩阵的用户评级电影..然后在这个矩阵,我实现一些版本的推荐系统(说协同过滤):

1) Without SVD
2) With SVD

它如何帮助
谢谢

解决方法

SVD不用于标准化数据,而是用于去除冗余数据,即用于维数降低。例如,如果您有两个变量,一个是湿度指数,另一个是降雨概率,则它们的相关性如此之高,以致于第二个变量不会对分类或回归任务有用的任何附加信息作出贡献。 SVD中的特征值可帮助您确定哪些变量是最有用的信息,哪些变量不需要。

它的工作方式很简单。您对训练数据执行SVD(称为矩阵A),以获得U,S和V *。然后将S小于某个任意阈值(例如0.1)的所有值设置为零,称为该新矩阵S’。然后获得A’= US’V *并使用A’作为新的训练数据。您的一些功能现在设置为零,可以删除,有时没有任何性能损失(取决于您的数据和所选的阈值)。这称为k截短的SVD。

SVD不会帮助你稀疏性,但只有当功能是冗余时,帮助你。两个特征对于预测任务可以是稀疏的和信息性的(相关的),因此不能删除任一个。

使用SVD,你从n特征到k特征,其中每个特征将是原始n的线性组合。这是一个降维步骤,就像特征选择。当存在冗余特征时,根据您的数据集(例如,最大熵特征选择),特征选择算法可以导致比SVD更好的分类性能。 Weka带了一堆。

参见:http://en.wikibooks.org/wiki/Data_Mining_Algorithms_In_R/Dimensionality_Reduction/Singular_Value_Decomposition

http://stats.stackexchange.com/questions/33142/what-happens-when-you-apply-svd-to-a-collaborative-filtering-problem-what-is-th

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读