【机器学习】On the Identifiability of Nonlinear ICA: Sparsity and Beyond

前言

本文是对On the Identifiability of Nonlinear ICA: Sparsity and Beyond (NIPS 2022)中两个结构稀疏假设的总结。原文链接在Reference中。

什么是ICA(Independent component analysis)?

独立成分分析简单来说,就是给定很多的样本X,通过样本分离出组合成样本的源S。

关于ICA的详细内容,可以参考Yifan Shen的博客:ICA简明攻略

非线性独立成分分析

非线性独立成分分析(ICA)旨在从其可观测的非线性混合物中恢复潜在的独立源。非线性独立成分分析(ICA)是无监督学习的基础。它推广了线性ICA(Comon, 1994),用于从观测数据中识别潜在源。这些观测数据是源的非线性混合。对于观测向量 x x x,非线性ICA将其表示为 x = f ( s ) x = f(s) x=f(s) f f f是一个未知的可逆混合函数, s s s是表示(边缘上)独立源的潜在随机向量。非线性ICA问题的困难点在于,在没有额外假设的情况下是不可解的。即在没有额外假设或限制的情况下,把观测变量分解为独立的元素存在无穷种解。同时分离后的元素仍然是源的混合。

现有的研究引入了辅助变量 u u u(例如,类别标签、域索引、时间索引),并假设在给定 u u u的条件下源是条件独立的。关于这部分工作如果感兴趣可以去看 Hyvärinen的talk。

条件独立

P ( A , B ∣ C ) = P ( A ∣ C ) ⋅ P ( B ∣ C ) P(A, B|C) = P(A|C) \cdot P(B|C) P(A,BC)=P(AC)P(BC)
一个很好的例子:
C指赖床,A指熬夜,B指迟到, P ( A , B ∣ C ) = P ( A ∣ C ) ⋅ P ( B ∣ C ) P(A, B|C) = P(A|C) \cdot P(B|C) P(A,BC)=P(AC)P(BC),赖床的发生使得熬夜想通过赖床来影响迟到的可能为零,即没有别的可能来影响迟到了,所以此时熬夜和迟到就是条件独立了。

结构稀疏(Structural Sparsity)假设

Theorem 1. Let the observed data be sampled from a nonlinear ICA model as defined in Eqs. (1) and (2). Suppose the following assumptions hold:

i. Mixing function f f f is invertible and smooth. Its inverse is also smooth.

ii. For all i ∈ { 1 , … , n } i \in \{1, \ldots, n\} i{1,,n} and j ∈ F i , : j \in \mathcal{F}_{i, :} jFi,:, there exist { s ( ℓ ) } ℓ = 1 ∣ F i , : ∣ \{s^{(\ell)}\}_{\ell=1}^{|\mathcal{F}_{i, :}|} {s()}=1Fi,: and T T T s.t. span { J f ( s ( ℓ ) ) i , : } ℓ = 1 ∣ F i , : ∣ = R F i , : n \text{span}\{J_f(s^{(\ell)})_{i, :}\}_{\ell=1}^{|\mathcal{F}_{i, :}|} = \mathbb{R}^n_{\mathcal{F}_{i, :}} span{Jf(s())i,:}=1Fi,:=RFi,:n and [ J f ( s ( ℓ ) ) T ] j , : ∈ R F ^ i , : n [J_f(s^{(\ell)})^T]_{j, :} \in \mathbb{R}^{n}_{\hat{\mathcal{F}}_{i, :}} [Jf(s())T]j,:RF^i,:n.

iii. ∣ F ^ ∣ ≤ ∣ F ∣ |\hat{\mathcal{F}}| \leq |\mathcal{F}| F^F.

iv. (Structural Sparsity) For all k ∈ { 1 , … , n } k \in \{1, \ldots, n\} k{1,,n}, there exists C k C_k Ck such that

⋂ i ∈ C k F i , : = { k } . \bigcap_{i \in C_k} \mathcal{F}_{i, :} = \{k\}. iCkFi,:={k}.

Then h : = f ^ − 1 ∘ f h := \hat{f}^{-1} \circ f h:=f^1f is a composition of a component-wise invertible transformation and a permutation.
![[Pasted image 20231121180751.png]]

