数据预处理
From Ufldl
Line 39: | Line 39: | ||
接下来在PCA/ZCA白化中我们需要选择合适的<tt>epsilon</tt>(回忆一下,这是规则化项,对数据有低通滤波作用)。 选取合适的<tt>epsilon</tt>值对特征学习起着很大作用,下面讨论在两种不同场合下如何选取<tt>epsilon</tt>: | 接下来在PCA/ZCA白化中我们需要选择合适的<tt>epsilon</tt>(回忆一下,这是规则化项,对数据有低通滤波作用)。 选取合适的<tt>epsilon</tt>值对特征学习起着很大作用,下面讨论在两种不同场合下如何选取<tt>epsilon</tt>: | ||
- | === | + | === 基于重构的模型 === |
- | + | 在基于重构的模型中(包括自编码器,稀疏编码,受限Boltzman机(RBM),k-均值(K-Means)),经常倾向于选取合适的<tt>epsilon</tt>以使得白化达到低通滤波的效果。(译注:通常认为数据中的高频分量是噪声,低通滤波的作用就是尽可能抑制这些噪声,同时保留有用的信息。在PCA等方法中,假设数据的信息主要分布在方差较高的方向,方差较低的方向是噪声(即高频分量),因此后文中<tt>epsilon</tt>的选择与特征值有关)。一种检验<tt>epsilon</tt>是否合适的方法是用该值对数据进行ZCA白化,然后对白化前后的数据进行可视化。如果<tt>epsilon</tt>过低,白化后的数据就会显得比原始数据噪声大;相反,如果<tt>epsilon</tt>过高,白化后的数据就显得比原始数据模糊。一种直观上得到<tt>epsilon</tt>大小的方法是以图形方式画出数据的特征值,如下图的例子所示,你可以看到一条"长尾",它对应于数据中的高频噪声部分。你需要选取合适的<tt>epsilon</tt>,使其能够在很大程度上过滤掉这条"长尾",也就是说,选取的<tt>epsilon</tt>应大于大多数较小、反映数据中噪声的特征值。 | |
- | + | ||
- | + | ||
- | + | ||
- | 在基于重构的模型中( | + | |
- | + | ||
- | + | ||
- | + | ||
[[File:ZCA_Eigenvalues_Plot.png]] | [[File:ZCA_Eigenvalues_Plot.png]] |