阅读提示

建议读者直接从ICA介绍开始阅读,当你遇到问题时,希望前文给出的一些数学基础可以帮助你,也推荐读者自行搜索,摸清ICA框架下的细节。

背景

ICA是一种经常用于EEG信号伪迹去除的方法,方法来源是盲源问题的分析,经典例子是鸡尾酒会问题。

笔者使用了EEGLAB中关于ICA的插件,发现在使用过程中无需在乎ICA的各种逻辑,just do it! 逻辑十分的简单粗暴,参数也几乎不用动,在这个过程中,笔者常常怀疑结果是否合理,为什么会合理。因此,笔者学习了一些关于ICA的底层原理和逻辑,希望能为自己未来的科研生涯做点好事。

但行好事,无问前程。这句话写给今天为实习、为毕业很焦虑的我自己。

数学基础:奇异值分解(SVD)

前言

所谓“基础”,仅仅是指进入一个领域或者了解一个方法的基石,并不代表内容本身很轻松很容易。这是一块让我自己也觉得头大的介绍内容,因为我在学习线性代数的时候并没有学过,“奇异值分解”的应用广泛性甚至让我质疑自己是否真正学过线代。Anyway,我想这部分的内容是很必要的,我想一边学一边完成对它的介绍。

同时,由于我在本科阶段的数学物理学习过程中常常只关注了如何证明出来,常常对理论的意义认识不清、应用困难。回想起来,虽应对了考试,当常常面对拓展题一筹莫展,日后应用时,除了知道自己证过该理论,该理论合理,但根本不会用,不由得生出一种“丢了西瓜捡了芝麻”的感受。升入高年级后,也基本没有再证过某个理论了,手生也让我对曾学过的东西敬而远之。

正因此,吸取教训,本文旨在让自己建立对知识的直观认识,无意于复杂的证明、逻辑推导等方面。

定义

假设$M$是一个$m\times n$阶矩阵,其中的元素全部属于域$K$,也就是实数域或复数域。如此则存在一个分解使得

$$M=U\Sigma V^H $$

其中,$U$是$m\times m$阶酉矩阵;$\Sigma$是半正定$m\times n$阶对角矩阵;而$V^H$即$V$的共轭转置,是$n\times n$阶酉矩阵。

这样的分解就称作$M$的奇异值分解,$\Sigma$对角线上的元素$\Sigma_i$即为$M$的奇异值。

来自:奇异值分解_百度百科

定义带给人的直接感受是:一个任意的矩阵都可以分解,分解成特定的矩阵乘积。定义中也出现了很多陌生的名词,找找百科逐一理顺。

共轭转置

$A$的共轭转置矩阵用$A^H$来表示,与转置矩阵$A^T$的关系是$A^H=\overline{A^T}$。对于$A=(a_{ij})$,用$\overline{a}$表示$a$的共轭复数,$A^H=(\overline{a_{ji}})$

酉矩阵

幺正矩阵,Unitary matrix

若一$n$行$n$列的复数矩阵$U$满足

$$U^H U=UU^H=I_n$$

其中$I_n$为n阶单位矩阵,则$U$成为酉矩阵,也即$U^{-1}=U^H$。若酉矩阵的元素都是实数,其即为正交矩阵。

正定矩阵与半正定矩阵

对于二次型$f(x_1,x_2,\cdots,x_n)$和与之对应的对称矩阵$A$,如果对于任意的$x=(x_1,x_2,\cdots,x_n)^T\in R^n$,都有$f(x)\geq 0$

  • 当且仅当$x=0$时$f(x)=0$,那么称$f$为正定二次型,称$A$为正定矩阵
  • 存在$x\neq 0$时$f(x)=0$,那么称$f$为半正定二次型,称$A$为半正定矩阵

半正定矩阵的判定条件

  1. 所有主子式非负
  2. 所有特征值非负
  3. else,参考半正定矩阵_百度百科

看了定义,我们好像懂了,又好像没懂。有一种感觉是:你说了这么多,有什么用呢。真是一个好问题哈哈哈。精彩继续,马上回来。

