基于典型相关性分析的多视图学习方法(基于神经网络的 CCA)——深度广义典型相关性分析(DGCCA)
深度广义典型相关性分析(Deep Generalized Canonical Correlation Analysis, DGCCA)是由Adrian Benton等人提出的,它是深度典型相关分析(DCCA)的进一步拓展,旨在处理多于两个视图(数据集)的典型相关性分析问题。
DGCCA结合了深度学习的强大表示能力和广义典型相关分析(GCCA)的多视图数据融合能力,允许从多个数据源中学习共享的深层表示,这对于多模态数据的分析和融合尤为重要。
DGCCA的目标
DGCCA的目标是在多个数据集之间学习一组共享的潜在表示,即使得每个数据集的潜在表示在CCA意义上具有最大的相关性。
这通过训练多个深度神经网络实现,每个网络负责一个数据集,它们共同学习一组表示,以最大化所有数据集之间的相关性。
DGCCA的数学框架
假设我们有 KKK 个数据集 X1,X2,…,XK\mathbf{X}_1, \mathbf{X}_2, \ldots, \mathbf{X}_KX1,X2,…,XK ,每个数据集包含 NNN 个样本,但可能有不同的特征维度 d1,d2,…,dKd_1, d_2, \ldots, d_Kd1,d2,…,dK 。
DGCCA的目标是找到 KKK 个非线性变换 f1(X1;θ1),f2(X2;θ2),…,fK(XK;θK)f_1(\mathbf{X}_1; \theta_1), f_2(\mathbf{X}_2; \theta_2), \ldots, f_K(\mathbf{X}_K; \theta_K)f1(X1;θ1),f2(X2;θ2),…,fK(XK;θK) ,其中 θi\theta_iθi 是第 iii 个网络的参数,使得变换后的数据在CCA的意义上具有最大的相关性。
DGCCA的损失函数
DGCCA的损失函数通常设计为最大化所有变换后数据集之间的平均相关性,同时可能包含正则化项来避免过拟合。
具体来说,DGCCA的损失函数可以表示为:
LDGCCA=−∑i<jlog∣Cfi(Xi)fj(Xj)Cfi(Xi)fi(Xi)Cfj(Xj)fj(Xj)∣+λΩ(Θ) L_{DGCCA} = - \sum_{i < j} \log \left| \frac{\mathbf{C}_{f_i(X_i)f_j(X_j)}}{\sqrt{\mathbf{C}_{f_i(X_i)f_i(X_i)}\mathbf{C}_{f_j(X_j)f_j(X_j)}}} \right| + \lambda \Omega(\Theta) LDGCCA=−i<j∑log Cfi(Xi)fi(Xi)Cfj(Xj)fj(Xj)Cfi(Xi)fj(Xj) +λΩ(Θ)
其中,
- Cfi(Xi)fj(Xj)\mathbf{C}_{f_i(X_i)f_j(X_j)}Cfi(Xi)fj(Xj) 是
变换后的数据 fi(Xi)f_i(\mathbf{X}_i)fi(Xi) 和 fj(Xj)f_j(\mathbf{X}_j)fj(Xj) 之间的互协方差矩阵。 - Cfi(Xi)fi(Xi)\mathbf{C}_{f_i(X_i)f_i(X_i)}Cfi(Xi)fi(Xi) 和 Cfj(Xj)fj(Xj)\mathbf{C}_{f_j(X_j)f_j(X_j)}Cfj(Xj)fj(Xj) 分别是 fi(Xi)f_i(\mathbf{X}_i)fi(Xi) 和 fj(Xj)f_j(\mathbf{X}_j)fj(Xj) 的
自协方差矩阵。 - Ω(Θ)\Omega(\Theta)Ω(Θ) 是
正则化项, Θ\ThetaΘ 是所有网络参数的集合。 - λ\lambdaλ 是
正则化参数,用于平衡CCA损失和正则化项的影响。
公式解析
- X1,X2,…,XK\mathbf{X}_1, \mathbf{X}_2, \ldots, \mathbf{X}_KX1,X2,…,XK :
原始输入数据集。 - fi(⋅)f_i(\cdot)fi(⋅) :由深度神经网络实现的第 iii 个
非线性变换函数。 - Cfi(Xi)fj(Xj)\mathbf{C}_{f_i(X_i)f_j(X_j)}Cfi(Xi)fj(Xj) :变换后的数据 fi(Xi)f_i(\mathbf{X}_i)fi(Xi) 和 fj(Xj)f_j(\mathbf{X}_j)fj(Xj) 之间的互协方差矩阵,它衡量了这
两组变换后数据的相关性。 - Cfi(Xi)fi(Xi)\mathbf{C}_{f_i(X_i)f_i(X_i)}Cfi(Xi)fi(Xi) 和 Cfj(Xj)fj(Xj)\mathbf{C}_{f_j(X_j)f_j(X_j)}Cfj(Xj)fj(Xj) :分别表示 fi(Xi)f_i(\mathbf{X}_i)fi(Xi) 和 fj(Xj)f_j(\mathbf{X}_j)fj(Xj) 的自协方差矩
阵,用于衡量各自数据集内部的变量变化。 - θi\theta_iθi :第 iii
个深度神经网络的参数。
训练过程
DGCCA的训练过程涉及使用梯度下降或其他优化算法来最小化上述定义的损失函数。
这意味着要调整网络参数 θ1,θ2,…,θK\theta_1, \theta_2, \ldots, \theta_Kθ1,θ2,…,θK ,使得所有变换后的数据在CCA空间中尽可能地相关。
结论
DGCCA克服了DCCA只能处理两个数据集的局限性,允许在多个数据集之间学习深层的共现特征。
通过结合深度学习和多视图数据融合的能力,DGCCA为处理复杂的多模态数据提供了有力的工具,尤其是在需要从不同来源的数据中学习综合表示的场景中,如跨媒体检索、多传感器数据融合等。
更多推荐
所有评论(0)