«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (5): 222-228  DOI: 10.19678/j.issn.1000-3428.0061291
0

引用本文  

张恒, 陈晓红, 蓝宇翔, 等. 基于深度学习的监督型典型相关分析[J]. 计算机工程, 2022, 48(5), 222-228. DOI: 10.19678/j.issn.1000-3428.0061291.
ZHANG Heng, CHEN Xiaohong, LAN Yuxiang, et al. Supervised Canonical Correlation Analysis Based on Deep Learning[J]. Computer Engineering, 2022, 48(5), 222-228. DOI: 10.19678/j.issn.1000-3428.0061291.

基金项目

国家自然科学基金(11971231,12111530);国家重点研发计划(2018YFB2003300)

作者简介

张恒(1998—),男,硕士研究生,主研方向为模式识别、机器学习;
陈晓红,副教授、博士;
蓝宇翔,硕士研究生;
李舜酩,教授、博士

文章历史

收稿日期:2021-03-26
修回日期:2021-05-19
基于深度学习的监督型典型相关分析
张恒1 , 陈晓红1 , 蓝宇翔1 , 李舜酩2     
1. 南京航空航天大学 理学院, 南京 211106;
2. 南京航空航天大学 能源与动力学院, 南京 211106
摘要:典型相关分析(CCA)是利用综合变量对之间的相关关系反映两组指标之间整体相关性的多元统计方法。传统的CCA方法无法有效利用样本的标签信息,导致准确率降低。将类信息融入到深度学习与CCA相结合的深度典型相关分析中,提出一种监督型降维方法DL-SCCA,用于处理带标签的非线性可分数据。在2个独立的深度神经网络(DNN)结构上,增加1个公共的输出维数与数据集类别数相同的全连接层,并且以softmax函数作为该层的激活函数,输出带有概率意义的编码向量。在此基础上,利用全连接输出与样本标签信息之间的交叉熵对DNN进行训练,获得分类性能较优的低维特征。实验结果表明,该方法采用最近邻分类器和网络本身结构得到的分类准确率分别为98.00%和97.82%,相比CCA、DisCCA、DCCA等方法,能够有效利用样本的标签信息,并且具有较优的分类性能。
关键词典型相关分析    深度神经网络    交叉熵    数据降维    监督学习    
Supervised Canonical Correlation Analysis Based on Deep Learning
ZHANG Heng1 , CHEN Xiaohong1 , LAN Yuxiang1 , LI Shunming2     
1. College of Science, Nanjing University of Aeronautics and Astronautics, Nanjing 211106, China;
2. College of Energy and Power Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 211106, China
Abstract: Canonical Correlation Analysis (CCA) is a multivariate statistical method, which uses the correlation between comprehensive variable pairs to reflect the overall correlation between two groups of indicators.The traditional CCA method can not effectively use the label information of samples, resulting in low accuracy.The class information is integrated into the Deep Canonical Correlation Analysis (DCCA) combined with deep learning and CCA, and a supervised dimensionality reduction method, DL-SCCA, is proposed to deal with nonlinear separable data with labels.Different Deep Neural Networks (DNN) are established for the samples of two views, and their nonlinear transformation and correlation analysis are carried out.Based on the structure of Deep Neural Networks (DNN), a full connection layer with the same common output dimension and number of categories of the data set is added to the two independent DNN.The softmax function is used as the activation function of this layer, which outputs coding vector with probability significance.On this basis, the DNN is trained using the cross-entropy between the full connection output and the sample label information, and low-dimensional features with better classification performance are obtained.The experimental results show that the classification accuracy of this method is 98.00% and 97.82% by using nearest neighbor classifier and network structure respectively.Compared with CCA, DisCCA, and DCCA, the proposed method can effectively use the label imformation of samples and has better classification performace.
Key words: Canonical Correlation Analysis(CCA)    Deep Neural Network(DNN)    cross-entropy    data dimension reduction    supervised learning    

开放科学(资源服务)标志码(OSID):

0 概述

典型相关分析[1-3](Canonical Correlation Analysis,CCA)是经典的多视图数据降维方法,其广泛应用在计算机视觉[4]、故障检测[5]和风险评估[6]等领域,基本原理是将两个视图映射到同一个子空间中,使其在该子空间中的相关性最大。

由于在CCA的建模过程中未利用样本的标签信息,因此其属于无监督降维方法。针对有标签信息的多视图数据,文献[7]提出判别型典型相关分析(Discriminative Canonical Correlation Analysis,DisCCA),能够同时最大化类内相关性且最小化类间相关性。文献[8]将CCA与线性判别分析相结合,提出多视图线性判别分析(Multi-view Linear Discriminative Analysis,MLDA),多视图不相关线性判别分析[9](Multi-view Uncorrelated Linear Discriminative Analysis,MULDA)进一步消除了MLDA降维后样本特征之间的冗余信息。