符号含义
  1. J f ( s ) {J_f(s)} Jf(s)表示对源矩阵求偏导得到的雅可比矩阵,如上图所示。
  2. KaTeX parse error: Got function '\hat' with no arguments as subscript at position 4: {J_\̲h̲a̲t̲{f}(\hat{s})} 表示源矩阵经过变换后得到的矩阵求偏导得到的雅可比矩阵。其实就是表示nonlinear ICA求解后得到的矩阵求偏导。因为在有解的情况下,求解出的源只是真实源的排列组合,因此表示称这种形式。后面会用预测值来表示带hat的量
  3. F \mathcal{F} F 表示雅各比矩阵 J f ( s ) {J_f(s)} Jf(s)的support,也就是其不为0的点组成的集合。
  4. F ^ \hat{\mathcal{F}} F^ 表示雅各比矩阵KaTeX parse error: Got function '\hat' with no arguments as subscript at position 4: {J_\̲h̲a̲t̲{f}(\hat{s})}的support,也就是其不为0的点组成的集合。
  5. i , : i,: i,: 表示的是某一行中所有不为0点的索引。也就是横坐标固定,列坐标任取。
  6. s ( l ) s^{(l)} s(l)表示的是第l个源
  7. C k C_k Ck
理论拆解:
  1. 第一条很容易理解。由观测样本X恢复出源S的过程是一个求逆的过程。在 f f f是可逆平滑的情况下才可以求逆,求导。
  2. 第二条表示的意思是源S可能的组合空间足够大(实数)。这条是为了避免ill-posed conditions。比如雅可比矩阵的某一个部分一直满足后面的假设条件,使得假设虽然成立但仍无法求解。
  3. 第三条表示预测雅可比矩阵support的数量小于等于真实雅可比矩阵support support的数量。
  4. 第四条表示的意思是,对于某一列 C k C_k Ck中的行 i i i来说,从support集合 F \mathcal{F} F中取行坐标为 i i i的所有坐标点,也就是取了某一行上的所有support。依次取出所有行的support,在列方向上求交集。一定存在这样的列,它的列坐标是k,可以保证这列存在不止一个support(存在交集),同时这列存在这些support的对应行只在这列上有交集(意思是某些观测值的共同源只有一个)。概括来说就是,一定至少存在一个源,是某些观测变量的唯一共同源。
    满足上述条件的情况下,可以得到对源 s s s做变换 f f f得到实际的 x = f ( s ) x=f(s) x=f(s),再做逆变换 f − 1 f^{-1} f1
    整个过程是分量逐一逆变换加上排列,也就是component-wise invertible transformation and a permutation。
证明
问题简化

证明的目标是 h : = f ^ − 1 ∘ f h := \hat{f}^{-1} \circ f h:=f^1f 为源s的permutation with component-wise invertible变换。也就是: f ^ = f ∘ h − 1 ( s ) \hat{f} = f \circ h^{-1}(s) f^=fh1(s). 假设 D ( s ) D(s) D(s) 表示一个对角矩阵, P P P 表示一个排列变换矩阵。通过使用链式法则, 我们可以把 f ^ = f ∘ h − 1 ( s ) \hat{f} = f \circ h^{-1}(s) f^=fh1(s) 表示为:

J f ^ ( s ^ ) = J f ∘ h − 1 ( h ( s ) ) = J f ∘ g − 1 ∘ P − 1 ( P g ( s ) ) = J f ∘ g − 1 ( P − 1 P g ( s ) ) J P − 1 ( P g ( s ) ) = J f ∘ g − 1 ( g ( s ) ) J P − 1 ( P g ( s ) ) = J f ( g − 1 ( g ( s ) ) ) J g − 1 ( g ( s ) ) J P − 1 ( P g ( s ) ) = J f ( s ) D ( s ) P , (1) \begin{aligned} J_{\hat{f}}(\hat{s}) &= J_{f \circ h^{-1}}(h(s)) \\ &= J_{f \circ g^{-1} \circ P^{-1}}(Pg(s)) \\ &= J_{f \circ g^{-1}}(P^{-1}Pg(s)) J_{P^{-1}}(Pg(s)) \\ &= J_{f \circ g^{-1}}(g(s)) J_{P^{-1}}(Pg(s)) \\ &= J_{f}(g^{-1}(g(s))) J_{g^{-1}}(g(s)) J_{P^{-1}}(Pg(s)) \\ &= J_{f}(s)D(s)P, \end{aligned} \tag{1} Jf^(s^)=Jfh1(h(s))=Jfg1P1(Pg(s))=Jfg1(P1Pg(s))JP1(Pg(s))=Jfg1(g(s))JP1(Pg(s))=Jf(g1(g(s)))Jg1(g(s))JP1(Pg(s))=Jf(s)D(s)P,(1)

