【最优化】含hadamard积求导和优化问题

本篇使用的符号说明,考虑优化问题

\[\min\limits_X \|A\circ X-B\|_F^2,\tag{1} \]

其中\(A,X,B\in M_{m,n}\)。自然的想法是对其求导找闭式解,由于\(F\)-范数的平方可以看作对每个位置的平方求和,于是\((1)\)可以向量化写成以下形式,

\[\min\limits_X \|\operatorname{vec}(A)\odot \operatorname{vec}(X)-\operatorname{vec}(B)\|_2^2. \tag{2} \]

其中\(\odot\)为element-wise product,也称为hadamard积(也可用符号\(\circ\)表示)。\(\operatorname{vec}(\cdot)\)为向量化操作,若\(A=(a_1,a_2,\cdots,a_n)\),则

\[\operatorname{vec}(A)=\left[\begin{matrix} a_1 \\ a_2 \\ \vdots \\ a_n \end{matrix} \right]. \]

\(\bm{x}=\operatorname{vec}(X)\),则\((2)\)可以写成

\[\min\limits_{\bm{x}} \|\operatorname{vec}(A)\odot \bm{x}-\operatorname{vec}(B)\|_2^2 \\ =\min\limits_{\bm{x}} \|\operatorname{diag}(\operatorname{vec}(A))\cdot \bm{x}-\operatorname{vec}(B)\|_2^2. \tag{3}\]

对其求导可得

\[\begin{aligned} \frac{\partial}{\partial\bm{x}}\|\operatorname{diag}(\operatorname{vec}(A))\cdot \bm{x}-\operatorname{vec}(B)\|_2^2 &= 2\operatorname{diag}(\operatorname{vec}(A))^H\big[\operatorname{diag}(\operatorname{vec}(A))\cdot \bm{x}-\operatorname{vec}(B)\big] \\ &= 2\operatorname{diag}(\operatorname{vec}(\bar{A}))\big[\operatorname{diag}(\operatorname{vec}(A))\cdot \bm{x}-\operatorname{vec}(B)\big]\\ &= 2\operatorname{vec}(\bar{A})\odot\big[\operatorname{vec}(A)\odot \bm{x}-\operatorname{vec}(B)\big]. \end{aligned} \]

再整理成矩阵形式可得

\[\frac{\partial}{\partial X}\|A\circ X-B\|_F^2 = 2\bar{A}\odot (A\odot X-B). \tag{4} \]

于是对于优化问题\((1)\),若\(A\)没有零元素,则通过\((4)\)可得

\[\begin{aligned} 0 &= 2\bar{A}\odot (A\odot X-B) \\ X &= B\oslash A, \\ \end{aligned} \]

其中\(\oslash\)表示element-wise division。

posted @ 2023-07-28 21:14  Edlinf  阅读(501)  评论(0编辑  收藏  举报