机器学习算法的常见预处理步骤是数据白化。
进行白化似乎总是一件好事,因为它会使数据不相关,从而简化了建模。
什么时候不建议美白?
注意:我指的是数据的去相关。
机器学习算法的常见预处理步骤是数据白化。
进行白化似乎总是一件好事,因为它会使数据不相关,从而简化了建模。
什么时候不建议美白?
注意:我指的是数据的去相关。
Answers:
预白化是特征归一化的概括,它通过针对转换后的输入协方差矩阵对其进行转换来使输入独立。我不明白为什么这可能是一件坏事。
但是,快速搜索显示了“数据白化以提高天气雷达性能的可行性”(pdf),内容为:
特别是,在指数ACF的情况下(与摩纳科夫的结果相符),美白效果很好,但在高斯色的情况下效果不佳。经过数值实验,我们发现高斯情况在数值上是病态的,因为对于高斯协方差矩阵,条件数(最大特征值与最小特征值之比)非常大。
我的教育程度不足以对此发表评论。也许您的问题的答案是美白总是很好,但存在某些陷阱(例如,对于随机数据,如果通过高斯自相关函数完成,将无法正常工作)。
首先,我认为去相关和白化是两个独立的过程。
为了使数据解相关,我们需要对其进行变换,以使变换后的数据具有对角协方差矩阵。通过解决特征值问题可以找到这种变换。通过求解,我们发现协方差矩阵的特征向量和相关特征值
其中是一个以特征值为对角元素的对角矩阵。
因此,矩阵对角化的协方差矩阵。的列是协方差矩阵的特征向量。
我们还可以将对角化协方差写为:
因此,单个向量,我们要做:
的对角元素(特征值)可以相同或不同。如果我们使它们都相同,则称为数据白化。由于每个特征值都确定其关联特征向量的长度,因此当数据不被白化时,协方差将对应于一个椭圆;当数据被白化时,协方差将对应于一个球体(所有维度的长度相同或均匀)。美白步骤如下:
等效地,用代替:
因此,要将白化变换应用于我们只需将其乘以该比例因子,即可获得白化的数据点:
现在的协方差不仅是对角,而且还统一(白色),因为协方差,。
在此之后,我可以看到两种情况可能没有用的情况。首先是相当琐碎的,可能会发生数据示例的缩放在您正在研究的推理问题中以某种方式重要的情况。当然,您可以将特征值作为一组附加功能来解决此问题。第二个是计算问题:首先,您必须计算协方差矩阵,它可能太大而无法放入内存中(如果您有成千上万个特征)或计算时间太长;其次,特征值分解在实践中为O(n ^ 3),这同样非常恐怖,具有大量特征。
最后,还有一个常见的“陷阱”,人们应该注意。必须注意在训练数据上计算比例因子,然后使用方程式(2)和(3)对测试数据应用相同的比例因子,否则有过度拟合的风险(您可能会使用训练过程中来自测试集的信息)。
资料来源:http : //courses.media.mit.edu/2010fall/mas622j/whiten.pdf
从http://cs231n.github.io/neural-networks-2/
这种转换的一个弱点是,它会极大地夸大数据中的噪声,因为它会将所有维度(包括微小变化的不相关维度,主要是噪声)扩展到输入中的相同大小。实际上,可以通过更强的平滑度来缓解此问题。
不幸的是,我没有受过足够的教育,无法对此发表进一步评论。