Stanford UFLDL教程 独立成分分析

article/2025/11/9 5:36:53

独立成分分析

Contents

[hide]
  • 1概述
  • 2标准正交ICA
  • 3拓扑ICA
  • 4中英文对照
  • 5中文译者

概述

试着回想一下,在介绍 稀疏编码算法中我们想为样本数据学习得到一个超完备基(over-complete basis)。具体来说,这意味着用稀疏编码学习得到的基向量之间不一定线性独立。尽管在某些情况下这已经满足需要,但有时我们仍然希望得到的是一组线性独立基。独立成分分析算法(ICA)正实现了这一点。而且,在 ICA 中,我们希望学习到的基不仅要线性独立,而且还是一组标准正交基。(一组标准正交基 (\phi_1, \ldots \phi_n) 需要满足条件:\phi_i \cdot \phi_j = 0(如果i \ne j)或者\phi_i \cdot \phi_j = 1(如果i = j))


与稀疏编码算法类似,独立成分分析也有一个简单的数学形式。给定数据 x,我们希望学习得到一组基向量――以列向量形式构成的矩阵 W,其满足以下特点:首先,与稀疏编码一样,特征是稀疏的;其次,基是标准正交的(注意,在稀疏编码中,矩阵 A 用于将特征 s 映射到原始数据,而在独立成分分析中,矩阵W 工作的方向相反,是将原始数据 x 映射到特征)。这样我们得到以下目标函数:

J(W) = \lVert Wx \rVert_1


由于 Wx 实际上是描述样本数据的特征,这个目标函数等价于在稀疏编码中特征 s 的稀疏惩罚项。加入标准正交性约束后,独立成分分析相当于求解如下优化问题:

\begin{array}{rcl}     {\rm minimize} & \lVert Wx \rVert_1  \\     {\rm s.t.}     & WW^T = I \\\end{array}


与深度学习中的通常情况一样,这个问题没有简单的解析解,而且更糟糕的是,由于标准正交性约束,使得用梯度下降方法来求解该问题变得更加困难――每次梯度下降迭代之后,必须将新的基映射回正交基空间中(以此保证正交性约束)。


实践中,在最优化目标函数的同时施加正交性约束(如下一节 正交ICA中讲到的)是可行的,但是速度慢。在标准正交基是不可或缺的情况下,标准正交ICA的使用会受到一些限制。(哪些情况见:TODO )


标准正交ICA

标准正交ICA的目标函数是:

\begin{array}{rcl}     {\rm minimize} & \lVert Wx \rVert_1  \\     {\rm s.t.}     & WW^T = I \\\end{array}


通过观察可知,约束WWT = I隐含着另外两个约束:


第一,因为要学习到一组标准正交基,所以基向量的个数必须小于输入数据的维度。具体来说,这意味着不能像通常在 稀疏编码中所做的那样来学习得到超完备基(over-complete bases)。

第二,数据必须经过无正则 ZCA白化(也即,ε设为0)。(为什么必须这样做?见TODO)


因此,在优化标准正交ICA目标函数之前,必须确保数据被白化过,并且学习的是一组不完备基(under-complete basis)。


然后,为了优化目标函数,我们可以使用梯度下降法,在梯度下降的每一步中增加投影步骤,以满足标准正交约束。过程如下:


重复以下步骤直到完成:

  1. W \leftarrow W - \alpha \nabla_W \lVert Wx \rVert_1
  2. W \leftarrow \operatorname{proj}_U W, 其中U是满足WWT = I的矩阵空间


在实际中,学习速率α是可变的,使用一个线搜索算法来加速梯度.投影步骤通过设置W \leftarrow (WW^T)^{-\frac{1}{2}} W来完成,这实际上可以看成就是ZCA白化(TODO:解释为什么这就象ZCA白化).


拓扑ICA

与 稀疏编码算法类似,加上一个拓扑代价项,独立成分分析法可以修改成具有拓扑性质的算法。