其实是我也不知道哈哈哈,好陌生的一个名词,没有接触过耶。不妨从特征分解开始吧。

特征分解

相似矩阵

设$A$,$B$为$n$阶矩阵,若存在可逆矩阵$P$,使得$P^{-1}AP=B$,则称$A$与$B$是相似的,记作$A\sim B$

来自:《线性代数(第三版)》陈建龙等,定义4.1

有什么用呢?这里插入书中的例子吧。

设数列$\lbrace x_n \rbrace$,$\lbrace y_n \rbrace$满足$\begin{cases} x_n = 3x_{n-1} - y_{n-1} \ \cr y_n = -x_{n-1} + 3y_{n-1} \end{cases} $,其中$x_0=y_0=1$,求$x_n$,$y_n$

在这个例子中,构造了$A=\begin{pmatrix} 3 & -1 \cr -1 & 3 \end{pmatrix} $,问题转换成求$A^n$,并假想存在可逆矩阵$P$,使得$P^{-1}AP=D$。由此引出了相似矩阵。

总结书中提到的相似矩阵的性质如下:

  • 性质4.1 等价
  • 性质4.2 多项式相似
  • 性质4.3 行列式相等
  • 性质4.4 秩相同
  • 性质4.6 迹相同

为进一步引出特征值和特征向量,书中抛出了这样的一个问题:每个$n$阶矩阵均相似于对角阵吗?

定理4.1

$n$阶矩阵$A$相似于对角阵的充分必要条件是存在$n$个线性无关的列向量$\xi_1,\xi_2,\cdots ,\xi_n$和$n$个数$\lambda_1,\cdots ,\lambda_n$使得$A\xi_i=\lambda_i\xi_i(i=1,\cdots ,n)$。此时,若令$P=(\xi_1,\xi_2,\cdots ,\xi_n)$,$\Lambda=\begin{bmatrix} \lambda_1 & \cdots & 0 \cr \vdots & \ddots & \vdots \cr 0 & \cdots & \lambda_n \end{bmatrix} $,则$P^{-1}AP=\Lambda$

该定理提出了一个定义可相似对角化,但是显而易见,这个概念太严格了,$A$必须是满秩矩阵。如果无所谓秩呢?

特征值和特征向量

基于定理4.1,引出了特征值和特征向量的定义。

定义4.3

设$A$为$n$阶矩阵,若存在数$\lambda$和非零向量$\xi$,满足$A\xi=\lambda\xi$,则称$\lambda$为$A$的一个特征值,称$\xi$为$A$的属于特征值$\lambda$的特征向量。

求$A$的特征值与特征向量的步骤如下:

  1. 计算$A$的特征多项式$|\lambda E-A|$
  2. 计算$|\lambda E-A|=0$的全部根,这些根就是$A$的全部特征值
  3. 对每一个特征值$\lambda_i,i=1,2,\cdots ,n$,求线性方程组$(\lambda_i E-A)x=0$的一个基础解系$\eta_1,\cdots ,\eta_t$,于是$A$的属于$\lambda_i$的全部特征向量为$k_1\eta_1+\cdots +k_t\eta_t$,其中$k_1,\cdots, k_t$为任意不全为零的数

现在我们学了很多了,然后呢,不知道,那就问问AI吧。

豆包说特征分解用处

提取一下信息:把复杂矩阵拆成简单部分,让计算更快、结构更清晰

  1. 简化矩阵高次幂运算
  2. 线性变换的本质:特征向量方向上,只伸缩,不旋转、不扭曲
  3. 数据降维:PCA ICA
  4. else

看起来,计算或许就比较符合我们想要的意义了。但看起来从特征分解到奇异值分解,好像还有一段距离,是什么呢?或许我们更想说的是,看看ICA吧。

补充

