独立成分分析

From Ufldl

Jump to: navigation, search
Line 12: Line 12:
'''译文''':
'''译文''':
-
如果你还记得,在稀疏编码中我们希望为数据学习一个过完备基(over-complete basis)。具体来说,这意味着我们在稀疏编码中学习的基向量不一定是线性独立的。虽然在某些情况下这是可以的,但有时我们希望学习一个线性独立基。这正是我们在独立成份分析(ICA)中要做的。而且,在ICA中,我们希望学习的不仅是线性独立基,而且是标准正交基。(一个标准正交基是一个基(ϕ_1,…ϕ_n),满足ϕ_i∙ϕ_j={█(0 if i≠j@1 if i=j)┤)。
+
 
 +
如果你还记得,在稀疏编码中我们希望为数据学习一个过完备基(over-complete basis).具体来说,这意味着我们在稀疏编码中学习的基向量不一定是线性独立的.虽然在某些情况下这是可以的,但有时我们希望学习一个线性独立基.这正是我们在独立成份分析(ICA)中要做的.而且,在ICA中,我们希望学习的不仅是线性独立基,而且是标准正交基.(一个标准正交基是一个基<math>(\phi_1, \ldots \phi_n)</math>,满足<math>\phi_i \cdot \phi_j = 0</math> if <math>i \ne j</math> and <math>1</math> if <math>i = j</math>).
'''一审''':
'''一审''':
-
如果你还记得,在稀疏编码中我们希望为数据学习一个过完备基(over-complete basis)。具体来说,这意味着在稀疏编码中学习到的基向量之间不一定线性独立。尽管在某些情况下这已经满足需要,但有时我们仍然希望得到一组线性独立基。例如在独立成份分析(ICA)中,这正是我们想要的。而且,在ICA中,我们希望学习到的基不仅要线性独立,而且还是一组标准正交基。(一个标准正交基 (ϕ_1,…ϕ_n)需要满足条件:ϕ_i∙ϕ_j={█(0 if i≠j@1 if i=j)┤)。
+
 
 +
如果你还记得,在稀疏编码中我们希望为数据学习一个过完备基(over-complete basis).具体来说,这意味着在稀疏编码中学习到的基向量之间不一定线性独立.尽管在某些情况下这已经满足需要,但有时我们仍然希望得到一组线性独立基.例如在独立成份分析(ICA)中,这正是我们想要的.而且,在ICA中,我们希望学习到的基不仅要线性独立,而且还是一组标准正交基.(一个标准正交基<math>(\phi_1, \ldots \phi_n)</math>需要满足条件:<math>\phi_i \cdot \phi_j = 0</math> if <math>i \ne j</math> and <math>1</math> if <math>i = j</math>).
'''原文''':
'''原文''':
Line 27: Line 29:
   
   
'''译文''':
'''译文''':
-
和稀疏编码一样,独立成分分析有一个简单的数学形式。给定数据x,我们希望学习一个基向量集合,表示成一个矩阵W的列向量,其满足以下特点:首先,和稀疏编码一样,特征是稀疏的;其次,基是一个“标准正交”基。(注意,在稀疏编码中,矩阵A用于将特征s映射到“原始数据”,而在独立成分分析中,矩阵W工作的方向相反,是将“原始数据”x映射到“特征”)。这样我们得到以下目标函数:
+
和稀疏编码一样,独立成分分析有一个简单的数学形式.给定数据x,我们希望学习一个基向量集合,表示成一个矩阵W的列向量,其满足以下特点:首先,和稀疏编码一样,特征是稀疏的;其次,基是一个“标准正交”基.(注意,在稀疏编码中,矩阵A用于将特征s映射到“原始数据”,而在独立成分分析中,矩阵W工作的方向相反,是将“原始数据”x映射到“特征”).这样我们得到以下目标函数:
J(W)=‖Wx‖_1
J(W)=‖Wx‖_1
'''一审''':
'''一审''':
-
和稀疏编码类似,独立成分分析也有一个简单的数学形式。给定数据x,我们希望学习到一组基向量,以列向量的形式构成矩阵W,其满足以下特点:首先,和稀疏编码一样,特征是稀疏的;其次,基是标准正交的(注意,在稀疏编码中,矩阵A用于将特征s映射到原始数据,而在独立成分分析中,矩阵W工作的方向相反,是将原始数据x映射到特征)。这样我们得到以下目标函数:
+
和稀疏编码类似,独立成分分析也有一个简单的数学形式.给定数据x,我们希望学习到一组基向量,以列向量的形式构成矩阵W,其满足以下特点:首先,和稀疏编码一样,特征是稀疏的;其次,基是标准正交的(注意,在稀疏编码中,矩阵A用于将特征s映射到原始数据,而在独立成分分析中,矩阵W工作的方向相反,是将原始数据x映射到特征).这样我们得到以下目标函数:
J(W)=‖Wx‖_1
J(W)=‖Wx‖_1
Line 50: Line 52:
'''译文''':
'''译文''':
-
这个目标函数等价于在稀疏编码中施加在特征s上的稀疏性惩罚,因为Wx正是表达数据的特征。我们加入标准正交约束来求解独立成分分析的全优化问题:
+
这个目标函数等价于在稀疏编码中施加在特征s上的稀疏性惩罚,因为Wx正是表达数据的特征.我们加入标准正交约束来求解独立成分分析的全优化问题:
minimize ‖Wx‖_1 s.t. WW^T=1
minimize ‖Wx‖_1 s.t. WW^T=1
'''一审''':
'''一审''':
-
由于Wx实际上是描述数据的特征,这个目标函数等价于在稀疏编码中在特征s上加上稀疏惩罚。加入标准正交性约束后,独立成分分析相当于求解如下优化问题:
+
由于Wx实际上是描述数据的特征,这个目标函数等价于在稀疏编码中在特征s上加上稀疏惩罚.加入标准正交性约束后,独立成分分析相当于求解如下优化问题:
minimize ‖Wx‖_1
minimize ‖Wx‖_1
         s.t. WW^T=I
         s.t. WW^T=I
Line 66: Line 68:
'''译文''':
'''译文''':
-
与在deep learning中的通常情况一样,这个问题没有简单的解析解,而且情况变得更糟,正交规范化约束使得难以用梯度下降来优化求解目标——每次梯度下降迭代必须跟着一步将新的基映射回正交规范基空间中(因此来强制约束)。
+
与在deep learning中的通常情况一样,这个问题没有简单的解析解,而且情况变得更糟,正交规范化约束使得难以用梯度下降来优化求解目标——每次梯度下降迭代必须跟着一步将新的基映射回正交规范基空间中(因此来强制约束).
'''一审''':
'''一审''':
-
与在deep learning中的通常情况一样,这个问题没有简单的解析解。而且由于标准正交性约束,使得用梯度下降方法来求解该问题变得更加困难,因为每一轮迭代中,在梯度下降迭代之后,必须将新的基映射回正交基空间中(以此保证正交性约束)。
+
与在deep learning中的通常情况一样,这个问题没有简单的解析解.而且由于标准正交性约束,使得用梯度下降方法来求解该问题变得更加困难,因为每一轮迭代中,在梯度下降迭代之后,必须将新的基映射回正交基空间中(以此保证正交性约束).
'''原文''':
'''原文''':
Line 78: Line 80:
'''译文''':
'''译文''':
-
在实践中,对目标函数优化的同时施加标准正交约束(正如在Orthonormal ICA 中描述的)是可行的,但是速度慢。因此,标准正交ICA的使用受限于必须得到一个标准正交基的条件。(TODO什么条件)
+
在实践中,对目标函数优化的同时施加标准正交约束(正如在Orthonormal ICA 中描述的)是可行的,但是速度慢.因此,标准正交ICA的使用受限于必须得到一个标准正交基的条件.(TODO什么条件)
'''一审''':
'''一审''':
-
在实践中,在最优化目标函数的同时施加正交性约束(在下一节Orthonormal ICA 中描述的)是可行的,但是速度慢。由于获取正交基的重要性,标准正交ICA的使用受限于一些条件。(TODO什么条件)
+
在实践中,在最优化目标函数的同时施加正交性约束(在下一节Orthonormal ICA 中描述的)是可行的,但是速度慢.由于获取正交基的重要性,标准正交ICA的使用受限于一些条件.(TODO什么条件)
== Orthonormal ICA 标准正交ICA ==
== Orthonormal ICA 标准正交ICA ==
Line 100: Line 102:
'''译文''':
'''译文''':
-
标准正交ICA的目标函数是:
+
标准正交ICA的目标函数是:
minimize ‖Wx‖_1 s.t. WW^T=1
minimize ‖Wx‖_1 s.t. WW^T=1
-
通过观察可知,约束WW^T=I隐含着另外两个约束。
+
通过观察可知,约束WW^T=I隐含着另外两个约束.
'''一审''':
'''一审''':
-
标准正交ICA的目标函数是:
+
标准正交ICA的目标函数是:
minimize ‖Wx‖_1 s.t. WW^T=I
minimize ‖Wx‖_1 s.t. WW^T=I
-
通过观察可知,约束WW^T=I隐含着另外两个约束。
+
通过观察可知,约束WW^T=I隐含着另外两个约束.
'''原文''':
'''原文''':
Line 120: Line 122:
'''译文''':
'''译文''':
-
首先,因为我们正在学习一个标准正交基,所以我们学习的基向量的个数必须小于输入的维度。在实践中,这意味着不能象我们通常在稀疏编码中一样来学习过完备基。
+
首先,因为我们正在学习一个标准正交基,所以我们学习的基向量的个数必须小于输入的维度.在实践中,这意味着不能象我们通常在稀疏编码中一样来学习过完备基.
-
第二,数据必须是无正则项的ZCA白化(即,ε设置为0)。(TODO为什么必须这样做?)
+
第二,数据必须是无正则项的ZCA白化(即,ε设置为0).(TODO为什么必须这样做?)
-
因此,在我们开始优化标准ICA目标函数之前,必须确保我们的数据已经被白化 。
+
因此,在我们开始优化标准ICA目标函数之前,必须确保我们的数据已经被白化 .
'''一审''':
'''一审''':
-
第一,因为要学习到一组标准正交基,所以基向量的个数必须小于输入数据的维度。在实践中,这意味着不能像通常在稀疏编码中所做的那样来学习过完备基(over-complete bases)。
+
第一,因为要学习到一组标准正交基,所以基向量的个数必须小于输入数据的维度.在实践中,这意味着不能像通常在稀疏编码中所做的那样来学习过完备基(over-complete bases).
-
第二,数据必须经过无正则项ZCA白化(也即ε设为0)。(TODO为什么必须这样做?)
+
第二,数据必须经过无正则项ZCA白化(也即ε设为0).(TODO为什么必须这样做?)
-
也即,在优化标准正交ICA目标函数之前,必须确保数据被白化过,并且学习的是一组不完备基(under-complete basis)。
+
也即,在优化标准正交ICA目标函数之前,必须确保数据被白化过,并且学习的是一组不完备基(under-complete basis).
'''原文''':
'''原文''':
Line 144: Line 146:
'''译文''':
'''译文''':
-
然后,为了优化目标,我们可以使用梯度下降法,在梯度下降的每一步中增加投影步骤,以满足标准正交约束。因此,这个过程如下:
+
然后,为了优化目标,我们可以使用梯度下降法,在梯度下降的每一步中增加投影步骤,以满足标准正交约束.因此,这个过程如下:
-
重复直到完成:
+
重复直到完成:
1. W←W-α∇_W ‖Wx‖_1
1. W←W-α∇_W ‖Wx‖_1
-
2. W←〖proj〗_U W,其中U是满足WW^T=I的矩阵空间。在实际中,学习速率α是可变的,使用一个线搜索算法来加速梯度。投影步骤通过设置W←〖(WW^T)〗^(-1/2) W来完成,这实际上可以看成就是ZCA白化(TODO解释为什么这就象ZCA白化)。
+
2. W←〖proj〗_U W,其中U是满足WW^T=I的矩阵空间.在实际中,学习速率α是可变的,使用一个线搜索算法来加速梯度.投影步骤通过设置W←〖(WW^T)〗^(-1/2) W来完成,这实际上可以看成就是ZCA白化(TODO解释为什么这就象ZCA白化).
'''一审''':
'''一审''':
-
然后,为了优化目标,我们可以使用梯度下降法,在梯度下降的每一步中增加投影步骤,以满足标准正交约束。过程如下:
+
然后,为了优化目标,我们可以使用梯度下降法,在梯度下降的每一步中增加投影步骤,以满足标准正交约束.过程如下:
-
重复直到完成:
+
重复直到完成:
1. W←W-α∇_W ‖Wx‖_1
1. W←W-α∇_W ‖Wx‖_1
-
2. W←〖proj〗_U W,其中U是满足WW^T=I的矩阵空间。在实际中,学习速率α可以通过使用一个一维搜索来调整,以改变下降速度。投影步骤通过更新W←〖(WW^T)〗^(-1/2) W来完成,这一步也可以看成是ZCA白化(TODO解释为什么这类似ZCA白化)。
+
2. W←〖proj〗_U W,其中U是满足WW^T=I的矩阵空间.在实际中,学习速率α可以通过使用一个一维搜索来调整,以改变下降速度.投影步骤通过更新W←〖(WW^T)〗^(-1/2) W来完成,这一步也可以看成是ZCA白化(TODO解释为什么这类似ZCA白化).
== Topographic ICA 拓扑ICA ==
== Topographic ICA 拓扑ICA ==
Line 164: Line 166:
'''译文''':
'''译文''':
-
就像稀疏编码,独立成分分析可以被修改成一个拓扑变量加上一个拓扑代价项。
+
就像稀疏编码,独立成分分析可以被修改成一个拓扑变量加上一个拓扑代价项.
'''一审''':
'''一审''':
-
和稀疏编码类似,独立成分分析可以修改为在一个拓扑变量加上一个拓扑代价项。
+
和稀疏编码类似,独立成分分析可以修改为在一个拓扑变量加上一个拓扑代价项.

Revision as of 03:34, 9 March 2013

Personal tools