其中,g是一个元素可逆函数(invertible element-wise function)。
接着用 T ( s ) = D ( s ) P T(s) = D(s)P T(s)=D(s)P 来表示 D ( s ) P D(s)P D(s)P T ( s ) T(s) T(s)是可逆的。由此目标可以转化为证明(2)成立:
J f ^ ( s ^ ) = J f ( s ) T ( s ) , (2) J_{\hat{f}}(\hat{s}) = J_{f}(s)T(s), \tag{2} Jf^(s^)=Jf(s)T(s),(2)
也就是我们希望证明预测得到的雅可比矩阵,只是真实雅可比矩阵的一个排列
如果变换 T ( s ) T(s) T(s)不是一个简单的排列变换,也就是 T ( s ) ≠ D ( s ) P T(s) \neq D(s)P T(s)=D(s)P,那么(2)就不成立。如果我们能证明 T ( s ) = D ( s ) P T(s) = D(s)P T(s)=D(s)P,也就能说明(2)成立。
接着我们的目标就转化为证明:
T ( s ) = D ( s ) P , (3) T(s) = D(s)P, \tag{3} T(s)=D(s)P,(3)

找源雅可比矩阵,预测雅可比矩阵,变换矩阵T之间的关系

F \mathcal{F} F 表示 J f ( s ) J_f(s) Jf(s) 的支撑集, F ^ \hat{\mathcal{F}} F^ 表示 J f ^ ( s ^ ) J_{\hat{f}}(\hat{s}) Jf^(s^) 的支撑集, τ \tau τ 表示 T ( s ) T(s) T(s) 的支撑集, T T T 表示具有支撑集 τ \tau τ 的矩阵。根据假设 ii,我们可以得到:

span { J f ( s ( ℓ ) ) i } ℓ = 1 ∣ F i , : ∣ = R F i , : n (4) \text{span}\{J_f(s^{(\ell)})_i\}_{\ell=1}^{|\mathcal{F}_{i, :}|} = \mathbb{R}^n_{\mathcal{F}_{i, :}} \tag{4} span{Jf(s())i}=1Fi,=RFi,n(4)

由于 { J f ( s ( ℓ ) ) i } ℓ = 1 ∣ F i , : ∣ \{J_f(s^{(\ell)})_i\}_{\ell=1}^{|\mathcal{F}_{i, :}|} {Jf(s())i}=1Fi, 形成了 R F i , : n \mathbb{R}^n_{\mathcal{F}_{i, :}} RFi,n 的一组基,对于任意 j 0 ∈ F i , : j_0 \in \mathcal{F}_{i, :} j0Fi,,我们可以将热独向量 e j 0 ∈ R F i , : n e_{j_0} \in \mathbb{R}^n_{\mathcal{F}_{i, :}} ej0RFi,n 重写为:

e j 0 = ∑ ℓ ∈ F i , : α ℓ J f ( s ( ℓ ) ) i , : , (5) e_{j_0} = \sum_{\ell \in \mathcal{F}_{i, :}} \alpha_{\ell} J_f(s^{(\ell)})_{i, :}, \tag{5} ej0=Fi,αJf(s())i,:,(5)

其中 α ℓ \alpha_{\ell} α 是对应的系数。则有:

T j 0 , : = e j 0 T = ∑ ℓ ∈ F i , : α ℓ J f ( s ( ℓ ) ) i , : ⋅ T ∈ R F ^ i , : n , (6) T_{j_0, :} = e_{j_0} T = \sum_{\ell \in \mathcal{F}_{i, :}} \alpha_{\ell} J_f(s^{(\ell)})_{i, :} \cdot T \in \mathbb{R}^n_{\hat{\mathcal{F}}_{i, :}}, \tag{6} Tj0,:=ej0T=Fi,:αJf(s())i,:TRF^i,:n,(6)

公式(6)的“ ∈ \in ”符号来自于假设 ii,即(6)求和中的每个元素都属于 R F ^ i , : n \mathbb{R}^n_{\hat{\mathcal{F}}_{i, :}} RF^i,n。因此有:

∀ j ∈ F i , : , T j , : ∈ R F ^ i , : n (7) \forall j \in \mathcal{F}_{i, :}, \quad T_{j, :} \in \mathbb{R}^n_{\hat{\mathcal{F}}_{i, :}} \tag{7} jFi,,Tj,RF^i,n(7)
到这一步我们推出了 T j , : T_{j, :} Tj,: 是属于预测矩阵的支撑集的。

然后我们可以在支撑集之间建立如下关系:

∀ ( i , j ) ∈ F , { i } × τ j , : ⊆ F ^ . (8) \forall (i, j) \in \mathcal{F}, \{i\} \times \tau_{j, :} \subseteq \hat{\mathcal{F}}. \tag{8} (i,j)F,{i}×τj,:F^.(8)

需要注意,这里的 × \times ×表示的是combine。意思是横坐标 i {i} i τ j , : \tau_{j, :} τj,:表示的纵坐标组合起来。

根据假设 i, T ( s ) T(s) T(s) 是一个可逆矩阵,这意味着它有一个非零的行列式值。将矩阵 T ( s ) T(s) T(s) 的行列式为它的 Leibniz 公式展开:

