数据预处理

From Ufldl

Jump to: navigation, search
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>:
-
=== Reconstruction Based Models/基于重构的模型 ===
+
=== 基于重构的模型 ===
-
【原文】
+
在基于重构的模型中(包括自编码器,稀疏编码,受限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>应大于大多数较小、反映数据中噪声的特征值。
-
In models based on reconstruction (including Autoencoders, Sparse Coding, RBMs, k-Means), it is often preferable to set <tt>epsilon</tt> to a value such that low-pass filtering is achieved. One way to check this is to set a value for <tt>epsilon</tt>, run ZCA whitening, and thereafter visualize the data before and after whitening. If the value of epsilon is set too low, the data will look very noisy; conversely, if <tt>epsilon</tt> is set too high, you will see a "blurred" version of the original data. A good way to get a feel for the magnitude of <tt>epsilon</tt> to try is to plot the eigenvalues on a graph. As visible in the example graph below, you may get a "long tail" corresponding to the high frequency noise components. You will want to choose <tt>epsilon</tt> such that most of the "long tail" is filtered out, i.e. choose <tt>epsilon</tt> such that it is greater than most of the small eigenvalues corresponding to the noise.
+
-
 
+
-
【初译】
+
-
在基于重构的模型中(包括自动编码,稀疏编码,受限Boltzman机,k-均值),<tt>epsilon</tt>通常被设定为达到低通效果的一个值。一种检验该值的方法是进行ZCA白化,再可视化白化前后的数据。如果设定的值过低数据则显得噪声较多,反之则会发现与原始数据相比显得模糊。一个获得尝试的<tt>epsilon</tt>幅度感觉的方法是在图中绘制特征值,如以下样图所示,可见一个长尾对应于高频噪声项,需要选取<tt>epsilon</tt>来过滤掉长尾,可取大于大多数噪声对应的小特征值的<tt>epsilon</tt>。
+
-
 
+
-
【一审】
+
-
在基于重构的方法中(包括:自动编码机,稀疏编码,RBM,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]]

Revision as of 17:00, 14 March 2013

Personal tools