欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

对数决定函数分析

最编程 2024-03-03 09:12:35
...
  • 定义:函数f(X)=logdetXf\left( X \right) = \log \det XdomfS++ndomf \in S_{ + + }^n,则称函数ff为对数-行列式函数,现在我们想分析该函数是凸函数还是凹函数?或是非凸又非凹?
    总体思路:由于该函数的自变量是正定的对称矩阵(n×nn \times n矩阵),定义域为正定对称矩阵构成的一个矩阵空间,是一个典型的高维函数,针对这类函数,我们可以先用一些特例去验证:譬如n=1n=1,即X为一维矩阵,那么detX\det X就等于它本身,而我们知道log函数是凹函数,因此至少对数—行列式函数不是凸函数,因为我们已经找到一个反例了,那它是不是凹函数呢?接下来我们将去验证。
  • 准备知识:在分析对数—行列式函数的凹凸性之前,回顾一下有关线性代数的知识,这些知识将是我们接下来分析中需要用的。
    (1)设A、B为两个n×nn \times n的矩阵,那么我们有det(AB)=detAdetB\det (AB)=\det A \det B,即两个相乘矩阵的行列式等于分别求行列式再相乘。
    (2)假设λ1,λ2, ,λn\lambda_1,\lambda_2,\cdots,\lambda_n为矩阵AA的特征值,那么detA=λ1λ2λn\det A=\lambda_1\lambda_2\cdots\lambda_n.
    (3)特征值分解:即任何一个对称矩阵AA都可以分解成QΛQTQ\Lambda {Q^T}的形式,其中,Λ\Lambda为对角阵,且其对角线上的元素为矩阵AA的特征值,QQT=IQ{Q^T}=I
  • 分析与证明:我们将函数f(X)=logdetXf\left( X \right) = \log \det X转化为任意直线上的单变量函数来分析它的凹凸性(这也是对高维变量函数验证凹凸性通常的做法)。令X=Z+tVX=Z+tV,其中,Z,VSnZ,V \in S^n,定义g(t)=f(Z+tV)g \left(t\right)=f \left(Z+tV \right),变量t满足X=Z+tV0X=Z+tV \succ0(假设t=0t=0时,Z0Z \succ0),有:g(t)=logdet(Z+tV)=logdet(Z12(I+tZ12VZ12)Z12)=logdet(Z12)det(I+tZ12VZ12)det(Z12)=logdet(Z12)+logdet(I+tZ12VZ12)+logdet(Z12)=2logdet(Z12)+logdet(I+tZ12VZ12)=logdet(Z)+logdet(I+tZ12VZ12) 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)=\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)=\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)=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 \right)+\log \det\left(I + t{Z^{ - \frac{1}{2}}VZ^{ - \frac{1}{2}}} \right)
  • 推荐阅读