det ( T ( s ) ) = ∑ σ ∈ S n { sgn ( σ ) ∏ i = 1 n T ( s ) i , σ ( i ) } ≠ 0. (9) \text{det}(T(s)) = \sum_{\sigma \in S_n} \{\text{sgn}(\sigma) \prod_{i=1}^n T(s)_{i,\sigma(i)}\} \neq 0. \tag{9} det(T(s))=σSn{sgn(σ)i=1nT(s)i,σ(i)}=0.(9)

其中 S n S_n Sn n n n排列的集合。

由于(9)不为0, 则存在至少一个求和元素是非零的,表示为:

∃ σ ∈ S n , ∀ i ∈ { 1 , … , n } , sgn ( σ ) ∏ i = 1 n T ( s ) i , σ ( i ) ≠ 0. (10) \exists \sigma \in S_n, \forall i \in \{1, \ldots, n\}, \text{sgn}(\sigma) \prod_{i=1}^n T(s)_{i,\sigma(i)} \neq 0. \tag{10} σSn,i{1,,n},sgn(σ)i=1nT(s)i,σ(i)=0.(10)

(10)等价于:

∃ σ ∈ S n , ∀ i ∈ { 1 , … , n } , T ( s ) i , σ ( i ) ≠ 0. (11) \exists \sigma \in S_n, \forall i \in \{1, \ldots, n\}, T(s)_{i,\sigma(i)} \neq 0. \tag{11} σSn,i{1,,n},T(s)i,σ(i)=0.(11)

由此我们可以得到 σ ( ⋅ ) \sigma(·) σ() T ( s ) T(s) T(s) 的支持集中,进而有:

∀ j ∈ { 1 , … , n } , σ ( j ) ∈ T j , : (12) \forall j \in \{1, \ldots, n\}, \sigma(j) \in T_{j, :} \tag{12} j{1,,n},σ(j)Tj,(12)

结合 (8),可以得到:

∀ ( i , j ) ∈ F , ( i , σ ( j ) ) ∈ { i } × T j , : ⊆ F ^ . (13) \forall (i, j) \in \mathcal{F}, (i, \sigma(j)) \in \{i\} \times T_{j, :} \subseteq \hat{\mathcal{F}}. \tag{13} (i,j)F,(i,σ(j)){i}×Tj,:F^.(13)

表示

σ ( F ) = { ( i , σ ( j ) ) ∣ ( i , j ) ∈ F } . (14) \sigma(\mathcal{F}) = \{(i, \sigma(j)) | (i, j) \in \mathcal{F}\}. \tag{14} σ(F)={(i,σ(j))(i,j)F}.(14)

以上我们得到了 F \mathcal{F} F, F ^ \hat{\mathcal{F}} F^, T T T 之间的变换关系。

反证法证明 T ( s ) = D ( s ) P T(s) = D(s)P T(s)=D(s)P成立

假设 T ( s ) ≠ D ( s ) P T(s) \neq D(s)P T(s)=D(s)P,那么:

∃ j 1 ≠ j 2 , τ j 1 , : ∩ τ j 2 , : ≠ ∅ . (15) \exists j_1 \neq j_2, \tau_{j_1, :} \cap \tau_{j_2, :} \neq \varnothing. \tag{15} j1=j2,τj1,:τj2,:=.(15)

此外,考虑 j 3 ∈ { 1 , … , n } j_3 \in \{1, \ldots, n\} j3{1,,n} 使得:

σ ( j 3 ) ∈ τ j 1 , : ∩ τ j 2 , : . (16) \sigma(j_3) \in \tau_{j_1, :} \cap \tau_{j_2, :}. \tag{16} σ(j3)τj1,:τj2,:.(16)

因为 j 1 ≠ j 2 j_1 \neq j_2 j1=j2,我们可以假设 j 3 ≠ j 1 j_3 \neq j_1 j3=j1 而不失一般性(矩阵通常很大, j 3 = j 1 j_3 = j_1 j3=j1 只是概率非常非常小的一种情况,概率小到 1 n \frac{1}{n} n1)。

根据假设 iv, 存在 j 1 ∈ C j 1 j_1 \in C_{j_1} j1Cj1 使得:

⋂ i ∈ C j 1 F i , : = { j 1 } . (17) \bigcap_{i \in C_{j_1}} \mathcal{F}_{i, :} = \{j_1\}. \tag{17} iCj1Fi,:={j1}.(17)

由于:

j 3 ∉ { j 1 } = ⋂ i ∈ C j 1 F i , : , (18) j_3 \not\in \{j_1\} = \bigcap_{i \in C_{j_1}} \mathcal{F}_{i, :}, \tag{18} j3{j1}=iCj1Fi,:,(18)

那么一定存在 i 3 ∈ C j 1 i_3 \in C_{j_1} i3Cj1 使得:

j 3 ∉ F i 3 , : (19) j_3 \not\in \mathcal{F}_{i_3, :} \tag{19} j3Fi3,:(19)

