【最优化】含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。