CCA作为线性降维方法,无法有效处理非线性可分的数据。为此,在CCA中引入核技巧[10]、流形学习[11]和深度神经网络[12]作为处理非线性可分数据的主要方法。文献[13]将核技巧引入到CCA中,提出核典型相关分析(Kernel Canonical Correlation Analysis,KCCA)。针对数据量较大的数据集,KCCA计算复杂度较高,文献[14]提出随机非线性典型相关分析(Randomized Nonlinear Canonical Correlation Analysis,RCCA),利用随机非线性投影处理数据的非线性特征,大幅降低了计算复杂度。文献[15]提出局部保持典型相关分析(Locality Preserving Canonical Correlation Analysis,LPCCA),旨在尽可能地保留数据的局部线性特征,并且降低全局非线性特征。文献[16]提出一种基于低秩表示的多视图典型相关分析方法(LRMCCA),该方法保留了数据的局部特征和全局特征,利用低秩表示代替欧氏距离,降低了对噪声的敏感度。文献[17]将CCA与深度学习相结合,提出深度典型相关分析(Deep Canonical Correlation Analysis,DCCA),即利用深度神经网络对两个视图进行非线性变换,通过训练使这两个深度神经网络输出数据之间的相关性最大。文献[18]提出深度典型相关自动编码器(DCCAE),不仅保证了两个深度神经网络输出数据的相关性最大,而且能准确地重构出原始数据。

文献[19]提出监督型深度典型相关分析(Supervised Deep Canonical Correlation Analysis,SDCCA),旨在样本经深度神经网络映射后,利用两个视图的类内散度矩阵寻找使不同视图间的相关性更大且同类样本更紧凑的特征。类似地,文献[20]将DCCA与DisCCA相结合,提出深度判别型典型相关分析(Deep Discriminative Canonical Correlation Analysis,DDCCA),利用深度神经网络对两个视图的数据进行非线性变换,引入指示矩阵使得两个网络输出数据的类内相关性最大且类间相关性最小。SDCCA和DDCCA同时克服了CCA的线性和无监督的局限性。

本文提出一种基于深度学习的监督型降维方法DL-SCCA。在2个独立的深度神经网络结构上,通过增加1个共同的全连接层,以softmax函数作为该层的激活函数,利用该层的输出与标签信息之间的交叉熵对深度神经网络进行训练,以降低计算类内散度矩阵和指示矩阵的计算量,并且减少信息冗余。

1 相关工作 1.1 典型相关分析

CCA的目标是为两个视图找到两个投影向量,使得投影后两个视图的相关性最大。CCA给定两个零均值的数据集$ \mathit{\boldsymbol{X}}=[{\mathit{\boldsymbol{x}}}_{1}, {\mathit{\boldsymbol{x}}}_{2}, \cdots , {\mathit{\boldsymbol{x}}}_{N}]\in {\mathbb{R}}^{{d}_{x}\times N} $$ \mathit{\boldsymbol{Y}}=[{\mathit{\boldsymbol{y}}}_{1}, {\mathit{\boldsymbol{y}}}_{2}, \cdots , $ $ {\mathit{\boldsymbol{y}}}_{N}]\in {\mathbb{R}}^{{d}_{y}\times N} $,寻找一对投影向量$ {\mathit{\boldsymbol{w}}}_{x}\in {\mathbb{R}}^{{d}_{x}} $$ {\mathit{\boldsymbol{w}}}_{y}\in {\mathbb{R}}^{{d}_{y}} $,使得$ {\mathit{\boldsymbol{w}}}_{x}^{\mathrm{T}}\mathit{\boldsymbol{X}} $$ {\mathit{\boldsymbol{w}}}_{y}^{\mathrm{T}}\mathit{\boldsymbol{Y}} $的相关系数最大[2],如式(1)所示:

$ \underset{{\mathit{\boldsymbol{w}}}_{x}, {\mathit{\boldsymbol{w}}}_{y}}{\mathrm{m}\mathrm{a}\mathrm{x}}\frac{{\mathit{\boldsymbol{w}}}_{x}^{\mathrm{T}}{\mathit{\boldsymbol{C}}}_{xy}{\mathit{\boldsymbol{w}}}_{y}}{\sqrt{\left({\mathit{\boldsymbol{w}}}_{x}^{\mathrm{T}}{\mathit{\boldsymbol{C}}}_{xx}{\mathit{\boldsymbol{w}}}_{x}\right)\left({\mathit{\boldsymbol{w}}}_{y}^{\mathrm{T}}{\mathit{\boldsymbol{C}}}_{yy}{\mathit{\boldsymbol{w}}}_{y}\right)}} $ (1)

其中:$ {\mathit{\boldsymbol{C}}}_{xx}=\mathit{E}\left(\mathit{\boldsymbol{X}}{\mathit{\boldsymbol{X}}}^{\mathrm{T}}\right) $$ {\mathit{\boldsymbol{C}}}_{xy}=\mathit{E}\left(\mathit{\boldsymbol{X}}{\mathit{\boldsymbol{Y}}}^{\mathrm{T}}\right) $$ {\mathit{\boldsymbol{C}}}_{yy}=\mathit{E}\left(\mathit{\boldsymbol{Y}}{\mathit{\boldsymbol{Y}}}^{\mathrm{T}}\right) $。由于$ {\mathit{\boldsymbol{w}}}_{x} $$ {\mathit{\boldsymbol{w}}}_{y} $具有尺度不变性,因此可将式(1)改写为:

$ \begin{array}{l}\underset{{\mathit{\boldsymbol{w}}}_{x}, {\mathit{\boldsymbol{w}}}_{y}}{\mathrm{m}\mathrm{a}\mathrm{x}}\,\,{\mathit{\boldsymbol{w}}}_{x}^{\mathrm{T}}{\mathit{\boldsymbol{C}}}_{xy}{\mathit{\boldsymbol{w}}}_{y}\\ \mathrm{s}.\mathrm{t}.{\mathit{\boldsymbol{w}}}_{x}^{\mathrm{T}}{\mathit{\boldsymbol{C}}}_{xx}{\mathit{\boldsymbol{w}}}_{x}={\mathit{\boldsymbol{w}}}_{y}^{\mathrm{T}}{\mathit{\boldsymbol{C}}}_{yy}{\mathit{\boldsymbol{w}}}_{y}=1\end{array} $ (2)