中英文对照

独立成分分析 Independent Component Analysis
稀疏编码算法 Sparse coding
超完备基 Over-complete basis
标准正交基 Orthonormal basis
稀疏惩罚项 Sparsity penalty
梯度下降法 Gradient descent
白化 Whitened
不完备基 Under-complete basis
线搜索算法 Line-search algorithm

拓扑代价项 Topographic cost term

from: http://ufldl.stanford.edu/wiki/index.php/%E7%8B%AC%E7%AB%8B%E6%88%90%E5%88%86%E5%88%86%E6%9E%90

http://chatgpt.dhexx.cn/article/STPkT1SI.shtml

相关文章

降维算法原理篇:主成分分析PCA、奇异值分解SVD、因子分析法FA、独立成分分析ICA等原理详推

前言:若需获取本文全部的手书版原稿资料,扫码关注公众号,回复: 降维算法综述 即可获取。 原创不易,转载请告知并注明出处!扫码关注公众号【机器学习与自然语言处理】,定期发布知识图谱,自然语言…

独立成分分析算法(ICA)

ICA算法 考虑这样的一个问题,叫做”鸡尾酒派对问题”。这里,在派对上,有n个说话的人单独地说话,并且所有在房间里的麦克分只能收到n个说话人的重叠的声音。但是我们说有n个不同的麦克分位于房间里,因为每个麦克分距离每个说话者的…

独立成分分析(ICA)降噪应用时存在哪些问题?

关注“心仪脑”查看更多脑科学知识的分 关键词:降噪、ICA 对经常处理脑电信号的朋友来说,降噪是必不可少的环节。眼动、眨眼、肌肉运动、脉搏等噪声会严重污染脑电,严重影响脑电的后续分析。2001年提出的FastICA算法使ICA可以真正稳定地分析…

因子分析_主成分分析_独立成分分析_斯坦福CS229_学习笔记

Part VIII 因子分析 主成分分析 独立成分分析 在上个部分介绍了EM算法,在此部分因子分析中,我们会再次应用到。 因子分析、主成分分析和独立成分分析都作为对于数据维度进行处理的手段,对于我们理解数据、更好的表示数据都起到或多或少的作用…

Python专栏 | 独立成分分析(ICA)的实例应用:消除伪影信号

关注微信公众号:脑机接口研习社 了解脑机接口最近进展 系列文章目录 Python专栏 | 脑电图和脑磁图(EEG/MEG)的数据分析方法之载入数据 Python专栏 | MNE脑电数据(EEG/MEG)可视化 Python专栏 | MNE数据预处理方法——独立成分分析 持续更新中…… 文章目录 系列文…

【医学信号处理与MATLAB(5)】独立成分分析法-ICA

接着上一节PCA的内容,我们来谈一下ICA为何同样重要。 目录 引入:鸡尾酒会问题独立成分分析法中心极限定理中心极限定理的MATLAB代码实现 测量非高斯程度(Kurtosis峰度)独立成分分析法处理流程使用FASTICA找出独立成分MATLAB代码实现 引入:鸡…

ICA独立成分分析去除EEG伪影

目录 介绍ICA假设方法组件投影实验数据样本移除眨眼和肌肉伪影一些严重污染的脑电数据 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区 .QQ交流群1:903290195(已满,请加群2),群2:941473018 介绍 眼动&#x…

fMRI独立成分分析方法(ICA)工具GIFT

软件下载连接: Software - TReNDS (trendscenter.org)https://trendscenter.org/software/下载完成后,在MATLAB中添加其路径即可。 在MATLAB命令行输入gift。打开窗口页面: 1、点击setup ICA Analysis 新建一个gica文件夹,存储…

《大话脑成像》之:独立成分分析

少年,我看你骨骼精奇,是万中无一的武学奇才,维护世界和平就靠你了,我这有本武林秘籍《九阴真经之万军丛中听声辩位分筋错骨取敌将首级之盲源分离大法》,简称,《独立成分分析》,见与你有缘&#…