因为 j 1 ∈ F i 3 , : j_1 \in \mathcal{F}_{i_3, :} j1Fi3,:,我们有 ( i 3 , j 1 ) ∈ F (i_3, j_1) \in \mathcal{F} (i3,j1)F。然后根据公式 (8),可以得到:

{ i 3 } × τ j 1 , : ⊆ F ^ . (20) \{i_3\} \times \tau_{j_1, :} \subseteq \hat{\mathcal{F}}. \tag{20} {i3}×τj1,:F^.(20)

σ ( j 3 ) ∈ τ j 1 , : ∩ τ j 2 , : \sigma(j_3) \in \tau_{j_1, :} \cap \tau_{j_2, :} σ(j3)τj1,τj2, 可以得到:

( i 3 , σ ( j 3 ) ) ∈ { i 3 } × τ j 1 , : . (21) (i_3, \sigma(j_3)) \in \{i_3\} \times \tau_{j_1, :}. \tag{21} (i3,σ(j3)){i3}×τj1,.(21)

通过公式(20) 和 (21),我们可以得到:

( i 3 , σ ( j 3 ) ) ∈ F ^ , (22) (i_3, \sigma(j_3)) \in \hat{\mathcal{F}}, \tag{22} (i3,σ(j3))F^,(22)

结合公式 (14) 可知 ( i 3 , j 3 ) ∈ F (i_3, j_3) \in \mathcal{F} (i3,j3)F,与等式 (19) 矛盾。

则可知假设 T ( s ) ≠ D ( s ) P T(s) \neq D(s)P T(s)=D(s)P不成立。

T ( s ) = D ( s ) P T(s) = D(s)P T(s)=D(s)P,得证。

不完备情况下的结构稀疏假设

不完备指观测样本的数量远大于源的数量

Theorem 2. Let the observed data be sampled from a linear ICA model defined in Eqs. ( 1 ) (1) (1) and ( 3 ) (3) (3) with Gaussian sources. Differently, the number of observed variables (denoted as m m m) could be larger than that of the sources n n n, i.e., m ≥ n m \geq n mn. Suppose the following assumptions hold:

i. The nonzero coefficients of the mixing matrix A \mathbf{A} A are randomly drawn from a distribution that is absolutely continuous with respect to Lebesgue measure.

ii. The estimated mixing matrix A ^ \hat{A} A^ has the minimal L 0 L_0 L0 norm during estimation.

iii. (Structural Sparsity) Given C ⊆ { 1 , 2 , … , n } C \subseteq \{1,2,\ldots,n\} C{1,2,,n} where ∣ C ∣ > 1 |C| > 1 C>1, let A C ∈ R m × ∣ C ∣ A_C \in \mathbb{R}^{m \times |C|} ACRm×C represents a submatrix of A ∈ R m × n A \in \mathbb{R}^{m \times n} ARm×n consisting of columns with indices C C C. Then, for all k ∈ C k \in C kC, we have

∣ ⋃ k ′ ∈ C supp ( A k ′ ) ∣ − rank ( overlap ( A C ) ) > ∣ supp ( A k ) ∣ . \left| \bigcup_{k' \in C} \text{supp}(A_{k'}) \right| - \text{rank}(\text{overlap}(A_C)) > \left| \text{supp}(A_k) \right|. kCsupp(Ak) rank(overlap(AC))>supp(Ak).

Then A ^ = A D P \hat{A} = ADP A^=ADP with probability one, where D D D is a diagonal matrix and P P P is a column permutation matrix.

![[Pasted image 20231122193737.png]]

理论拆解:
  1. 第一条:保证了混合矩阵的结构足够复杂,不是特殊的单一结构。
  2. 第二条:L0正则化表示的是矩阵中不为0的点的数量。这条表示预测的混合矩阵越稀疏越好。
  3. 第三条:support的并集(按行求并,也就是向行投影)中support的数量 - 行重叠子矩阵的秩 > 每一列的support support数量。假设的目的是:每个source影响的观测越少越好,source共同作用越小越好。图中是一个例子, k = 1 k = 1 k=1 并且 C = { 1 , 2 , 3 } C = \{1,2,3\} C={1,2,3}。让 A C A_C AC 表示图中所示的子矩阵,其中 ∣ ⋃ k ′ ∈ C supp ( A k ′ ) ∣ = 7. \left| \bigcup_{k' \in C} \text{supp}(A_{k'}) \right| = 7. kCsupp(Ak) =7.蓝色虚线方块表示 overlap ( A C ) \text{overlap}(A_C) overlap(AC) rank ( overlap ( A C ) ) = 2 \text{rank}(\text{overlap}(A_C)) = 2 rank(overlap(AC))=2。因此, ∣ ⋃ k ′ ∈ C supp ( A k ′ ) ∣ − rank ( overlap ( A C ) ) = 5 (黑点的数量) , \left| \bigcup_{k' \in C} \text{supp}(A_{k'}) \right| - \text{rank}(\text{overlap}(A_C)) = 5 \text{(黑点的数量)}, kCsupp(Ak) rank(overlap(AC))=5(黑点的数量), ∣ supp ( A 1 ) ∣ = 4 \left| \text{supp}(A_1) \right| = 4 supp(A1)=4 大。