如果将原始数据投影到多维空间,CCA的目标函数如式(3)所示:

$ \begin{array}{l}\underset{{\mathit{\boldsymbol{W}}}_{x}, {\mathit{\boldsymbol{W}}}_{y}}{\mathrm{m}\mathrm{a}\mathrm{x}}\mathrm{t}\mathrm{r}\left({\mathit{\boldsymbol{W}}}_{x}^{\mathrm{T}}{\mathit{\boldsymbol{C}}}_{xy}{\mathit{\boldsymbol{W}}}_{y}\right)\\ \mathrm{s}.\mathrm{t}.{\mathit{\boldsymbol{W}}}_{x}^{\mathrm{T}}{\mathit{\boldsymbol{C}}}_{xx}{\mathit{\boldsymbol{W}}}_{x}={\mathit{\boldsymbol{W}}}_{y}^{\mathrm{T}}{\mathit{\boldsymbol{C}}}_{yy}{\mathit{\boldsymbol{W}}}_{y}=\mathit{\boldsymbol{I}}\end{array} $ (3)

其中:$ {\mathit{\boldsymbol{W}}}_{x}\in {\mathbb{R}}^{{d}_{x}\times k} $$ {\mathit{\boldsymbol{W}}}_{y}\in {\mathbb{R}}^{{d}_{y}\times k} $$ k\le \mathrm{m}\mathrm{i}\mathrm{n}({d}_{x}, {d}_{y}) $)分别为XY的投影向量,通过对矩阵$ \mathit{\boldsymbol{T}}={\mathit{\boldsymbol{C}}}_{xx}^{-1/2}{\mathit{\boldsymbol{C}}}_{xy}{\mathit{\boldsymbol{C}}}_{yy}^{-1/2} $进行奇异值分解求得。$ {\mathit{\boldsymbol{U}}}_{k} $$ {\mathit{\boldsymbol{V}}}_{k} $分别表示$ \mathit{\boldsymbol{T}} $的前$ k $个奇异值对应的左奇异向量和右奇异向量,则$ {\mathit{\boldsymbol{W}}}_{x}^{}={\mathit{\boldsymbol{C}}}_{xx}^{-1/2}{\mathit{\boldsymbol{U}}}_{k} $$ {\mathit{\boldsymbol{W}}}_{y}^{}={\mathit{\boldsymbol{C}}}_{yy}^{-1/2}{\mathit{\boldsymbol{V}}}_{k} $

1.2 深度典型相关分析

DCCA将深度神经网络引入到多视图学习中,通过两个深度神经网络分别对两个视图进行非线性变换,并对这两个网络进行训练,使其输出之间的相关性最大。

$ {f}_{x}(\mathit{\boldsymbol{X}};{\theta }_{x}) $$ {f}_{y}(\mathit{\boldsymbol{Y}};{\theta }_{y}) $为两个视图所对应的深度神经网络,其中$ {\theta }_{x} $$ {\theta }_{y} $分别为两个网络中的参数,则DCCA如式(4)所示:

$ \underset{{\theta }_{x}, {\theta }_{y}}{\mathrm{m}\mathrm{a}\mathrm{x}}\rho \left({f}_{x}\right(\mathit{\boldsymbol{X}};{\theta }_{x}), {f}_{y}(\mathit{\boldsymbol{Y}};{\theta }_{y}\left)\right) $ (4)

其中:$ \rho (\cdot , \cdot ) $为相关系数。对于样本数量为$ m $的一批训练集,设$ {\mathit{\boldsymbol{H}}}_{x}\in {\mathbb{R}}^{k\times m} $$ {\mathit{\boldsymbol{H}}}_{y}\in {\mathbb{R}}^{k\times m} $分别为两个深度神经网络对$ m $个样本的输出。令$ {\stackrel{-}{\mathit{\boldsymbol{H}}}}_{x}=({\mathit{\boldsymbol{H}}}_{x}-1)/m{\mathit{\boldsymbol{H}}}_{x}{11}^{\mathrm{T}} $,其中$ 1 $$ m $维的全1向量,同理可得$ {\stackrel{-}{\mathit{\boldsymbol{H}}}}_{y} $。定义$ {\widehat{\mathit{\boldsymbol{C}}}}_{xy}= $$ 1/(m-1){\stackrel{-}{\mathit{\boldsymbol{H}}}}_{x}{\stackrel{-}{\mathit{\boldsymbol{H}}}}_{y}^{\mathrm{T}} $$ {\widehat{\mathit{\boldsymbol{C}}}}_{xx}=1/(m-1){\stackrel{-}{\mathit{\boldsymbol{H}}}}_{x}{\stackrel{-}{\mathit{\boldsymbol{H}}}}_{x}^{\mathrm{T}}+{r}_{x}\bf{I} $,同理可定义$ {\widehat{\mathit{\boldsymbol{C}}}}_{yy} $,其中$ {r}_{x} $为正则化参数(对$ {\widehat{\mathit{\boldsymbol{C}}}}_{yy} $同样有$ {r}_{y} $)。由1.1节可知,$ {\mathit{\boldsymbol{H}}}_{x} $$ {\mathit{\boldsymbol{H}}}_{y} $$ k $个相关系数之和等于矩阵$ \widehat{\mathit{\boldsymbol{T}}}={\widehat{\mathit{\boldsymbol{C}}}}_{xx}^{-1/2}{\widehat{\mathit{\boldsymbol{C}}}}_{xy}{\widehat{\mathit{\boldsymbol{C}}}}_{yy}^{-1/2} $$ k $个奇异值之和。因此,在DCCA中引入核范数,目标函数如式(5)所示:

$ \begin{array}{c}\underset{{\theta }_{x}, {\theta }_{y}}{\mathrm{m}\mathrm{a}\mathrm{x}}\rho ({\mathit{\boldsymbol{H}}}_{1}, {\mathit{\boldsymbol{H}}}_{2})={‖\widehat{\mathit{\boldsymbol{T}}}‖}_{\mathrm{*}}=tr\left[({\widehat{\mathit{\boldsymbol{T}}}}^{\mathrm{T}}{\widehat{\mathit{\boldsymbol{T}}})}^{1/2}\right]\end{array} $ (5)

DCCA采用梯度下降的方式进行参数学习,对矩阵$ \widehat{\mathit{\boldsymbol{T}}} $进行SVD分解得$ \widehat{\mathit{\boldsymbol{T}}}=\mathit{\boldsymbol{U}}\mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}}^{T} $,如式(6)所示:

$ \frac{\partial \rho ({\mathit{\boldsymbol{H}}}_{x}, {\mathit{\boldsymbol{H}}}_{y})}{\partial {\mathit{\boldsymbol{H}}}_{x}}=\frac{1}{m-1}(2{\nabla }_{xx}{\mathit{\boldsymbol{H}}}_{x}+{\nabla }_{xy}{\mathit{\boldsymbol{H}}}_{y}) $ (6)

其中:

$ \begin{array}{l}{\nabla }_{xy}={\mathit{\boldsymbol{C}}}_{xx}^{-1/2}\mathit{\boldsymbol{U}}{\mathit{\boldsymbol{V}}}^{\mathrm{T}}{\mathit{\boldsymbol{C}}}_{yy}^{-1/2}\\ {\nabla }_{xx}=-\frac{1}{2}{\mathit{\boldsymbol{C}}}_{xx}^{-1/2}\mathit{\boldsymbol{U}}\mathit{\boldsymbol{D}}{\mathit{\boldsymbol{U}}}^{\mathrm{T}}{\mathit{\boldsymbol{C}}}_{xx}^{-1/2}\end{array} $ (7)

同理可得$ \partial \rho ({\mathit{\boldsymbol{H}}}_{x}, {\mathit{\boldsymbol{H}}}_{y})/\partial {\mathit{\boldsymbol{H}}}_{y} $。根据链式求导法则,DCCA依次求得目标函数对每个参数的偏导数,利用基于梯度的优化方法实现对深度神经网络的训练。

2 监督型典型相关分析

监督信息和深度学习的融入提高了CCA的性能,受此启发,本文提出基于深度学习的监督型典型相关分析(DL-SCCA)。DL-SCCA分别对两个视图的样本建立不同的深度神经网络进行非线性变换,同时对输出的样本矩阵进行相关性分析,在2个独立的网络上增加1个共同的全连接层,利用softmax函数对该层的输出进行非线性变换,最后计算该层输出与类别标签信息之间的交叉熵,使得两个网络输出数据之间的相关性与交叉熵的相反数之和最大化。

假设两个视图的样本矩阵分别为$ \mathit{\boldsymbol{X}}\in {\mathbb{R}}^{{d}_{x}\times N} $$ \mathit{\boldsymbol{Y}}\in {\mathbb{R}}^{{d}_{y}\times N} $,且所有样本属于$ C $个类。对于第1个视图,假设对应的深度神经网络有$ L $层,输出层的节点个数为$ k $,输入层的节点个数为$ {d}_{x} $,其他层的节点个数均为$ {c}_{x} $。则第$ l $层的输出为$ {\mathit{\boldsymbol{a}}}_{x}^{l}=\phi ({{\mathit{\boldsymbol{W}}}_{x}^{\left(l\right)}}^{\mathrm{T}}{\mathit{\boldsymbol{a}}}_{x}^{l-1}+{\mathit{\boldsymbol{b}}}_{x}^{l}) $,其中,$ 1\le l\le L $$ {\mathit{\boldsymbol{a}}}_{x}^{0} $为样本输入值,$ {\mathit{\boldsymbol{a}}}_{x}^{L} $为样本输出值,$ {\mathit{\boldsymbol{W}}}_{x}^{l} $为第$ l $层的连接权重,$ {\mathit{\boldsymbol{b}}}_{x}^{l} $为第$ l $层的偏置,$ \phi (\cdot ) $为非线性激活函数。类似地可得出第2个视图的深度神经网络结构。

在两个独立的深度神经网络结构上,再增加一层带有$ C $个神经元的输出层,记为$ L+1 $层。该层根据标签信息指导训练网络。$ L+1 $层与两个深度神经网络均为全连接,连接权重为$ {\mathit{\boldsymbol{W}}}_{x}^{L+1} $$ {\mathit{\boldsymbol{W}}}_{y}^{L+1} $,偏置为$ {\mathit{\boldsymbol{b}}}_{}^{L+1} $,激活函数为softmax,其输出如式(8)所示:

$ \begin{array}{c}{p}_{i}=\frac{\mathrm{e}\mathrm{x}\mathrm{p}\left({z}_{i}^{L+1}\right)}{\sum\limits_{j=1}^{C}\mathrm{e}\mathrm{x}\mathrm{p}\left({z}_{j}^{L+1}\right)}, i=\mathrm{1, 2}, \cdots , C\end{array} $ (8)

