本文主要是介绍线性因子模型 - 独立分量分析(ICA)篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
序言
线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号分解成多个独立信号,这些独立信号通过缩放和叠加能够恢复成原始数据。这种方法不仅有助于理解数据的内在结构,还能在信号处理、语音识别、图像分析等多个领域发挥重要作用。
独立分量分析(ICA)
- 独立分量分析 ( independent component analysis, ICA \text{independent component analysis, ICA} independent component analysis, ICA) 是最古老的表示学习算法之一。
- Herault and Ans, 1984 \text{Herault and Ans, 1984} Herault and Ans, 1984;
- Jutten and Herault, 1991 \text{Jutten and Herault, 1991} Jutten and Herault, 1991;
- Comon, 1994; Hyv a ¨ rinen,1999 \text{Comon, 1994; Hyvärinen,1999} Comon, 1994; Hyva¨rinen,1999;
- Hyv a ¨ rinen et al., 2001 \text{Hyvärinen et al., 2001} Hyva¨rinen et al., 2001;
- Hinton et al., 2001; Teh et al., 2003 \text{Hinton et al., 2001; Teh et al., 2003} Hinton et al., 2001; Teh et al., 2003。
- 它是一种建模线性因子的方法,旨在将观察到的信号分离成许多潜在信号,这些潜在信号通过伸缩并叠加可以恢复成观察数据。这些信号是完全独立的,而不是仅仅彼此不相关。
- 许多不同的具体方法被称为 ICA \text{ICA} ICA。
- 与我们描述的其他生成模型最相似的 ICA \text{ICA} ICA变种 ( Pham et al., 1992 \text{Pham et al., 1992} Pham et al., 1992) 训练了完全参数化的生成模型。
- 潜在因子 h \boldsymbol{h} h 的先验 p ( h ) p(\boldsymbol{h}) p(h),必须由用户提前给出并固定。
- 接着模型确定性地生成 x = W h \boldsymbol{x}=\boldsymbol{Wh} x=Wh。
- 我们可以通过非线性变化(使用
公式1
)来确定 p ( x ) p(\boldsymbol{x}) p(x)。 - 然后通过一般的方法比如最大化似然进行学习。
p x ( x ) = p y ( g ( x ) ) ∣ det ( ∂ g ( x ) ∂ x ) ∣ p_x(\boldsymbol{x})=p_y(g(\boldsymbol{x}))\left|\det\left(\displaystyle\frac{\partial g(\boldsymbol{x})}{\partial \boldsymbol{x}}\right)\right| px(x)=py(g(x)) det(∂x∂g(x)) — 公式1 \quad\textbf{---\footnotesize{公式1}} —公式1
- 这种方法的动机是,通过选择一个独立的 p ( h ) p(\boldsymbol{h}) p(h),我们可以尽可能恢复接近独立的潜在因子。
- 这是一种常用的方法,它并不是用来捕捉高级别的抽象因果因子,而是恢复已经混合在一起的低级别信号。
- 在该设置中,每个训练样本对应一个时刻,每个 x i x_i xi 是一个传感器对混合信号的观察值,并且每个 h i h_i hi 是单个原始信号的一个估计。
- 例如,我们可能有 n n n 个人同时说话。
- 如果我们具有放置在不同位置的 n n n 个不同的麦克风,则 ICA \text{ICA} ICA可以检测每个麦克风的音量变化,并且分离信号,使得每个 h i h_i hi 仅包含一个人清楚地说话。
- 这通常用于脑电图的神经科学,一种用于记录源自大脑的电信号的技术。
- 放置在对象的头部上的许多电极传感器用于测量来自身体的许多电信号。
- 实验者通常仅对来自大脑的信号感兴趣,但是来自受试者的心脏和眼睛的信号强到足以混淆在受试者的头皮处进行的测量。
- 信号到达电极,并且混合在一起,因此为了分离源于心脏与源于大脑的信号,并且将不同脑区域中的信号彼此分离 ICA \text{ICA} ICA是必要的。
- 如前所述, ICA \text{ICA} ICA存在许多变种。
- 一些版本在 x \boldsymbol{x} x 的生成中添加一些噪声,而不是使用确定性的解码器。
- 大多数方法不使用最大似然准则,而是旨在使 h = W − 1 x \boldsymbol{h}=\boldsymbol{W}^{-1}\boldsymbol{x} h=W−1x 的元素彼此独立。
- 许多准则能够达成这个目标。
公式1
需要用到 W \boldsymbol{W} W 的行列式,这可能是昂贵且数值不稳定的操作。- ICA \text{ICA} ICA的一些变种通过将 W \boldsymbol{W} W 约束为正交来避免这个有问题的操作。
- ICA \text{ICA} ICA的所有变种要求 p ( h ) p(\boldsymbol{h}) p(h) 是非高斯的。
- 这是因为如果 p ( h ) p(\boldsymbol{h}) p(h) 是具有高斯分量的独立先验,则 W \boldsymbol{W} W 是不可识别的。
- 对于许多 W \boldsymbol{W} W 值,我们可以在 p ( x ) p(\boldsymbol{x}) p(x) 上获得相同的分布。
- 这与其他线性因子模型有很大的区别,例如概率 PCA \text{PCA} PCA和因子分析通常要求 p ( h ) p(\boldsymbol{h}) p(h) 是高斯的,以便使模型上的许多操作具有闭式解。
- 在用户明确指定分布的最大似然方法中,一个典型的选择是使用 p ( h i ) = d d h i σ ( h i ) p(h_i)=\displaystyle\frac{d}{dh_i}\sigma(h_i) p(hi)=dhidσ(hi)。
- 这些非高斯分布的典型选择在 0 0 0 附近具有比高斯分布更高的峰值,因此我们也可以看到独立分量分析经常在学习稀疏特征时使用。
- 按照我们对生成模型这个术语的定义 ICA \text{ICA} ICA的许多变种不是生成模型。
- 在本篇中,生成模型可以直接表示 p ( x ) p(\boldsymbol{x}) p(x),也可以认为是从 p ( x ) p(\boldsymbol{x}) p(x) 中抽取样本。
- ICA \text{ICA} ICA的许多变种仅知道如何在 x \boldsymbol{x} x 和 h \boldsymbol{h} h 之间变换,但没有任何表示 p ( h ) p(\boldsymbol{h}) p(h) 的方式,因此也无法确定 p(x)。
- 例如,许多 ICA \text{ICA} ICA变量旨在增加 h = W − 1 x \boldsymbol{h}=\boldsymbol{W}^{-1}\boldsymbol{x} h=W−1x 的样本峰度,因为高峰度说明了 p ( h ) p(\boldsymbol{h}) p(h) 是非高斯的,但这是在没有显式表示 p ( h ) p(\boldsymbol{h}) p(h) 的情况下完成的。
- 这是为什么 ICA \text{ICA} ICA更多用作分离信号的分析工具,而不是用于生成数据或估计其密度。
- 正如 PCA \text{PCA} PCA可以推广到后续:自编码器系列篇中描述的非线性自编码器, ICA \text{ICA} ICA可以推广到非线性生成模型,其中我们使用非线性函数 f f f 来生成观测数据。
- 关于非线性 ICA \text{ICA} ICA最初的工作可以参考 Hyv a ¨ rinen and Pajunen (1999) \text{Hyvärinen and Pajunen (1999)} Hyva¨rinen and Pajunen (1999),它和集成学习的成功结合可以参见 Roberts and Everson (2001); Lappalainen et al. (2000) \text{Roberts and Everson (2001); Lappalainen et al. (2000)} Roberts and Everson (2001); Lappalainen et al. (2000)。
- ICA \text{ICA} ICA的另一个非线性扩展是非线性独立分量估计 ( nonlinear independent components estimation, NICE \text{nonlinear independent components estimation, NICE} nonlinear independent components estimation, NICE) 方法( Dinh et al., 2014 \text{Dinh et al., 2014} Dinh et al., 2014),这个方法堆叠了一系列可逆变换(在编码器阶段),从而能够高效地计算每个变换的 Jacobian ‾ \underline{\text{Jacobian}} Jacobian行列式。
- 这使得我们能够精确地计算似然,并且像 ICA \text{ICA} ICA一样, NICE \text{NICE} NICE尝试将数据变换到具有可分解边缘分布的空间。
- 由于非线性编码器的使用,这种方法更可能成功。
- 因为编码器和一个与其( 编码器)完美逆作用的解码器相关联,所以可以直接从模型生成样本(通过首先从 p ( h ) p(\boldsymbol{h}) p(h) 采样,然后使用解码器)。
- ICA \text{ICA} ICA的另一个推广是通过在组内鼓励统计依赖关系在组之间抑制依赖关系来学
习特征组。- 当相关单元的组被选为不重叠时,这被称为独立子空间分析 ( independent subspace analysis \text{independent subspace analysis} independent subspace analysis)。
- 还可以向每个隐藏单元分配空间坐标,并且空间上相邻的单元组形成一定程度的重叠。
- 这能够鼓励相邻的单元学习类似的特征。
- 当应用于自然图像时,这种地质 ICA \textbf{ICA} ICA ( topographic ICA \text{topographic ICA} topographic ICA) 方法学习 Gabor ‾ \underline{\text{Gabor}} Gabor 滤波器,从而使得相邻特征具有相似的定向、位置或频率。
- 在每个区域内出现类似 Gabor \text{Gabor} Gabor 函数的许多不同相位存在抵消作用,使得在小区域上的池化产生了平移不变性。
总结
- 独立分量分析通过寻找数据中的独立成分,实现了对复杂信号的有效分解。与主成分分析( PCA \text{PCA} PCA)不同, ICA \text{ICA} ICA不仅要求成分间不相关,更强调成分的独立性。这种特性使得 ICA \text{ICA} ICA在处理非高斯分布的数据时具有显著优势。
- ICA \text{ICA} ICA的应用广泛,包括语音信号分离、特征提取、盲源信号分离等多个方面。通过 ICA \text{ICA} ICA,我们可以从混合信号中分离出独立的声源,提取出有用的特征信息,进而为后续的数据处理和分析提供有力支持。
- 因此,理解和掌握独立分量分析的基本原理和应用方法,对于从事数据分析与机器学习工作的人员来说至关重要。
往期重要内容回顾
应用数学与机器学习基础 - 概率与信息论篇
这篇关于线性因子模型 - 独立分量分析(ICA)篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!