如果是第一次读到这里,为避免复杂的公式让你感到疲惫,不如先跳过这一部分;如果你刚从独立成分分析-求解跳转到这里,那我们就可以默认为你已经有了一些好奇心了,你想知道矩阵被分解后的每一部分都将怎么求解。抱着这样的好奇心,我搜寻到了一些参考资料,由于个人局限性,这一部分的内容无法做详尽的展开,我想你可以点开下面的参考资料,尤其推荐台湾学者周志成的线性代数网站奇异值分解专题 | 线代启示录,从这个网站中,你一定能和我一样收获良多。

下面的内容只是很少的一部分摘要,建议读者移步奇异值分解专题 | 线代启示录。

SVD定义

假设$A$是一个$m\times n$阶矩阵,其中的元素全部属于域$K$,也就是实数域或复数域。如此则存在一个分解使得

$$A=U\Sigma V^H $$

其中,$U$是$m\times m$阶酉矩阵;$\Sigma$是半正定$m\times n$阶对角矩阵;而$V^H$即$V$的共轭转置,是$n\times n$阶酉矩阵。

这样的分解就称作$M$的奇异值分解,$\Sigma$对角线上的元素$\Sigma_i$即为$M$的奇异值。

来自:奇异值分解_百度百科

直观理解SVD

图1 奇异值分解结构

其中,上图的 $r$ 代表矩阵 $A$ 的秩(Rank),即矩阵 $A$ 中线性独立行或列的最大数目,同时也是奇异值矩阵$\Sigma$ 中非零奇异值的数量,表示着矩阵 $A$ 中所包含的独立信息。$\Sigma$中只有左上角$r\times r$区块对角线元素非零。

如何计算SVD

计算SVD,遵循以下步骤:

  1. 计算$A^TA$和$AA^T$
  2. 求解$V$和$\Sigma$:对$A^TA$做特征值分解,特征值的平方根为奇异值,用来建构$\Sigma$,正规化后的特征向量组成$V$。
  3. 求解$U$,对$AA^T$做特征值分解,正规化后的特征向量组成$U$
  4. 组合$U,\Sigma,V^T$

数学基础:概率统计的一些概念

协方差矩阵

【数学】方差、协方差、协方差矩阵 - LENMOD - 博客园

独立成分分析(ICA)

参考文献
[1] SHLENS J, 2014. A tutorial on independent component analysis[A/OL]. arXiv[2025-10-22]. http://arxiv.org/abs/1404.2986. DOI:10.48550/arXiv.1404.2986.

盲源分离问题

ICA来源于盲源分离问题,为了更清楚地理解接下来的内容,我们需要陈述一下盲源分离问题。

假设有原始信号组$s$,经过线性组合$A$,有观察信号$x$,即$x=As$。我们想做的事情是,已知$x$,是否能反推出$s$。很明显这是一个欠约束问题,就类似于$6=2\times 3=1\times 6,s=?$。

而ICA的解决方法是用$x$的统计学信息提供更多的约束,毕竟实际中我们的$x$往往是空间$\times$时间的矩阵呢,没理由放弃更多的信息。那到底该怎么做呢?

求解

求解策略是“分而治之”的思想,专注于求$A$,并且考虑将$A$也分解成更简单更易求的部分,这就是SVD出现的地方。嘿,这个时候,难道不对“更易求”产生疑问吗?可能我们需要补充了一下SVD的知识了,怎么求这些“部分”呢?我将返回SVD部分继续学习补充。

SVD-补充

见者哀,闻者泪。很抱歉地告诉你的是,当你翻过了奇异值分解这座大山之后,你发现在ICA的数学推导中发挥最大作用的居然是概率统计。嗯……我知道这有一些离谱,明明学了这么多知识了。但还好的是,统计学的定理总要比矩阵好理解一点(maybe)。

这两天也是波折不断,身体不适,心情烦躁。人真的只有在自己身体不舒服的时候才能意识到有一个健康、不拖后腿的身体有多么重要。

言归正传,我们继续论文里的内容。

0.假设