其中:$ {z}_{}^{L+1}=({\mathit{\boldsymbol{W}}}_{x}^{L+1}{)}^{\mathrm{T}}{\mathit{\boldsymbol{a}}}_{x}^{L}+({\mathit{\boldsymbol{W}}}_{y}^{L+1}{)}^{\mathrm{T}}{\mathit{\boldsymbol{a}}}_{y}^{L}+{\mathit{\boldsymbol{b}}}_{}^{L+1}\in {\mathbb{R}}^{C} $。DL-SCCA在第4层的深度神经网络结构如图 1所示。

Download:
图 1 DL-SCCA的深度神经网络结构 Fig. 1 Structure of deep neural network of DL-SCCA

令标签$ \mathit{\boldsymbol{q}}\in {\mathbb{R}}^{C} $是one-hot向量,若该样本属于第$ i $类,则$ {q}_{i}=1 $$ {q}_{j}=0(j\ne i) $。与DCCA类似,DL-SCCA同样采用批次输入的方式训练网络。假设每次输入的样本数量为$ m $$ \mathit{\boldsymbol{Q}}=[{\mathit{\boldsymbol{q}}}^{{}_{1}}, {\mathit{\boldsymbol{q}}}^{{}_{2}}, \cdots , {\mathit{\boldsymbol{q}}}^{{}_{m}}]\in $$ {\mathbb{R}}^{C\times m} $为类别标签矩阵,$ {\mathit{\boldsymbol{H}}}_{x}\in {\mathbb{R}}^{k\times m} $$ {\mathit{\boldsymbol{H}}}_{y}\in {\mathbb{R}}^{k\times m} $为2个深度神经网络的输出矩阵,$ \mathit{\boldsymbol{P}}=[{\mathit{\boldsymbol{p}}}^{{}_{1}}, {\mathit{\boldsymbol{p}}}^{{}_{2}}, \cdots , {\mathit{\boldsymbol{p}}}^{{}_{m}}]\in {\mathbb{R}}^{C\times m} $$ L+1 $层的输出。DL-SCCA旨在使$ {\mathit{\boldsymbol{H}}}_{x} $$ {\mathit{\boldsymbol{H}}}_{y} $$ k $个相关系数之和以及$ \mathit{\boldsymbol{P}} $$ \mathit{\boldsymbol{Q}} $的交叉熵相反数最大化。DL-SCCA采用与1.2节相同的方式定义$ \widehat{\mathit{\boldsymbol{T}}} $,则目标函数如式(9)所示:

$ \begin{array}{cc}\underset{{\theta }_{x}, {\theta }_{y}, {\mathit{\boldsymbol{W}}}_{x}^{L+1}, {\mathit{\boldsymbol{W}}}_{y}^{L+1}, {\mathit{\boldsymbol{b}}}_{}^{L+1}}{\mathrm{m}\mathrm{a}\mathrm{x}}& {‖\widehat{\mathit{\boldsymbol{T}}}‖}_{\mathrm{*}}+\sum\limits_{j=1}^{m}({\mathit{\boldsymbol{q}}}_{}^{j}{)}^{\mathrm{T}}\mathrm{\;l}\mathrm{n\;}{\mathit{\boldsymbol{p}}}_{}^{j}\end{array} $ (9)

本文采用基于梯度的优化方法对DL-SCCA的网络参数进行更新。式(9)第一项对$ {\mathit{\boldsymbol{H}}}_{x} $$ {\mathit{\boldsymbol{H}}}_{y} $的偏导数方法与式(6)一致。令式(9)第二项为$ E=\sum\limits_{j=1}^{m}\sum\limits_{i=1}^{C}{q}_{i}^{j}\mathrm{\;l}\mathrm{n\;}{p}_{i}^{j} $,下面计算$ E $对于$ L+1 $$ m $个样本的线性加权和$ \mathit{\boldsymbol{Z}}\in {\mathbb{R}}^{C\times m} $的偏导数。由于:

$ \begin{array}{l}\frac{\partial \sum\limits_{i=1}^{C}{q}_{i}^{}\mathrm{\;l}\mathrm{n\;}{p}_{i}^{}}{\partial {z}_{t}^{L+1}}=\frac{\partial {q}_{t}^{}\mathrm{\;l}\mathrm{n\;}{p}_{t}^{}}{\partial {p}_{t}^{}}\frac{\partial {p}_{t}^{}}{\partial {z}_{t}^{L+1}}+\sum\limits_{i=1, i\ne t}^{C}\frac{\partial {q}_{i}^{}\mathrm{\;l}\mathrm{n\;}{p}_{i}^{}}{\partial {p}_{i}^{}}\frac{\partial {p}_{i}^{}}{\partial {z}_{t}^{L+1}}=\\ \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \frac{{q}_{t}^{}}{{p}_{t}^{}}({p}_{t}^{}-{p}_{t}^{2})\mathrm{ }-\sum\limits_{i=1, i\ne t}^{C}\frac{{q}_{i}^{}}{{p}_{i}^{}}{p}_{i}^{}{p}_{t}={q}_{t}-{p}_{t}\end{array} $

因此:

