人脸识别算法与案例分析
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.3.2 TRPDA求解算法

本节使用分块坐标下降法(Block Coordinate Descent,BCD)求解TRPDA模型。另外,从黎曼优化的角度,本节是将问题化为广义Rayleigh商(generalized Rayleigh-quotient)问题,并可采用黎曼共轭梯度法(Riemannian conjugated gradient method)或者黎曼牛顿法求解(Riemannian Newton method)。

BCD 算法是一种迭代算法,它在每次迭代时交替固定Ujji来求解Ui。问题式(2.44)中Ujji已知,只需求解Ui,即只需求解子问题

问题式(2.45)中目标函数可进一步写为

式中, p=q=[1,…,i-1,i+1,…,M],为以下定义的缩并。

定义:设A=()∈C=()∈p=[2···m],q=[2···m],则张量AC 的模(pq)缩并D=(dij)= A×,定义dij=

命题2.1

i∈[M-1],则Ai为对称矩阵。

证明 对任意i∈[M-1],令B=X×MLji×jUjTC= Xji×jU jT。则BC

此时,对任意pq∈[Di],有

Ai为对称矩阵。

此时,目标函数式(2.46)可写为

从而,问题式(2.45)可重写为

对问题式(2.49)用拉格朗日乘子法,它可通过特征值分解求解,即UiAi的前d i小的特征值应的d i个特征向量所组成的矩阵。根据以上讨论,可得求解问题式(2.44)的以下算法。

输入:XLRM×Md=[d1dM-1],最大迭代次数maxIter。

输出:YUii∈[M-1]。

(1)随机初始化Uii∈[M-1]

(2)对于i=1,2,…,M-1,令p=q=[1,…,i-1,i+1,…,M]。

(3)计算

(4)计算Ai的奇异值分解,取UiAi最小的di个特征值对应的di个特征向量。

(5)收敛或达到最大迭代次数结束。

(6)计算Y=

BCD 算法的优点是设计简单,易于求解,但一般不能保证全局收敛性。TRPDA模型式(2.44)的目标函数可进一步化为

命题2.2

B=A=,则A为部分对称张量, B为对称矩阵,rank(B)≤N,且

AM-1> =B

式中, AM-1>A的( M-1)模标准化矩阵展开。

性质2.2 设U1U2V1V2,则(U1U2 )(V1V2 )=U1V1U2V2

A=( X×ML)×,由命题2.2和性质2.2,式(2.50)可写成

结合式(2.28)、式(2.50)和式(2.51),TRPDA问题式(2.44)可重写为

Pi=i∈[M-1],结合式(2.27),即Ui为列正交矩阵,可得出Pi为正交投影矩阵且rank(Pi)=di

命题2.3[47]

Pi为正交投影矩阵且rank(Pi)=dii∈[M-1]。令P=P(1)⊗…⊗PM-1),则P 也为正交投影矩阵且rank(P)=d1dM-1

命题2.4[47]

P为正交投影矩阵且rank(P)=d1dM-1。则存在唯一的( M-1)个正交投影矩阵Pi,且rank(Pi)=dii∈[M-1],使得P=P(1)⊗…⊗P M-1)

令(Dd)=((D1d1),…,(DM-1dM-1)),定义集Gr(Dd)={(P(1),…,PM-1)):rank(Pj)=dj为正交投影矩阵 j∈[M-1]}

问题式(2.52)最终转化为

或者

文献[47]将问题式(2.54)称为广义 Rayleigh 商问题,并利用黎曼优化(Riemannian optimization)[48-49]技术提出了两种数值算法,即黎曼牛顿法和黎曼共轭梯度法。根据以上讨论,可得以下 TRPDA 求解算法,在不引起歧义情况下,我们简称TRPDA求解算法为TRPDA算法。

输入:训练样本集;类标注:CiZ;子空间的维数:[d1,…,dM-1]。

输出:子空间S的基Ui=[,…,]∈i∈[M-1];在子空间S上的表达

(1)对每个样本Xi,构造对应局部块式(2.30)和式(2.31),利用式(2.37)计算对应矩阵Li,利用式(2.39)计算样本选择矩阵Si

(2)对所有样本X,利用式(2.42)计算对齐矩阵L

(3)利用前面的计算Ui=[,…,]∈i∈[M-1];

(4)利用式(2.29)计算样本X的表达Y

(5)返回子空间S的基Uii∈[M-1];在子空间S上的表达