证明

根据假设(ii),我们考虑以下组合优化问题:

U ^ : = arg ⁡ min ⁡ U ∈ R s × s , U U T = I s ∥ A U ∥ 0 , (1) \hat{U} := \arg \min_{U \in \mathbb{R}^{s \times s}, UU^T=I_s} \|AU\|_0,\tag{1} U^:=argURs×s,UUT=IsminAU0,(1)

其中 A A A 是真实的混合矩阵, U ^ \hat{U} U^ 表示对应于优化问题解的旋转矩阵。设 A ^ = A U ^ \hat{A} = A\hat{U} A^=AU^

用反证法,假设 A ^ ≠ A D P \hat{A} \neq ADP A^=ADP,那么 U ^ ≠ D P \hat{U} \neq DP U^=DP
这意味着存在某个 j ′ ∈ { 1 , … , s } j' \in \{1, \ldots, s\} j{1,,s} 和它对应的行索引集合 I j ′ \mathcal{I}_{j'} Ij ∣ I j ′ ∣ > 1 |\mathcal{I}_{j'}| > 1 Ij>1),使得 U ^ i , j ′ ≠ 0 \hat{U}_{i,j'} \neq 0 U^i,j=0 对所有 i ∈ I j ′ i \in \mathcal{I}_{j'} iIj成立,并且 U ^ i , j ′ = 0 \hat{U}_{i,j'} = 0 U^i,j=0 对所有 i ∉ I j ′ i \notin \mathcal{I}_{j'} i/Ij成立。
由于 U ^ \hat{U} U^ 是可逆的并且具有完整的行秩,为了避免列之间的线性依赖,存在唯一对应于 j ′ j' j 的行索引 i ′ i' i。设:

U ^ : = [ U ^ 1 … U ^ s ] , \hat{U} := \begin{bmatrix} \hat{U}_1 & \ldots & \hat{U}_s \end{bmatrix}, U^:=[U^1U^s],

我们可以得到:

∥ A ^ j ′ ∥ 0 = ∥ A U ^ j ′ ∥ 0 = ∥ ∑ i ∈ I j ′ A i U ^ i , j ′ ∥ 0 . (2) \|\hat{A}_{j'}\|_0 = \|A\hat{U}_{j'}\|_0 = \left\| \sum_{i \in \mathcal{I}_{j'}} A_{i} \hat{U}_{i,j'} \right\|_0. \tag{2} A^j0=AU^j0= iIjAiU^i,j 0.(2)

这里的 ∥ ⋅ ∥ 0 \|\cdot\|_0 0 表示 L 0 L_0 L0 范数,即矩阵中非零元素的数量。

A I j A_{\mathcal{I}_j} AIj 表示由 A A A 的列索引 I j \mathcal{I}_j Ij 组成的子矩阵。注意 A i A_i Ai 表示矩阵 A A A 的第 i i i 列。根据假设 (ii, iii),由于 ∣ I j ′ ∣ > 1 |\mathcal{I}_{j'}| > 1 Ij>1 并且 U i , j ′ ≠ 0 U_{i,j'} \neq 0 Ui,j=0,我们有:

∥ ∑ i ∈ I j ′ A i U ^ i , j ′ ∥ 0 ≥ ∣ ⋃ i ∈ I j ′ supp ( A i ) ∣ − rank ( overlap ( A I j ′ ) ) > ∣ supp ( A i ′ ) ∣ , (3) \left\|\sum_{i \in \mathcal{I}_{j'}} A_i \hat{U}_{i,j'}\right\|_0 \geq \left| \bigcup_{i \in \mathcal{I}_{j'}}\text{supp}(A_{i}) \right| - \text{rank}(\text{overlap}(A_{\mathcal{I}_{j'}})) > \left| \text{supp}(A_{i'}) \right|,\tag{3} iIjAiU^i,j 0 iIjsupp(Ai) rank(overlap(AIj))>supp(Ai),(3)

其中,项 rank ( overlap ( A I j ′ ) ) \text{rank}(\text{overlap}(A_{\mathcal{I}_{j'}})) rank(overlap(AIj)) 表示其所有非零项可能被矩阵的线性组合 ∑ i ∈ I j ′ , A i \sum_{i \in \mathcal{I}_{j'}, A_i} iIj,Ai 消除的行的最大数量。假设 i 排除了违反上述公式的情况,例如, A A A 的两列具有相同的值和support。进而可以保证:

∥ ∑ i ∈ I j ′ A i U ^ i , j ′ ∥ 0 > ∣ supp ( A i ′ ) ∣ = ∥ A i ′ ∥ 0 = ∥ A i ′ U ^ i ′ , j ′ ∥ 0 . (4) \left\|\sum_{i \in \mathcal{I}_{j'}} A_i \hat{U}_{i,j'}\right\|_0 > \left| \text{supp}(A_{i'}) \right| = \left\|A_{i'}\right\|_0 = \left\| A_{i'} \hat{U}_{i',j'} \right\|_0.\tag{4} iIjAiU^i,j 0>supp(Ai)=Ai0= AiU^i,j 0.(4)

然后我们可以构造 U ~ : = [ U ~ 1 … U ~ s ] \tilde{U} := \begin{bmatrix} \tilde{U}_1 & \ldots & \tilde{U}_s \end{bmatrix} U~:=[U~1U~s]
首先,我们将 U ~ i , j ′ \tilde{U}_{i,j'} U~i,j 设置为列 U ~ j ′ \tilde{U}_{j'} U~j 中的唯一非零项。为了简便起见,我们可以将 U ~ i , j ′ \tilde{U}_{i,j'} U~i,j 设为 1。对于其他 j ≠ j ′ j \neq j' j=j 并且 U ^ i , j ≠ 0 \hat{U}_{i,j} \neq 0 U^i,j=0的列 U ~ j \tilde{U}_{j} U~j,我们设 U ~ i , j = 1 \tilde{U}_{i,j} = 1 U~i,j=1。因此:

∥ A U j ^ ∥ 0 > ∥ A U ~ j ∥ 0 , j = j ′ , ∥ A U ^ j ∥ 0 = ∥ A U ~ j ∥ 0 , j ≠ j ′ . (5) \begin{align} \left\|A\hat{U_{j}}\right\|_0 &> \left\|A\tilde{U}_{j}\right\|_0, & j = j', \\ \left\|A\hat{U}_{j}\right\|_0 &= \left\|A\tilde{U}_{j}\right\|_0, & j \neq j'. \end{align} \tag{5} AUj^ 0 AU^j 0> AU~j 0,= AU~j 0,j=j,j=j.(5)

由于假设 iii 涵盖了所有列,公式 (4) 对于任何 j ′ ∈ { 1 , … , s } j' \in \{1, \ldots, s\} j{1,,s} 都成立。如果存在多个 U ^ \hat{U} U^ 的列有多于一个非零项,为每一个列计算得到公式(4)。将不同的目标列索引 j ′ j' j 的集合表示为 J J J。对于 j ∈ J j \in J jJ,设 U ^ i , j = 1 \hat{U}_{i,j} = 1 U^i,j=1,其中 i j i_j ij 是列 U j U_{j} Uj 中对应的非零项的唯一索引。对于其他 j ∉ J j \not\in J jJ 并且 U i , j ≠ 0 U_{i,j} \neq 0 Ui,j=0的列 U j U_{j} Uj,设 U i , j = 1 U_{i,j} = 1 Ui,j=1。则有:

{ ∥ A U ^ j ∥ 0 > ∥ A U ~ j ∥ 0 , j ∈ J , ∥ A U ^ j ∥ 0 = ∥ A U ~ j ∥ 0 , j ∉ J . \left\{ \begin{aligned} \|A{\hat{U}_j}\|_0 &> \|A{\tilde{U}_j}\|_0, & j \in J, \\ \|A{\hat{U}_j}\|_0 &= \|A{\tilde{U}_j}\|_0, & j \notin J. \end{aligned} \right. {AU^j0AU^j0>AU~j0,=AU~j0,jJ,j/J.

如前所述,每个列索引 j j j 对应一个唯一的行索引。 U ~ \tilde{U} U~ 是一个置换矩阵且 U ~ U ~ T = I s \tilde{U}\tilde{U}^T = I_s U~U~T=Is。因此有:

∥ A U ^ ∥ 0 > ∥ A U ~ ∥ 0 , (7) \left\|A\hat{U}\right\|_0 > \left\|A\tilde{U}\right\|_0,\tag{7} AU^ 0> AU~ 0(7)

根据(1), U ^ \hat{U} U^应该是最小值,而(7)说明当 U ^ ≠ D P \hat{U} \neq DP U^=DP时, U ^ \hat{U} U^ 不是最小值。与定义相违背。因此证明 U ^ = D P \hat{U} = DP U^=DP,也就是 A ^ = A D P \hat{A} = ADP A^=ADP成立。

Reference

  1. Zheng, Yujia, Ignavier Ng, and Kun Zhang. “On the identifiability of nonlinear ica: Sparsity and beyond.” Advances in Neural Information Processing Systems 35 (2022): 16411-16422.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/208304.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud - 新版淘汰 Ribbon,在 OpenFeign 中整合 LoadBalancer 负载均衡

目录 一、LoadBalancer 负载均衡 1.1、前言 1.2、LoadBalancer 负载均衡底层实现原理 二、整合 OpenFeign LoadBalancer 2.1、所需依赖 2.2、具体实现 2.3、自定义负载均衡策略 一、LoadBalancer 负载均衡 1.1、前言 在 2020 年以前的 SpringCloud 采用 Ribbon 作为负载…

【C语言】深入理解指针(四)

🌈write in front :🔍个人主页 : 啊森要自信的主页 ✏️真正相信奇迹的家伙,本身和奇迹一样了不起啊! 欢迎大家关注🔍点赞👍收藏⭐️留言📝>希望看完我的文章对你有小小的帮助&am…

【Rxjava详解】(二) 操作符的妙用

文章目录 接口变化操作符mapflatmapdebouncethrottleFirst()takeconcat RxJava 是一个基于 观察者模式的异步编程库,它提供了丰富的操作符来处理和转换数据流。 操作符是 RxJava 的核心组成部分,它们提供了一种灵活、可组合的方式来处理数据流&#xf…

在AWS VPC中运行Nagios检查时指定自定义DNS解析器的选项

在AWS VPC中运行Nagios检查,并希望能够指定自定义DNS解析器来处理请求。我想使用Python requests库来实现这个目标。 根据问题描述,您想在AWS VPC中运行Nagios检查,并希望使用Python的requests库来指定自定义DNS解析器。 要解决这个问题&…

Dubbo从入门到上天系列第十八篇:Dubbo引入注册中心简介以及DubboAdmin简要介绍,为后续详解Dubbo各种注册中心做铺垫!

一:Dubbo注册中心引言 1:什么是Dubbo的注册中心? Dubbo注册中心是Dubbo服务治理中极其重要的一个概念。它主要是用于对Rpc集群应用实例进行管理。 对于我们的Dubbo服务来讲,至少有两部分构成,一部分是Provider一部分是…

spark shuffle 剖析

ShuffleExchangeExec private lazy val writeMetrics SQLShuffleWriteMetricsReporter.createShuffleWriteMetrics(sparkContext)private[sql] lazy val readMetrics SQLShuffleReadMetricsReporter.createShuffleReadMetrics(sparkContext)用在了两个地方,承接的是…

利用 Apache Ranger 管理 Amazon EMR 中的数据权限

需求背景简介 系统安全通常包括两个核心主题:身份验证和授权。一个解决“用户是谁”的问题,另一个解决“用户允许执行什么操作”的问题。在大数据领域,Apache Ranger 是最受欢迎的授权选择之一,它支持所有主流大数据组件&#xff…

filebeat配置解析【待续】

目录 filebeat概览filebeat是如何工作的工作原理采集日志注册表发送日志 容器日志采集的三种方式方式一:Filebeat 与 应用运行在同一容器(不推荐)方式二:Filebeat 与 应用运行不在同一容器方式三:通过 Kubernetes File…

网络渗透测试(wireshark 抓取QQ图片)

1.打开wireshark 这里我用的wifi连接 所以点开wifi就好 打开wifi之后就开始在本机上进行抓包了 我们先给我们的QQ发送一张图片,用自己的手机发送给电脑 然后点击左上角的正方形,停止捕获抓包 QQ的关键词是oicq,所以我们直接找 打开oicq …

Kubernetes+Gitlab+Jenkins+ArgoCD多集群部署

KubernetesGitlabJenkinsArgoCD多集群部署 文章目录 KubernetesGitlabJenkinsArgoCD多集群部署1. KubernetesGitlabJenkinsArgoCD多集群部署2. 添加WebHooks自动触发3. Jenkins-构建-执行Shell4. 制作镜像及修改Yaml文件4.1 Dockerfile4.2 Build-Shell 5.自动部署Demo测试5.1 推…

CSM32RV003:国产高精度16位ADC低功耗RISC-V内核MCU

目录 高精度ADC工业应用工业数据采集应用CSM32RV003简介主要特性 高精度ADC工业应用 高精度ADC即高精度模数转换器,是一种能够将输入模拟信号转换为数字信号的芯片,在多种消费电子、工业、医疗和科研领域都有广泛应用。高精度ADC的主要特点是能够提供高…

飞桨——总结PPOCRLabel中遇到的坑

操作系统:win10 python环境:python3.9 paddleocr项目版本:2.7 1.报错:ModuleNotFoundError: No module named Polygon(已解决) 已解决所以没有复现报错内容 尝试方法一:直接使用pip命令安装&…