一种用几何解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 A∈Rn×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 zp2−zp1zpc−zp1=zq2−zq1zqc−zq1
这意味着, 给定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的方法的主要内容,如果未能解决你的问题,请参考以下文章