$ \begin{array}{cc}\frac{\partial \sum\limits_{i=1}^{C}{q}_{i}^{}\mathrm{\;l}\mathrm{n\;}{p}_{i}^{}}{\partial {\mathit{\boldsymbol{z}}}_{}^{(L+1)}}& =\end{array}\mathit{\boldsymbol{q}}-\mathit{\boldsymbol{p}} $ (10)

则:

$ \frac{\partial E}{\partial \mathit{\boldsymbol{Z}}}=\mathit{\boldsymbol{Q}}-\mathit{\boldsymbol{P}} $ (11)

根据链式求导法则,本文求得目标函数对所有参数的梯度,从而基于梯度对参数进行更新。

DDCCA、SDCCA和DL-SCCA均将深度神经网络和样本标签信息分别与CCA相结合。图 2所示为DCCA、DDCCA、SDCCA和DL-SCCA的深度神经网络结构。DCCA、DDCCA和SDCCA具有相同的深度神经网络结构。DCCA的深度神经网络对每个视图数据进行非线性变换,然后对变换后的数据进行相关性分析。该过程未利用样本的标签信息,属于无监督降维。在相关性分析时,基于DisCCA原理,DDCCA实现了类内相关性最大化和类间相关性最小化。SDCCA在相关性分析时,不仅使两个视图的相关性最大,并且使得两个视图的类内散度最小。这两种方法在构造指示矩阵和类内散度矩阵时,不仅耗时,而且存在信息冗余的问题。

Download:
图 2 深度神经网络的结构 Fig. 2 Structure of deep neural networks

针对该问题,DL-SCCA将标签信息与DCCA相结合,在DCCA网络结构的基础上增加一个公共的全连接层如图 2(d)的阴影部分,不仅关注两个视图数据之间的相关性,还通过交叉熵相反数最大化的方式直接将数据的标签信息运用在深度神经网络的训练中。这种方式提取的特征保证了两个视图的相关性最大化,同时使得不同类样本之间的可分性最大化。与DDCCA和SDCCA相比,DL-SCCA具有2个优点:1)无需构造类内和类间散度矩阵,降低了计算复杂度;2)该方法不仅对原始高维数据进行降维,而且增加的公共全连接层使其具有分类功能。

3 实验与分析 3.1 实验设置 3.1.1 实验数据集

本文分别在如下6个数据集上进行实验。

1)WDBC数据集有2个视图,包含2类,共计569个样本。

2)WebKB数据集有2个视图,包含2类,共计1 051个样本。

3)MFD数据集有6个视图,包含10类,共计2 000个样本。

4)Dermatology数据集有2个视图,包含6类,共计358个样本。

5)ForestTypes数据集有2个视图,包含4类,共计523个样本。

6)ULC数据集共有2个视图,包含9类,共计675个样本。

3.1.2 不同方法对比

本文选择CCA、DisCCA、DCCA和DDCCA这4种降维方法进行对比,其中DisCCA在CCA的基础上加入了判别信息。DCCA由CCA与深度神经网络相结合得到,利用深度神经网络的非线性特征将CCA非线性化。DDCCA将DCCA与DisCCA相融合,在DCCA的基础上引入判别信息。

3.1.3 评价指标

在CCA和DisCCA中,提取数据集$ \mathit{\boldsymbol{X}} $$ \mathit{\boldsymbol{Y}} $的前$ k $对典型向量,即$ {\mathit{\boldsymbol{W}}}_{x}=[{\mathit{\boldsymbol{w}}}_{x}^{1}, {\mathit{\boldsymbol{w}}}_{x}^{2}, \cdots , {\mathit{\boldsymbol{w}}}_{x}^{k}]\in {\mathbb{R}}^{{d}_{x}\times k} $$ {\mathit{\boldsymbol{W}}}_{y}=[{\mathit{\boldsymbol{w}}}_{y}^{1}, {\mathit{\boldsymbol{w}}}_{y}^{2}, \cdots , $ $ {\mathit{\boldsymbol{w}}}_{y}^{k}]\in {\mathbb{R}}^{{d}_{y}\times k} $。本文采用串行的方式将两个视图的特征进行融合,得到$ [{\mathit{\boldsymbol{X}}}^{\mathrm{T}}{\mathit{\boldsymbol{W}}}_{x}^{}, {\mathit{\boldsymbol{Y}}}^{\mathrm{T}}{\mathit{\boldsymbol{W}}}_{y}^{}{]}^{\mathrm{T}} $,使用最近邻分类器进行分类,最后将分类准确率作为该方法的性能指标。

在DCCA和DDCCA中,深度神经网络最后一层的输出即为降维之后的样本,同样采用串行的方式将2个视图的特征进行融合。本文使用最近邻分类器对测试样本进行分类,并将统计的分类准确率作为该方法的性能指标。

在DL-SCCA中采用2种分类方式:1)采用和DCCA、DDCCA相同的分类方式;2)采用DL-SCCA特有的网络结构,即根据第$ L+1 $层的输出直接判断样本的类别,最终计算得到的分类准确率作为实验的性能指标。

3.1.4 参数设置

由于MFD数据集有6个视图,因此本文将所有的视图两两组合进行实验。WebKB数据集为非常稀疏的离散数据,在实验之前应使用主成分分析对其进行预降维,仅保留方差不为0的主成分。在DCCA、DDCCA和DL-SCCA的实验部分中,深度神经网络的深度$ L $统一设置为4,宽度$ {c}_{x} $$ {c}_{y} $为数据维数$ {d}_{x} $$ {d}_{y} $的130%,非线性激活函数$ \phi (\cdot ) $为tanh函数,学习率为0.5。在每次实验时,本文令输出的维数$ k $$ \mathrm{m}\mathrm{i}\mathrm{n}({d}_{x}, {d}_{y}) $的20%~80%之间变化,并重复10次实验,选取所有$ k $值对应平均准确率的最大值作为最后的实验结果。每批次输入的样本数量$ m $设为40。在每次实验中,从每个类别中选取60%的样本作为训练集,剩余作为测试集。

