文章目录
- 一、论文基本信息
- (一)论文发表情况
- (二)论文的主要架构
- 二、 Abstract
- 三、 INTRODUCTION
- (一)linear discriminant analysis 线性判别分析(LDA)
- (二)C2DNDA的创新点
- 四、 RELATED WORK
- (一) Classical LDA
- (二)2DLDA
- (三)Regularized LDA
- (四)Deep LDA
- 五、CONVOLUTIONAL 2DLDA
- (一)LDA Based on Nonlinear Projection
- (二)LDA in a Network
- (三)Singularity of Normalized Label Matrix
- (四)Network Construction
- (五)F-loss vs CCE
- 六、 EXPERIMENT
- (一)Experimental classification and data
- (二)The Effect of Normalized Label
- (三) Differences between F-loss and CCE
- (四)Discussion about the Classification Accuracy
- 七、CONCLUSION
- 八、个人对本文理解存在的问题:
- 九、启发与个人不足
- (一)启发
- (二)个人不足
- 十、文章存在的两个数据错误
一、论文基本信息
(一)论文发表情况
- 发表期刊:《LEEE Transactions on Industrial Electronics》
- 期刊最新影响因子:7.503
- 论文作者及单位:目前四位作者均是西安西北工业大学的老师
- 出版日期:2020年1月29日
- 原文链接:https://ieeexplore.ieee.org/abstract/document/8974600/
(二)论文的主要架构
二、 Abstract
作者提出 convolutional two-dimensional nonlinear discriminant analysis 二维卷积非线性判别分析(C2DNDA)的思路:
(1)LDA and PCA等线性降维方法比较落后,降维效果不如目前更新的降维算法。
(2)充分利用卷积神经网络的学习能力,将classic2DLDA嵌入到端到端的网络中。
通过实验与其他降维算法比较分类的准确率
三、 INTRODUCTION
(一)linear discriminant analysis 线性判别分析(LDA)
(1)定义:LDA是利用数据的类别标签提供的信息进行数据降维的线性降维方法。 基本原则如下:
- 尽可能多地保留数据样本的信息(即选择最大的特征是对应的特征向量所代表的的方向)。
- 寻找使样本尽可能好分的最佳投影方向。
- 投影后使得同类样本尽可能近,不同类样本尽可能远。
(2)LDA和PCA的相似点:
- 两者均可以对数据进行降维(都是采用映射的方法)
- 两者在降维时均使用了矩阵特征分解的思想。
- 两者都假设数据符合高斯分布。
- PCA和LDA都是将数据投影到新的相互正交的坐标轴上
(3)两者的差异点:
- LDA是有监督的降维方法,而PCA是无监督的降维方法
- LDA降维最多降到类别数k-1的维数,而PCA没有这个限制。
- LDA除了可以用于降维,还可以用于分类。
- LDA选择分类性能最好的投影方向(利用的是协方差最大进行映射即最大化类间离散矩阵( S b S_b Sb)的跟踪和最小化类内离散矩阵( S w S_w Sw)的跟踪来寻找最优投影向量,这样尽可能多的保存样本的信息),而PCA选择样本点投影具有最大方差的方向(利用方差达到最大进行映射)
(4)LDA提出的必要性:
通过以上图片可以很明显的发现:如果采用PCA进行降维(选择红线进行映射即方差达到最大值)将使得红色和绿色两族数据混合在一起,反而使得数据不可分。而采用黄线进行映射(选择协方差达达到最大的方向进行映射)将得到较好的降维想过。
备注:LDA具体的实现步骤见第三部分。
(5)LDA存在的不足:
- 数据必须必须是向量的形式(图片数据需要提前处理,但是处理的过程十分的耗计算)
- 这些方法去除了隐藏在图像空间关系中的有用信息(通过CNN或者直接利用2D数据将有效的避免这个问题)
(二)C2DNDA的创新点
- 分析和检验了 Frobenius norm loss(F-loss)损失函数的有效性(见fig6)
- 分析了不同类型标签的影响(见fig4、fig5、tabelVI)
- 通过与不同实验条件下的收敛性能对比,验证了该算法的有效性(见tabelVII、tabelII、III、IV、VIII)。
- 通过背景资料、相关工作巩固了本文方法的理论基础和实施的可行性。
四、 RELATED WORK
(一) Classical LDA
定义:所谓的线性就是,我们要将数据点投影到直线上(可能是多条直线),直线的函数解析式又称为线性函数。通常直线的表达式为:
y
=
W
T
x
y=W^Tx
y=WTx.x就是样本向量(列向量),如果投影到一条直线上w就是一个特征向量(列向量形式)或者多个特征向量构成的矩阵。至于w为什么是特征向量,后面我们就能推导出来。y为投影后的样本点(列向量)。
本节中的符号及意义:
- x : 表示训练样本,使用列向量表示
- C:表示有C类样本,其集合为 π = [ π 1 , π 2 , … , π c ] π=[π_1,π_2,\dots,π_c] π=[π1,π2,…,πc]
- S w S_w Sw :表示类内散度矩阵(within-clas scatter matrix),表示第i类样本的协方差矩阵。
- S b S_b Sb:,表示类间散度矩阵,b是between的简写(between-class scatter matrix),表示各个类样本均值的协方差矩阵。
- M i M_i Mi:表示第i类训练样本的均值 (i=1,2,…,C)
- M M M:是所有样本的均值向量
- n i n_i ni:表示第i类所有样本数 π i π_i πi的总和。
如果样本是两类问题,则将样本映射到一条直线w上,投影后的表达式为, 类间散度矩阵 S b S_b Sb和类内散度矩阵 S w S_w Sw可以表示为: y 0 = W T M 0 y_0=W^TM_0 y0=WTM0和 y 1 = W T M 1 y_1=W^TM_1 y1=WTM1。 类间散度矩阵 S b S_b Sb和类内散度矩阵$S_w的协方差矩阵分别表示为:
上式的证明过程如下:
备
注
:
M
=
u
,
M
i
=
u
i
。
原
文
链
接
:
h
t
t
p
s
:
/
/
b
l
o
g
.
c
s
d
n
.
n
e
t
/
l
i
u
w
e
i
y
u
x
i
a
n
g
/
a
r
t
i
c
l
e
/
d
e
t
a
i
l
s
/
78874106
\color{red}{备注:M=u,M_i=u_i }。原文链接:https://blog.csdn.net/liuweiyuxiang/article/details/78874106
备注:M=u,Mi=ui。原文链接:https://blog.csdn.net/liuweiyuxiang/article/details/78874106
可以将类间散度矩阵
S
b
S_b
Sb和类内散度矩阵$S_w协方差矩阵转换为:
如果要使得降维效果或者分类效果尽可能的理想,那么类间散度矩阵
S
b
S_b
Sb应该尽可能的大和类内散度矩阵$S_w协方差矩阵尽可能的小,得到下列表达式:
将公式5的优化转换为迹(矩阵主对角线上元素之和)来表示,其运算符号为
T
r
(
⋅
)
T r(·)
Tr(⋅)。得到下列表达式:
经典的表达式就是求得上式的最优结果,最后得到映射的矩阵W。
(二)2DLDA
优点:可以直接处理2D的数据(避免转换为向量),从而可以充分利用数据的空间信息。
定义:U、V表示映射矩阵,
X
=
[
X
1
,
X
2
,
X
n
]
,
X
∈
R
(
m
∗
n
)
X=[X_1,X_2,X_n],X∈R(m*n)
X=[X1,X2,Xn],X∈R(m∗n)表示输入数据。得到类间散度矩阵
S
b
S_b
Sb应该尽可能的大和类内散度矩阵$S_w协方差矩阵的表达式为:
其对W的优化方法和经典LDA的方法类似,表达式为:
(三)Regularized LDA
正则化LDA优点:
- 避免数据集过小导致类内散度矩阵 S w S_w Sw不可逆,从而导致无法求解矩阵 S w S_w Sw的行列式值。
- 可以有效的避免过拟合的现象。
本节符号及意义:
- S w l S_{wl} Swl:表示左边列矩阵的极大似然估计,同理 S B l S_{Bl} SBl也是一样
- S w r S_{wr} Swr:表示右边行矩阵的极大似然估计,同理 S B R S_{BR} SBR也是一样.
- ⊗:克罗内克积Kronnecker积也叫张量积,或矩阵A与矩阵B的直积,如果A是一个 m x n 的矩阵,而B是一个 p x q 的矩阵,克罗内克积则是一个 mp x nq 的矩阵
- S w s S_{w}^s Sws: S w s S_{w}^s Sws= S w l S_{wl} Swl⊗ S w r S_{wr} Swr,同理 S w s S_{w}^s Sws。
- λ :0 ≤λ ≤ 1
-
S
w
r
S_{w}^r
Swr:表示
S
w
S_{w}
Sw迭代后的正则化项,同理
S
b
r
S_{b}^r
Sbr。
I:表示单位矩阵。
构造类间散度矩阵
S
w
S_w
Sw$,在MVLDA的方法,把矩阵分左边为列矩阵,右边为行矩阵 。正则化项采用离散矩阵的估计。采用迭代的方法得到了类内散射矩阵的估计
类间散射矩阵的估计定义为:
迭代正则化项可定义为:
利用单位矩阵来避免被优化矩阵的奇异性。最大化迹可以表示为:
(四)Deep LDA
目的:利用深层神经网络来解决经典LDA正则化特征值问题。其表达式为:
本节符号及意义:
- e e e:表示生成的特征向量,其集合为 e = [ e 1 , … , e 2 , e c − 1 ] e=[e_1,\dots,e_2,e_{c-1}] e=[e1,…,e2,ec−1],C表示类
- v:表示特征向量e的特征值, v = [ v 1 , v 2 , … , v c − 1 ] v=[v_1,v_2,\dots,v_{c-1}] v=[v1,v2,…,vc−1]
矩阵迹的最大化抓换为求矩阵特征值的最大,则目标函数为:
令k=c-1,则有:
因为目标函数发生了变化,则相应的损失函数也要相应的改变,古将特征值损失(eigenvalue loss)替代原来的类别交叉熵损失(categorical cross entropy loss。
上式有两个目标函数,原因有两点:
- 优化基于特征值的方法比较困难。
- 反向传播的特征值是比较复杂的。
基于以上两点原因,将这类优化问题转化为易于构造和训练的端到端网络。以下是 DeepLDA and CCE的对比如下图:
五、CONVOLUTIONAL 2DLDA
(一)LDA Based on Nonlinear Projection
创新点:找到一种能够进行降维的非线性投影,通过设计一种网络结构对非线性投影进行优化,从而解决classical LDA目标函数难优化的问题。
本节的符号及意义:
- D:表示输入的矩阵,其集合 D = [ D 1 , D 2 , … , D − n ] D=[D_1,D_2,\dots,D-n] D=[D1,D2,…,D−n]
- g(·):表示映射函数。
- d i d_i di:表示映射数据, d i = g ( D i ) d_i=g(D_i) di=g(Di)
(二)LDA in a Network
通过卷积神经网络优化映射函数。其表达式为:
x
=
f
(
A
)
x=f(A)
x=f(A)
本节的符号及意义:
- A:表示输入
- f(·):表示网络
- x x x:表示降维获得的结果
- X:表示网络的输出,是一个(m*n的矩阵)
- Y:表示标签
- b:表示阈值
- W:在这里表示权重
- 11:表示两个单位矩阵相乘。
为了避免过拟合的问题,使用正则化的LDA作为目标函数(但是正则化的LDA结构过于复杂很难进行优化)。目标函数的正则化LDA定义为:
就正则化LDA很难进行优化的问题,再次基础上通过范数来进行优化:
要使得公式(22)和(26)等价,那么公式(22)和(26)要有相同的节,通过拉格朗日乘子法(Lagrange multiplier method)进行证明,将Eq.26对b的导数设为零,证明如下:
将W带入公式26中:
备注:以上证明的过程中,标签是并不是连续可逆的。
公式26的详细证明过程如下:
(三)Singularity of Normalized Label Matrix
本节的符号及意义:
- Y:是n个样本的标签,采用one-hot编码。
- C:表示类别的数量
- B:是每个类别的数量矩阵,而且B是一个对角矩阵,其中 B = Y T ∗ Y B=Y^T*Y B=YT∗Y
- B i i B_{ii} Bii:表示第i个对角元素。
- n i n_i ni:表示第i类样本数量。
B是一个对角矩阵的简单例子如下:
在 标准化标签矩阵的奇异性时。可以得到如下表达式:
讨论标准化标签矩阵的奇异性存在的问题:
在使用小批随机梯度下降算法训练我们的网络时,小批中缺少某些类会使数字矩阵包含零对角元素,此时标签数字矩阵将是奇异的,标准化的标签将是不可解的。
(四)Network Construction
通过以上的证明,可以求得优化层的函数,这个优化层可以用来来优化参数w和b, 这个优化层是由 X T W + 1 b T 组 成 的 X^TW+1b^T组成的 XTW+1bT组成的,而且这个参数可以看成降维效果的评价指标。
构建两种网络类型:
- simplified C2DNDA: 由一个全连接(fc)层和两个卷积层构成。
- complex C2DNDA:和Deep的结构一样,但是还增加了batch norm 层 和dropout层。
simplified C2DNDA和complex C2DNDA的网络构造如下图:
tabel I的符号及意义如下:
- C:网络中通道的数量
- B:批处理标准化层
- R:RELU层
论文【17】的图如下所示:
优化层用于评价降维结果。优化层将输出结果转换为标签空间(label space)。分类精度(classification accuracy)作为评价指标。图2说明了网络在训练(training)和部署(deploy)阶段是如何工作的。在训练阶段添加优化层,可以达到与正则化LDA相同的目标(避免数据集过小导致类内散度矩阵
S
w
S_w
Sw不可逆,导致
S
w
S_w
Sw变成一个奇异矩阵)。网络收敛后,降维部分可以自由地放到优化层中。工作流程如下图所示:
C2DNDA相对于classical LDA的优点:
1、C2DNDA直接对数据对数据进行处理,避免转换为向量过程中的损耗(time and money)
2.、C2DNDA 对处理数据的大小没有要求,classical LDA要求数据较大,从而避免出现非奇异矩阵。
3、通过实验表明C2DNDA的实验效果更好。
(五)F-loss vs CCE
C2DNDA相对于其他回归网络的优点在于既可以降维又可以分类,边界盒回归(bounding box regression)采用光滑L1损失,表达式如下:
softmax的交叉熵函数其实现简单而且收敛速度快。表达式为:
C2DNDA的损失函数的范数形式:
分类和降维的主要区别:
- CCE方法倾向于减少预测和信息熵的区分真正的标签
- F-loss方法倾向于减少每个位置的差异之间的数据降维后和规范化的标签
六、 EXPERIMENT
(一)Experimental classification and data
以下同类型实验都是在相同实验设备,超参数的设置也是相同的,超参数的设置如下:
- batch size=100
- λ = 0.0001 λ =0.0001 λ=0.0001
实验数据CVL和USPS数据的图像如下:
根据实验使用方法的不同分为:
- 实验先用SVM 和 one nearest neighbor (1NN)先进行处理,再将 C2DNDA与其他8种经典的降维算法去比较分类精度。包括 LDA , 2DPCA,2DLDA , S2DLDA , P2DLDA , Tensor LPP (TLPP) , Bilinear SVM (B-SVM) 和CRP,在两个比较小的数据集上面进行比较所,使用的测试集相同,而训练集不容,见table II-IV。
- 将 C2DNDA与比较经典的深度学习算法进行比较。包括NIN , Maxout , Deep-CNet 和 DeepLDA,见table V。
实验数据: 见原文
(二)The Effect of Normalized Label
C2DNDA的优化层的规范化的one-hot labeYˆ代替常规的one-hot labe,但是这么做存在两个问题,一个是当数据批处理很小的时候数字矩阵
Y
T
Y
Y^TY
YTY可能不可逆。另一个是另一个问题是标准化标签可能会影响分类精度。
其表达式如下:
根据标签和损失函数的不同分为:
- one-hot label
- normalized label
简化的网络结构和MNIST数据集来测试我们的方法。所有其他超参数都是相同的。分类准确率如下:
进一步验证one-hot label和normalized label的训练损失:
通过fig4和fig5可以观察到,one-hot label测试集分类准确率为99.37%,normalized label的测试集分类准确率为99.20%,one-hot label分类效果略好。训练损失one-hot label测试集也是少于normalized label的测试集。
Q是一个对角矩阵,在不考虑正则化的条件,设 Q = ( Y T Y ) 1 / 2 Q=(Y^TY)^{1/2} Q=(YTY)1/2,则有:
在损失函数中加入标签的数据:
Q是常数,Y^Q = Y,可以进一步的优化为:
通过公式39可以比较容易的看得出,采用normal one-hot label Y,优化 W Q and bT Q与 normalized label优化W、 b T b^T bT的效果是一样的。
(三) Differences between F-loss and CCE
不同损耗的制定导致了不同的网络应用,所以采用F-loss and soft loss两种方法如tabelVI、fig6和fig7。用分类精度作为我们的评价标准,因此将F-loss方法与CCE的方法。进行比较。Learning rate = 0.001 ,batch size =200.
在相同的学习速率下,我们的方法具有更快的收敛速度和更高的精度。softmax测试集的分类准确率为99.27%。该方法在测试集上的分类准确率为99.37%。由于损失函数中正则化的项,可以提高网络的泛化能力。在某种程度上,泛化能力使损失更加平滑。
(四)Discussion about the Classification Accuracy
C2DNDA存在的三点不足:
- 数据的不足会使Eq.26中定义的目标函数的优化收敛到一个坏点。使得优化效果不佳。
- 样本较小时存在过拟合的问题,而且泛化能力较差
- 超参数、学习率等值的设置对实验结果有较大的影响
实验结果如下图(+表示更高的学习率):
七、CONCLUSION
本文提出的convolutional two-dimensional nonlinear discriminant analysis (C2DNDA)方法利用F-loss 函数代替原来的经典LDA目标函数。在实验中都取得了不错的效果。未来的主要研究方向是探索更高效的骨干网(backbone network)。
八、个人对本文理解存在的问题:
- eq5求最大化范数转变成求最大矩阵的迹(eq6)
- 最大化迹和最大化特征值为什么是等价(eq20)
九、启发与个人不足
(一)启发
- 采用卷积神经网咯来做T-SNE来避免“拥挤问题”
- 新的算法效果并不是比其他方法算法都好,比改进的基础算法效果好,或者比大多数算法好也算是提升。
- 尽可能的多做实提升自己的文章档次。
- 采用更复杂的网络,同时也意味着时间损耗更大。所以可以设计简单和复杂网络的对比(tableV)
(二)个人不足
- 数学功底不好,某些公式的理解与证明难以掌握。
- 悟性不强,相关知识点的理解需要花费大量的时间。
十、文章存在的两个数据错误
- IV-B部分计算C2DNDA的分类准确度应该是比classical 2DLDA分类的准确率高8.4%,而并非8.9%
- IV-E在tabel V训练样本的数量应该为10而并非100。
备注:希望各位大佬批评指正。