最近的研究设计并建立了一些优化模型,其中的一些优化方法值得总结。比如,当遇到如下模型:
上述模型中
U
U
为正交矩阵,如何优化求解呢?我们将优化的目标函数进行trace展开:
那么最小化原始的目标函数,则等价为最大化如下目标函数:
新的目标函数有如下性质:
其中
σi
σ
i
表示矩阵的第
i
i
大的奇异值。现在对进行奇异值分解,得到
PXT=ASBT
P
X
T
=
A
S
B
T
(SVD分解);那么当
U=ABT
U
=
A
B
T
时,
Tr(UTPXT)
T
r
(
U
T
P
X
T
)
取最大值。因为如下:
所以最终的 U=ABT U = A B T ,其中的 A,B A , B 为 PXT P X T 的奇异值分解。
有时我们建立的数据模型有如下形式,其中数据 X=[x1,⋯,xN]∈Rm×N X = [ x 1 , ⋯ , x N ] ∈ R m × N , B=[b1,⋯,bN]∈Rm×N B = [ b 1 , ⋯ , b N ] ∈ R m × N :
为了更好的优化求解上式,我们需要对第二项进行简单变形得到关于
B
B
的形式,由此我们引入矩阵,如下:
有了
H,h
H
,
h
,上述的目标函数可改写为:
针对
B
B
的优化,可以采取一种比较简便的变形。我们引入vec堆叠操作符,将矩阵拉为向量;目标函数则变为:(这里使用了堆叠操作符的性质:,
⊗
⊗
为克罗内克积)
其中
vec(X)=x,vec(B)=α,P=(HT⊗Im)−(IN⊗W),Q=hT⊗W
v
e
c
(
X
)
=
x
,
v
e
c
(
B
)
=
α
,
P
=
(
H
T
⊗
I
m
)
−
(
I
N
⊗
W
)
,
Q
=
h
T
⊗
W
。上述目标函数优化转换为对
α
α
的优化求解。其实上述目标函数中虽然有
−λ∥Qα∥22
−
λ
‖
Q
α
‖
2
2
项的存在,但是此目标函数关于
α
α
是凸的,因为可以证明
PTP−QTQ
P
T
P
−
Q
T
Q
正定。则
α
α
有闭合解:
而对
W
W
的优化也有闭合解,最简单做法便是优化原始目标函数中的第二项,实质为一个线性问题:
则 W=[b2,b3,⋯,bN]∗[b1,b2,⋯,bN−1]+ W = [ b 2 , b 3 , ⋯ , b N ] ∗ [ b 1 , b 2 , ⋯ , b N − 1 ] + 。当然 W W <script type="math/tex" id="MathJax-Element-59">W</script>的优化也可直接对变换后的目标函数直接求导求解。