3.2 实验结果分析

CCA、DisCCA、DCCA、DDCCA、DL-SCCAⅠ、DL-SCCAⅡ这5种方法在MFD数据集上的分类准确率对比如表 1所示,其中,DL-SCCAⅠ方法利用最近邻分类器得到分类准确率,DL-SCCAⅡ方法采用网络本身结构得到分类准确率。

下载CSV 表 1 在MFD数据集上不同方法的分类准确率对比 Table 1 Classification accuracy comparison among different methods on MFD dataset  

表 1可以看出,DL-SCCAⅠ方法和DL-SCCAⅡ方法在MFD数据集的15种视图组合方式的性能相比于CCA、DisCCA、DCCA、DDCCA方法均大幅提升。DL-SCCAⅡ方法通过深度神经网络自身结构进行分类,由于直接利用样本的类别信息,因此其分类性能相比于最近邻方法的分类性能较优。由于DisCCA、DDCCA和DL-SCCA方法利用类别标签信息提取低维特征,因此均比无监督学习的CCA和DCCA方法的分类性能好。这说明利用数据本身包含的类别标签信息,可以提升低维特征的分类性能。而非线性降维方法DCCA、DDCCA和DL-SCCA相比于线性降维方法CCA和DisCCA的性能更优。这说明原有的线性降维方法经过非线性拓展后,能够有效解决非线性可分的问题。DL-SCCAⅠ和DL-SCCAⅡ两种分类方式得到的分类准确率相比于DCCA平均提升了5.26和6.37个百分点,相比于DDCCA提高了1.25和2.36个百分点。DL-SCCA方法能够有效利用数据的类别标签信息,使降维之后的低维特征具有较优的分类性能。

CCA、DisCCA、DCCA、DDCCA、DL-SCCAⅠ、DL-SCCAⅡ这5种方法在不同数据集上的分类准确率对比如表 2所示。

下载CSV 表 2 在不同数据集上各方法的分类准确率对比 Table 2 Classification accuracy comparison among different methods on different datasets  

相比无监督的CCA方法,在ULC数据集上,DisCCA方法的分类准确率提高了33.12个百分点。在ULC数据集上,DCCA方法相比CCA方法的分类准确率提高了59.62个百分点。DDCCA方法融合DisCCA和DCCA的特点,其兼具非线性和监督学习的性质,相比其改进前的DisCCA和DCCA,能够大幅提高分类准确率。本文DL-SCCA方法和DDCCA方法都对DCCA进行监督型扩展,但是DL-SCCAⅠ和DL-SCCAⅡ方法得到的分类准确率均比DDCCA高。因此,DL-SCCA能够直接有效地利用数据本身包含的类别标签信息,使其提取的低维特征具有更优的分类性能。

3.3 网络层数对实验的影响

深度神经网络的层数是模型复杂度的一个重要参数,其对模型的性能影响较大。为探究网络层数对实验结果的影响,本文将网络层数$ L $设置为2~14,步长为1,其他参数的设置与3.1.4节相同。在WDBC、Dermatology、ForestTypes和ULC数据集上,网络层数对实验结果的影响如图 3所示。

Download:
图 3 网络层数对实验结果的影响 Fig. 3 Influence of number of network layers on experimental results

图 3可以看出,随着网络层数的增加,所有数据集上的分类准确率均呈下降趋势。其原因为样本数量太少和模型复杂度过高,导致发生过拟合现象。DL-SCCAⅡ方法的分类准确率下降程度更大,说明网络结构分类器更容易发生过拟合。DL-SCCAⅠ方法在一定程度上可以缓解过拟合现象的发生。

3.4 批次样本数量分析

由于本文方法需要计算相关性,在训练模型时本文按批次输入样本。本文研究了每批次样本数量对模型性能的影响,每批次样本数量$ m $设置为20~140,步长为20,其他参数设置与3.1.4节一致。本文在WDBC、Dermatology、ForestTypes和ULC数据集上进行批次样本数量分析。由于模型在不同数据集上的训练时间差异比较大,因此本文对每个数据集的训练时间进行了归一化。每批次样本数量对分类精度的影响如图 4所示。

Download:
图 4 每批次样本数量对分类精度的影响 Fig. 4 Influence of number of samples per batch on classification accuracy

图 4可以看出,随着每批次样本数量的增加,模型的分类精度变化并不明显,说明每批次的样本数量对模型性能的影响不大。当每批次样本数量足够多时,$ {\widehat{\mathit{\boldsymbol{C}}}}_{xx}^{} $$ {\widehat{\mathit{\boldsymbol{C}}}}_{yy}^{} $非奇异,可去除其中的正则化项。为验证样本数量对训练时间的影响,本文将每种方法的训练时间规范化至0~1,如图 5所示。

Download:
图 5 每批次样本数量对计算时间的影响 Fig. 5 Influence of number of samples per batch on calculation time

图 5可以看出,随着每批次样本数量的增加,训练时间大幅缩短,因此,在内存足够的前提下可以适当地增加样本数量。当获得的数据是数据流形式时,DL-SCCA方法能够达到增量学习[21]的效果。

4 结束语

