- 定义:函数
f
(
X
)
=
log
det
X
f\left( X \right) = \log \det X
f(X)=logdetX,
d
o
m
f
∈
S
+
+
n
domf \in S_{ + + }^n
domf∈S++n,则称函数
f
f
f为对数-行列式函数,现在我们想分析该函数是凸函数还是凹函数?或是非凸又非凹?
总体思路:由于该函数的自变量是正定的对称矩阵( n × n n \times n n×n矩阵),定义域为正定对称矩阵构成的一个矩阵空间,是一个典型的高维函数,针对这类函数,我们可以先用一些特例去验证:譬如 n = 1 n=1 n=1,即X为一维矩阵,那么 det X \det X detX就等于它本身,而我们知道log函数是凹函数,因此至少对数—行列式函数不是凸函数,因为我们已经找到一个反例了,那它是不是凹函数呢?接下来我们将去验证。 - 准备知识:在分析对数—行列式函数的凹凸性之前,回顾一下有关线性代数的知识,这些知识将是我们接下来分析中需要用的。
(1)设A、B为两个 n × n n \times n n×n的矩阵,那么我们有 det ( A B ) = det A det B \det (AB)=\det A \det B det(AB)=detAdetB,即两个相乘矩阵的行列式等于分别求行列式再相乘。
(2)假设 λ 1 , λ 2 , ⋯   , λ n \lambda_1,\lambda_2,\cdots,\lambda_n λ1,λ2,⋯,λn为矩阵 A A A的特征值,那么 det A = λ 1 λ 2 ⋯ λ n \det A=\lambda_1\lambda_2\cdots\lambda_n detA=λ1λ2⋯λn.
(3)特征值分解:即任何一个对称矩阵 A A A都可以分解成 Q Λ Q T Q\Lambda {Q^T} QΛQT的形式,其中, Λ \Lambda Λ为对角阵,且其对角线上的元素为矩阵 A A A的特征值, Q Q T = I Q{Q^T}=I QQT=I。 - 分析与证明:我们将函数
f
(
X
)
=
log
det
X
f\left( X \right) = \log \det X
f(X)=logdetX转化为任意直线上的单变量函数来分析它的凹凸性(这也是对高维变量函数验证凹凸性通常的做法)。令
X
=
Z
+
t
V
X=Z+tV
X=Z+tV,其中,
Z
,
V
∈
S
n
Z,V \in S^n
Z,V∈Sn,定义
g
(
t
)
=
f
(
Z
+
t
V
)
g \left(t\right)=f \left(Z+tV \right)
g(t)=f(Z+tV),变量t满足
X
=
Z
+
t
V
≻
0
X=Z+tV \succ0
X=Z+tV≻0(假设
t
=
0
t=0
t=0时,
Z
≻
0
Z \succ0
Z≻0),有:
g
(
t
)
=
log
det
(
Z
+
t
V
)
=
log
det
(
Z
1
2
(
I
+
t
Z
−
1
2
V
Z
−
1
2
)
Z
1
2
)
g \left(t\right)= \log \det \left(Z+tV\right) =\log \det \left( Z^{\frac{1}{2}}\left( I + tZ^{ - \frac{1}{2}}VZ^{ - \frac{1}{2}} \right){Z^{\frac{1}{2}}} \right)
g(t)=logdet(Z+tV)=logdet(Z21(I+tZ−21VZ−21)Z21)
= log det ( Z 1 2 ) det ( I + t Z − 1 2 V Z − 1 2 ) det ( Z 1 2 ) =\log \det \left(Z^{\frac{1}{2}} \right) \det \left(I + t{Z^{ - \frac{1}{2}}VZ^{ - \frac{1}{2}}} \right)\det \left(Z^{\frac{1}{2}} \right) =logdet(Z21)det(I+tZ−21VZ−21)det(Z21)
= log det ( Z 1 2 ) + log det ( I + t Z − 1 2 V Z − 1 2 ) + log det ( Z 1 2 ) =\log \det\left(Z^{\frac{1}{2}} \right)+\log \det\left(I + t{Z^{ - \frac{1}{2}}VZ^{ - \frac{1}{2}}} \right)+\log \det\left(Z^{\frac{1}{2}} \right) =logdet(Z21)+logdet(I+tZ−21VZ−21)+logdet(Z21)
= 2 log det ( Z 1 2 ) + log det ( I + t Z − 1 2 V Z − 1 2 ) =2\log \det\left(Z^{\frac{1}{2}} \right)+\log \det\left(I + t{Z^{ - \frac{1}{2}}VZ^{ - \frac{1}{2}}} \right) =2logdet(Z21)+logdet(I+tZ−21VZ−21)
= log det ( Z ) + log det ( I + t Z − 1 2 V Z − 1 2 ) =\log \det\left(Z \right)+\log \det\left(I + t{Z^{ - \frac{1}{2}}VZ^{ - \frac{1}{2}}} \right) =logdet(Z)+logdet(I+tZ−21VZ−21)
下面我们考虑矩阵 Z − 1 2 V Z − 1 2 Z^{ - \frac{1}{2}}VZ^{ - \frac{1}{2}} Z−21VZ−21,因为 Z , V ∈ S n Z,V \in S^n Z,V∈Sn是对称矩阵,则 Z − 1 2 V Z − 1 2 Z^{ - \frac{1}{2}}VZ^{ - \frac{1}{2}} Z−21VZ−21可以进行特征值分解(见准备知识2),因此,我们可以将矩阵 I + t Z − 1 2 V Z − 1 2 I + t{Z^{ - \frac{1}{2}}VZ^{ - \frac{1}{2}}} I+tZ−21VZ−21写成 Q Q T + t Q Λ Q T Q{Q^T}+tQ\Lambda{Q^T} QQT+tQΛQT形式,那么 det ( I + t Z − 1 2 V Z − 1 2 ) = det ( Q Q T + t Q Λ Q T ) = det ( Q ( I + t Λ ) Q T ) = det ( Q Q T ) det ( I + t Λ ) = det ( I ) det ( I + t Λ ) = ∏ i = 1 n ( 1 + t λ i ) \det\left( I + tZ^{ - \frac{1}{2}}VZ^{ - \frac{1}{2}} \right)=\det\left( Q{Q^T}+tQ\Lambda{Q^T} \right)=\det\left( Q\left(I+t\Lambda \right){Q^T}\right)=\det\left(Q{Q^T}\right)\det\left(I+t\Lambda\right)=\det \left(I\right) \det \left(I+t\Lambda\right)=\prod \limits_{i = 1}^n {\left( {1 + t{\lambda _i}} \right)} det(I+tZ−21VZ−21)=det(QQT+tQΛQT)=det(Q(I+tΛ)QT)=det(QQT)det(I+tΛ)=det(I)det(I+tΛ)=i=1∏n(1+tλi)
所以 g ( t ) = log det ( Z ) + log det ( I + t Z − 1 2 V Z − 1 2 ) = log det ( Z ) + log ( ∏ i = 1 n ( 1 + t λ i ) ) = log det ( Z ) + ∑ i = 1 n log ( 1 + t λ i ) g \left(t\right)=\log \det\left(Z \right)+\log \det\left(I + t{Z^{ - \frac{1}{2}}VZ^{ - \frac{1}{2}}} \right)=\log \det\left(Z \right)+\log \left(\prod \limits_{i = 1}^n {\left( {1 + t{\lambda _i}} \right)}\right)=\log \det\left(Z \right)+\sum\limits_{i = 1}^n {\log \left( {1 + t{\lambda _i}} \right)} g(t)=logdet(Z)+logdet(I+tZ−21VZ−21)=logdet(Z)+log(i=1∏n(1+tλi))=logdet(Z)+i=1∑nlog(1+tλi)
我们对函数 g ( t ) g \left(t\right) g(t)求一阶导和二阶导,结果分别为:
g ′ ( t ) = ∑ i = 1 n λ i 1 + t λ i g'\left( t \right) = \sum\limits_{i = 1}^n {\frac{{{\lambda _i}}}{{1 + t{\lambda _i}}}} g′(t)=i=1∑n1+tλiλi
g ′ ′ ( t ) = − ∑ i = 1 n λ i 2 ( 1 + t λ i ) 2 g''\left( t \right) = - \sum\limits_{i = 1}^n {\frac{{{\lambda _i}^2}}{{{{\left( {1 + t{\lambda _i}} \right)}^2}}}} g′′(t)=−i=1∑n(1+tλi)2λi2
可以看出二阶导 g ′ ′ ( t ) ⩽ 0 g''\left( t \right) \leqslant0 g′′(t)⩽0,所以 g ( t ) g\left(t\right) g(t)是凹函数,则函数 f ( X ) = log det X f\left( X \right) = \log \det X f(X)=logdetX也为凹函数,证毕!
———————————————————————————————
总结:对于高维变量的函数的凹凸性判断,我们首先可以从直观上进行特例假设(如维数为1时),看看特例的函数是凹函数还是凸函数数,有了直观的判断以后,我们就可以进行分析了,而通常对高维变量函数的凹凸性证明,我们都是将该函数转化为任意直线上的单变量函数去进行证明。
对数—行列式函数的分析
最新推荐文章于 2022-10-24 09:44:24 发布