独立成分分析(Independent Component Analysis,ICA)模型介绍

独立成分分析ICA模型 1 历史背景2 ICA基本模型3 独立与不相关 \qquad 1 历史背景 \qquad 独立成分分析思想和方法最早源于上世纪八十年代几个法国学者的研究工作,尽管当时他们并没有命名其为ICA;在1986年举行的神经网络计算会议上,法国学者Heraull和Jutt…

【详细版】独立成分分析:算法和应用(一)

独立成分分析:算法和应用 翻译原文自己的理解 原文:Independent component analysis: algorithms and applications 作者:A. Hyvarinen, E. Oja 时间:2000年 注:详细版原文太长,分两篇来写;另外…

Python专栏 | MNE数据预处理方法——独立成分分析

关注微信公众号:脑机接口研习社 了解脑机接口最近进展 系列文章目录 Python专栏 | 脑电图和脑磁图(EEG/MEG)的数据分析方法之载入数据 Python专栏 | MNE脑电数据(EEG/MEG)可视化 文章目录 系列文章目录预处理(Preprocessing) 预处理&#x…

学习笔记 | 独立成分分析(ICA, FastICA)及应用

学习笔记 | 独立成分分析[ICA, FastICA]及应用 1 背景说明 2 算法原理 2.1 ICA简介 2.2 形式化表达 3 算法步骤与代码 4 算法改进:FastICA 5 ICA实例与应用 6 小结 概要: 这篇博客和博客学习笔记|主成分分析[PCA]及其若干应用属于一个系列&#xf…

ICA独立成分分析去除脑电伪影

今天分享的这篇利用独立成分分析ICA去除EEG伪影是翻译自jung大神的一篇文章。 目录 1 介绍 2 方法 3 实验数据样本 1 介绍 眼动,眨眼,肌肉,心脏和线的噪音会严重污染脑电图活动,这在脑电解释和分析中会产生非常严重问题。研究…

独立成分分析(ICA)

1.概念 独立成分分析是从多元(多维)统计数据中寻找潜在因子或成分的一种方法.ICA与其它的方法重要的区别在于,它寻找满足统计独立和非高斯的成分。这里我们简要介绍ICA的基本概念、应用和估计原理。 1.1 多元数据的线性表示 统计数据处理及相关领域中的一…

独立成分分析ICA系列2:概念、应用和估计原理.

1.概念 独立成分分析是从多元(多维)统计数据中寻找潜在因子或成分的一种方法.ICA与其它的方法重要的区别在于,它寻找满足统计独立和非高斯的成分。这里我们简要介绍ICA的基本概念、应用和估计原理。 1.1 多元数据的线性表示 统计数据处理及相关领域中的一…

详解独立成分分析

最近在学习数据降维的一些方法(有关数据降维的其他内容请看这篇文章),虽然独立成分分析不算是严格意义上的降维方法,但是它和PCA有着千丝万缕的联系,所以打算专门写一篇文章来学习ICA的相关知识,看了挺多的关于ICA的博文&#xff…

独立成分分析

在已知语音信号方向的情况下,波束形成能明显改善语音质量,提高信噪比;然而在实际环境中,人可能是走动的,即使坐立不动,由于身体的扭曲使得语音到达阵列的方向也是变化的,此时波束形成效果受到限…

独立成分分析(Independent Component Analysis,ICA)原理及代码实现

过程监控中会用到很多中方法,如主成分分析(PCA)、慢特征分析(SFA)、概率MVA方法或独立成分分析(ICA)等为主流算法。 其中PCA主要多用于降维及特征提取,且只对正太分布(高…

清理vdbench后台进程

当我们打开一个终端,用nohup运行vdbench程序。断开连接后,你发现你写的配置文件有误,想关闭已有的vdbench进程。你重新连接上终端,咦,我的jobs命令怎么没有显示我的nohup任务呢?这是因为你的nohup任务的sh进…