本文提出基于深度学习的监督型典型相关分析方法DL-SCCA,通过增加一个公共的全连接层,将softmax函数作为激活函数,利用模型输出与样本标签的交叉熵训练深度神经网络,获得具有强判别性的低维表示。实验结果表明,相比CCA、DisCCA、DCCA等方法,该方法具有较优的分类性能。后续将通过计算多个视图的相关性和交叉熵,同时训练深度神经网络,使本文方法适用于不完全多视图数据。

参考文献
[1]
HOTELLING H. Relations between two sets of variates[J]. Biometrika, 1936, 28(3/4): 321-377. DOI:10.2307/2333955
[2]
HARDOON D R, SZEDMAK S, SHAWE-TAYLOR J. Canonical correlation analysis: an overview with application to learning methods[J]. Neural Computation, 2004, 16(12): 2639-2664. DOI:10.1162/0899766042321814
[3]
张恩豪, 陈晓红, 刘鸿, 等. 基于典型相关分析的多视图降维算法综述[J]. 计算机工程, 2020, 46(2): 1-10.
ZHANG E H, CHEN X H, LIU H, et al. Overview of multi-view dimension reduction algorithm based on canonical correlation analysis[J]. Computer Engineering, 2020, 46(2): 1-10. (in Chinese)
[4]
LUO J, TJAHJADI T. Multi-set canonical correlation analysis for 3D abnormal gait behaviour recognition based on virtual sample generation[J]. IEEE Access, 2020, 8: 32485-32501. DOI:10.1109/ACCESS.2020.2973898
[5]
HE Z C, YANG Y, QIAO L, et al. Canonical correlation analysis and key performance indicator based fault detection scheme with application to marine diesel supercharging systems[C]//Proceeding of Chinese Control Conference. Guangzhou, China: [s. n. ], 2019: 5156-5160.
[6]
白云歌, 郭炳晖, 米志龙, 等. 面向互联网金融平台的违约风险量化模型[J]. 计算机工程, 2018, 44(12): 108-114.
BAI Y G, GUO B H, MI Z L, et al. Quantitative model of default risk for internet financial platform[J]. Computer Engineering, 2018, 44(12): 108-114. (in Chinese)
[7]
SUN T K, CHEN S C, YANG J Y, et al. A novel method of combined feature extraction for recognition[C]//Proceedings of the 8th IEEE International Conference on Data Mining. Washington D. C., USA: IEEE Press, 2008: 1043-1048.
[8]
YANG M, SUN S L. Multi-view uncorrelated linear discriminant analysis with applications to handwritten digit recognition[C]//Proceedings of International Joint Conference on Neural Networks. Washington D. C., USA: IEEE Press, 2014: 4175-4181.
[9]
SUN S L, XIE X J, YANG M. Multiview uncorrelated discriminant analysis[J]. IEEE Transactions on Cybernetics, 2016, 46(12): 3272-3284. DOI:10.1109/TCYB.2015.2502248
[10]
SHAWE-TAYLOR J, CRISTIANINI N. Kernel methods for pattern analysis[M]. Cambridge, USA: Cambridge University Press, 2005.
[11]
GAO J J, LI F Z, WANG B J, et al. Unsupervised nonlinear adaptive manifold learning for global and local information[J]. Tsinghua Science and Technology, 2020, 26(2): 163-171.
[12]
RAMACHANDRAM D, TAYLOR G W. Deep multimodal learning: a survey on recent advances and trends[J]. IEEE Signal Processing Magazine, 2017, 34(6): 96-108.
[13]
MELZER T, REITER M, BISCHOF H. Kernel canonical correlation analysis[J]. Journal of Financial Economic Policy, 2001, 6(2): 179-196.
[14]
LOPEZ-PAZ D, SRA S, SMOLA A, et al. Randomized nonlinear component analysis[C]//Proceedings of the 31st International Conference on Machine Learning. New York, USA: ACM Press, 2014: 1359-1367.
[15]
SUN T K, CHEN S C. Locality preserving CCA with applications to data visualization and pose estimation[J]. Image and Vision Computing, 2007, 25(5): 531-543. DOI:10.1016/j.imavis.2006.04.014
[16]
ZHANG H J, ZHANG J X, LIU Y W, et al. Multiset canonical correlations analysis with global structure preservation[J]. IEEE Access, 2020, 8: 53595-53603. DOI:10.1109/ACCESS.2020.2980964
[17]
ANDREW G, ARORA R, BILMES J A. Deep canonical correlation analysis [C]//Proceedings of the 30th International Conference on Machine Learning. New York, USA: ACM Press, 2013: 1247-1255.
[18]
WANG W, ARORA R, LIVESCU K, et al. On deep multi-view representation learning [C]// Proceedings of the 32nd International Conference on Machine Learning. New York, USA: ACM Press, 2015: 1083-1092.
[19]
LIU Y, LI Y, YUAN Y H, et al. Supervised deep canonical correlation analysis for multiview feature learning [C] // Proceedings of International Conference on Neural Information Processing. Berlin, Germany: Springer, 2017: 575-582.
[20]
ELMADANY N E D, HE Y F, LING G. Multiview learning via deep discriminative canonical correlation analysis [C]//Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing. Washington D. C., USA: IEEE Press, 2016: 2409-2413.
[21]
YANG Q, GU Y D, WU D S. Survey of incremental learning [C]//Proceedings of the 31st Chinese Control and Decision Conference. Washington D. C., USA: IEEE Press, 2019: 399-404.