独立成分分析

From Ufldl

Jump to: navigation, search
(概述)
Line 7: Line 7:
== 概述 ==
== 概述 ==
-
试着回想一下,在介绍稀疏编码算法中我们想为样本数据学习得到一个超完备基(over-complete basis)。具体来说,这意味着用稀疏编码学习得到的基向量之间不一定线性独立。尽管在某些情况下这已经满足需要,但有时我们仍然希望得到的是一组线性独立基。独立成分分析算法(ICA)正实现了这一点。而且,在ICA中,我们希望学习到的基不仅要线性独立,而且还是一组标准正交基。(一组标准正交基<math>(\phi_1, \ldots \phi_n)</math>需要满足条件:<math>\phi_i \cdot \phi_j = 0</math>(如果<math>i \ne j</math>)或者<math>\phi_i \cdot \phi_j = 1</math>(如果<math>i = j</math>))
+
试着回想一下,在介绍[[Sparse Coding | 稀疏编码算法]]中我们想为样本数据学习得到一个超完备基(over-complete basis)。具体来说,这意味着用稀疏编码学习得到的基向量之间不一定线性独立。尽管在某些情况下这已经满足需要,但有时我们仍然希望得到的是一组线性独立基。独立成分分析算法(ICA)正实现了这一点。而且,在ICA中,我们希望学习到的基不仅要线性独立,而且还是一组标准正交基。(一组标准正交基<math>(\phi_1, \ldots \phi_n)</math>需要满足条件:<math>\phi_i \cdot \phi_j = 0</math>(如果<math>i \ne j</math>)或者<math>\phi_i \cdot \phi_j = 1</math>(如果<math>i = j</math>))
与稀疏编码算法类似,独立成分分析也有一个简单的数学形式。给定数据x,我们希望学习得到一组基向量――以列向量形式构成的矩阵<math>W</math>,其满足以下特点:首先,与稀疏编码一样,特征是稀疏的;其次,基是标准正交的(注意,在稀疏编码中,矩阵<math>A</math>用于将特征<math>s</math>映射到原始数据,而在独立成分分析中,矩阵<math>W</math>工作的方向相反,是将原始数据<math>x</math>映射到特征)。这样我们得到以下目标函数:
与稀疏编码算法类似,独立成分分析也有一个简单的数学形式。给定数据x,我们希望学习得到一组基向量――以列向量形式构成的矩阵<math>W</math>,其满足以下特点:首先,与稀疏编码一样,特征是稀疏的;其次,基是标准正交的(注意,在稀疏编码中,矩阵<math>A</math>用于将特征<math>s</math>映射到原始数据,而在独立成分分析中,矩阵<math>W</math>工作的方向相反,是将原始数据<math>x</math>映射到特征)。这样我们得到以下目标函数:
Line 24: Line 24:
   
   
与深度学习中的通常情况一样,这个问题没有简单的解析解,而且更糟糕的是,由于标准正交性约束,使得用梯度下降方法来求解该问题变得更加困难――每次梯度下降迭代之后,必须将新的基映射回正交基空间中(以此保证正交性约束)。
与深度学习中的通常情况一样,这个问题没有简单的解析解,而且更糟糕的是,由于标准正交性约束,使得用梯度下降方法来求解该问题变得更加困难――每次梯度下降迭代之后,必须将新的基映射回正交基空间中(以此保证正交性约束)。
-
实践中,在最优化目标函数的同时施加正交性约束(如下一节正交性 ICA 中讲到的)是可行的,但是速度慢。在标准正交基是不可或缺的情况下,标准正交ICA的使用会受到一些限制。(哪些情况见:[[TODO]] )
+
实践中,在最优化目标函数的同时施加正交性约束(如下一节[[Independent Component Analysis#Orthonormal ICA | 正交ICA]]中讲到的)是可行的,但是速度慢。在标准正交基是不可或缺的情况下,标准正交ICA的使用会受到一些限制。(哪些情况见:[[TODO]] )
== 标准正交ICA ==
== 标准正交ICA ==

Revision as of 07:48, 21 March 2013

Personal tools