在ICA算法中,有以下假设:

  1. 源信号和观察信号间有线性关系,即$x=As$
  2. 源信号是白化信号,有$\langle ss^T\rangle=I$。用$\langle \cdot \rangle$表示信号的均值,$\langle ss^T\rangle$表示$s$的协方差矩阵。
  3. 源信号之间互相独立

这三个假设增加了约束关系,也使得求解成为可能。

1.矩阵分解

采用“分而治之”的思想,将矩阵$A$做奇异值分解。

$$ A=U\Sigma V^T \tag{1-1} $$

其中,$U^T=U^{-1}$,$V^T=V^{-1}$,$\Sigma$为类对角矩阵。

2.求$U$,$ \Sigma$

使用假设2“$\langle ss^T\rangle=I$”

$$ \begin{aligned} \langle xx^T\rangle &= \langle (As)(As)^T\rangle \\ &=\langle (U\Sigma Vs)(U\Sigma Vs)^T\rangle \\&=U\Sigma V\langle ss^T\rangle V^T \Sigma U^T \\&=U\Sigma^2 U^T\end{aligned} $$

协方差矩阵是实对称矩阵,实对称矩阵可以相似对角化,即

$$ \langle xx^T\rangle =EDE^T$$

其中,$D$为对角矩阵,对角线上值为$\langle xx^T\rangle$的特征值,$E$为正交矩阵,每一列为对应的特征向量。

联立我们的假设和实对称矩阵可相似对角化的定理,我们可以得到$U$、$\Sigma$,即令$U=E$,$\Sigma=D^{\frac{1}{2}}$

3.理解“白化”(whitening)

取$W$作为$A^{-1}$的估计。有$\hat{s}=Wx$

$$W=A^{-1}=(U\Sigma V^T)^{-1}=V \Sigma^{-1} U^T=VD^{-\frac{1}{2}}E^T$$$$\hat{s}=V(D^{-\frac{1}{2}}E^Tx)=Vx_{w}$$

在这里,用$x_w$表示“白化”(whitening)后的数据,$x_w=D^{-\frac{1}{2}}E^Tx$。

$$x \xrightarrow{\text{映射到主成分空间}} E^Tx\xrightarrow{\text{尺度(方差)归一化}}D^{-\frac{1}{2}}E^Tx $$

4.求V

$V$的求解是所有ICA算法的核心,利用的是假设3“源信号之间互相独立”。也就是说,我们的$V$应该使得源信号的估计$\hat{s}=Vx_w$尽可能独立。用什么样的指标来评估独立决定了目标函数的形式。在论文中,举例了以多信息(multi-information)作为评估函数,并进行简化,优化得到目标函数的过程。

这里建议读者阅读论文原文,有不懂的可以询问AI,自己试着代一代公式,我们就不再赘述这一过程了。

$$V = \underset{V}{\arg\min} \sum_i H\left[ \left( V x_w \right)_i \right]$$

其中,$ H\left[\cdot \right]$表示熵(entropy),$H[\boldsymbol{y}] = -\int P(\boldsymbol{y}) \log_2 P(\boldsymbol{y}) d\boldsymbol{y}$

很明显,接下来要解的是一个最优化问题,由于问题的复杂性,我们无法得到解析解,我们只能通过各种算法(梯度下降、启发式)迭代求近似解。读者可以移步至胡理老师的《脑电信号处理与特征提取》第六章 第三节中关于ICA算法稳定性的讨论,这里附上对应英文版书籍的链接EEG Signal Processing and Feature Extraction | Springer Nature Link,读者可自行查阅。

结语

写于2026-3-26

书至这里,本人的第一篇博客就算是完成了,后续应该还会有很多需要补充的内容。希望作者本人能在不断学习中精进自己的理解和认识,为读者呈现上更好的内容。

感谢陪伴。

附

写于2026-3-26

好开心啊哈哈哈,在此留文庆祝喵喵上岸啦。感谢她告诉我这个好消息,已经断联好几个月了,好开心,又要哭了真的。好感动,喵喵超级超级厉害,祝喵喵以后的人生也能顺顺利利的。