当PCA或SVD用于减少尺寸时,减少输入的数量。除了节省学习和/或预测的计算成本之外,这有时还可以生成更健壮的模型,这些模型在统计意义上不是最佳的,但是在嘈杂的条件下具有更好的性能。
在数学上,较简单的模型具有较小的方差,即,它们不太容易过度拟合。当然,装备不足也是一个问题。这被称为偏差方差难题。或者,正如爱因斯坦用简单的话说的:事情应该尽可能简单,而不是简单。
0
当PCA或SVD用于减少尺寸时,减少输入的数量。除了节省学习和/或预测的计算成本之外,这有时还可以生成更健壮的模型,这些模型在统计意义上不是最佳的,但是在嘈杂的条件下具有更好的性能。
在数学上,较简单的模型具有较小的方差,即,它们不太容易过度拟合。当然,装备不足也是一个问题。这被称为偏差方差难题。或者,正如爱因斯坦用简单的话说的:事情应该尽可能简单,而不是简单。
0
SVD不用于规范化数据,而是用于消除冗余数据,即用于降维。例如,如果您有两个变量,一个是湿度指数,另一个是下雨的概率,那么它们之间的相关性是如此之高,以至于第二个变量对分类或回归任务没有任何帮助。 SVD中的特征值可帮助您确定哪些变量最能提供信息,以及哪些变量可以不提供。
它的工作方式很简单。您对训练数据执行SVD(称为矩阵A),以获得U,S和V *。然后将所有小于某个任意阈值(例如0.1)的S值设置为零,将此新矩阵称为S'。然后获得A'= US'V *并将A'用作新的训练数据。现在,您的某些功能已设置为零,并且可以删除,有时不会造成任何性能损失(取决于您的数据和所选的阈值)。这称为k截断的SVD。
SVD并不能帮助您实现稀疏性,而只能在功能冗余时帮助您。对于预测任务,两个功能可能既稀疏又具有信息性(相关性),因此您不能删除其中一个。
使用SVD,您可以从n个特征转到k个特征,其中每个特征都是原始n
个的线性组合。就像特征选择一样,这是降维步骤。但是,当存在冗余特征时,取决于您的数据集(例如,最大熵特征选择),特征选择算法可能会比SVD带来更好的分类性能。 Weka附带了一堆。
请参阅: http : //zh.wikibooks.org/wiki/Data_Mining_Algorithms_In_R/Dimensionality_Reduction/Singular_Value_Decomposition
0
奇异值分解通常用于通过低秩矩阵X_lr
近似矩阵X
:
X = UDV^T
k
最大的奇异值并将其他值设置为零来形成矩阵D'
。 X_lr = UD' V^T
形成矩阵X_lr
。 基质X_lr
然后秩的最佳近似k
矩阵X
,用于Frobenius范数 (相当于所述的l2
范数为矩阵)。使用此表示形式在计算上是有效的,因为如果矩阵X
为n
乘n
且k << n
,则可以仅使用(2n + 1)k
系数(通过存储U
, D'
和V
)来存储其低阶近似。 。
这通常用于矩阵完成问题(例如协作过滤),因为用户评分的真实矩阵被假定为低等级(或被低等级矩阵很好地近似)。因此,您希望通过计算数据矩阵的最佳低秩近似来恢复真实矩阵。但是,现在有更好的方法可以从嘈杂和丢失的观测值中恢复低秩矩阵,即最小化核规范。例如,参见E. Candes和T. Tao的论文《凸松弛的力量:近似最佳矩阵完成》 。
(注意:从该技术派生的算法也存储了估计矩阵的SVD,但计算方式有所不同)。
0
一直以来(特别是在Netflix竞赛中),我总是遇到这个博客(或排行榜论坛),他们提到在数据上应用简单的SVD步骤如何帮助他们减少数据稀疏性,或者总体上提高了算法的性能。手。我一直在想(很久以来),但我无法猜测为什么会这样。总的来说,我手头的数据非常嘈杂(这也是bigdata的有趣部分),然后我确实知道一些基本的功能扩展内容,例如对数转换内容,均值归一化。但是,像SVD这样的东西有什么帮助。因此,假设我有一个庞大的用户评分电影矩阵。然后在此矩阵中,我实现了某些版本的推荐系统(例如协作过滤):
有什么帮助吗谢谢