一种用几何解nonlinear ICA的方法

Posted Jie Qiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一种用几何解nonlinear ICA的方法相关的知识,希望对你有一定的参考价值。

注:本文是gpICA: A Novel Nonlinear ICA Algorithm Using Geometric Linearization的论文笔记

线性ICA

考虑n个可观测的变量 x = [ x 1 , . . . , x n ] T \\displaystyle \\mathbfx =[ x_1 ,...,x_n]^T x=[x1,...,xn]T,以及不可观察但相互独立的n个源噪声 s = [ s 1 , . . . , s n ] T \\displaystyle \\mathbfs =[ s_1 ,...,s_n]^T s=[s1,...,sn]T,其中x是经过一个mixing matrix A ∈ R n × n \\displaystyle \\mathbfA \\in \\mathbbR^n\\times n ARn×n产生的:

x = A s \\mathbfx =\\mathbfAs x=As

ICA的任务就是从可观测的n个x中恢复出真实的A和s. 这个问题在s是非高斯的情况下是可恢复的,不再赘述。

Noinlinear ICA

类似的,考虑生成方式

x = f ( s ) \\mathbfx =f(\\mathbfs) x=f(s)

这里f是一个非线性函数,那么能否从x恢复出s呢。这问题已被证明在没有额外假设下是不可行的,必须要增加一些额外的假设,一个典型的是Post nonlinear model (PNL):

x i = f i ( A s ) ,   i = 1 , . . . , n x_i =f_i(\\mathbfAs) ,\\ i=1,...,n xi=fi(As), i=1,...,n

PNL的几何解法

PNL模型是已被证明是可识别的,但这里给出一种非常有趣的几何法来求解他,过程如下示意图所示:

以2维作为例子,可以分别将 ( s 1 , s 2 , x 1 ) \\displaystyle ( s_1 ,s_2 ,x_1) (s1,s2,x1) ( s 1 , s 2 , x 2 ) \\displaystyle ( s_1 ,s_2 ,x_2) (s1,s2,x2)作为坐标画出两个经过线性变换得到的平面,然后分别加上一个非线性变换 f i \\displaystyle f_i fi得到两个曲面。我们知道如果是平面那么就退化到linear ICA的情况是可解的,所以PNL的任务就是想办法讲曲面变成平面。

然而一个问题是,我们实际只能观测到z轴上的值,s1,s2是观测不到的,也就是 ( _ , _ , z ) \\displaystyle ( \\_,\\_,z) (_,_,z). 这里提供一种几何的方法来完成这件事情,这里先定义companion pair

我们称 p 1 ( x ,   y ,   z 1 ) , p 2 ( x ,   y ,   z 2 ) \\displaystyle p_1( x,\\ y ,\\ z_1) ,p_2( x,\\ y ,\\ z_2) p1(x, y, z1),p2(x, y, z2),这种只有z轴不同的点称为companion pair. 可以证明,对于任意的点, ( _ , _ , z p 1 ) \\displaystyle ( \\_,\\_,z_p_1) (_,_,zp1)和对应的companion ( _ , _ , z q 1 ) \\displaystyle ( \\_,\\_,z_q_1) (_,_,zq1),以及 ( _ , _ , z p 2 ) \\displaystyle ( \\_,\\_,z_p_2) (_,_,zp2)和对应的compansion ( _ , _ , z q 2 ) \\displaystyle ( \\_,\\_,z_q_2) (_,_,zq2). 我们进一步取,直线 p 1 p 2 \\displaystyle p_1 p_2 p1p2之间任意的一个点 ( _ , _ , z c ) \\displaystyle ( \\_,\\_,z_c) (_,_,zc),还有其对应的在直线 q 1 q 2 \\displaystyle q_1 q_2 q1q2上的compansion ( _ , _ , z q c ) \\displaystyle ( \\_,\\_,z_q_c) (_,_,zqc),那么一定有以下关系成立

z p c − z p 1 z p 2 − z p 1 = z q c − z q 1 z q 2 − z q 1 \\fracz_pc -z_p1z_p2 -z_p1 =\\fracz_qc -z_q1z_q2 -z_q1 zp2zp1zpczp1=zq2zq1zqczq1

这意味着, 给定5个点 p 1 , p 2 , q 1 , q 2 , p c \\displaystyle p_1 ,p_2 ,q_1 ,q_2 ,p_c p1,p2,q1,q2,pc能够预测出第六个点的位置 p q c . \\displaystyle p_q_c . pqc.

这个理论有什么用?以下图为例子:

给定一个曲面和一个任意平面,这个曲面是其中一个 x 1 \\displaystyle x_1 x1的曲面,显然我们可以在平面上随意选两个点 p 1 , p 2 \\displaystyle p_1 ,p_2 p1,p2还有两条线之间的 p c \\displaystyle p_c pc。接下来,在曲面上也选择对应的companion, q 1 , q 2 , q c

以上是关于一种用几何解nonlinear ICA的方法的主要内容,如果未能解决你的问题,请参考以下文章

内容

独立成分分析 ICA 原理及公式推导 示例

ICA (独立成分分析)

css 一种用css-modules写嵌套css的技巧方法

线性回归有解析解为啥还要用梯度下降

插值相关总结