向量的L2范数求导
回归中最为基础的方法, 最小二乘法.
\[\begin{align*}
J_{LS}{(\theta)} &= \frac { 1 }{ 2 } { \left\| A\vec { x } -\vec { b } \right\| }^{ 2 }\quad \\
\end{align*}
\]
向量的范数定义
\[\begin{align*}
\vec x &= [x_1,\cdots,x_n]^{\rm T}\\
\|\vec x\|_p &= \left( \sum_{i=1}^m{|x_i|^p}\right)^\frac{1}{p}, \space p<+\infty
\end{align*}
\]
\(L_2\)范数具体为
\[\|\vec x\|_2 = (|x_1|^2 + \cdots+|x_m|^2)^{\frac{1}2} = \sqrt{\vec x ^{\rm T}\vec x }
\]
矩阵求导
采用列向量形式定义的偏导算子称为列向量偏导算子, 习惯称为\(\color {red} {梯度算子}\), n x 1 列向量偏导算子即梯度算子记作 \(\nabla_x\), 定义为
\[\nabla_x = \frac{\partial}{\partial x} = \left[ \frac{\partial}{\partial x_1}, \cdots, \frac{\partial}{\partial x_m}\right] ^{\rm T}
\]
如果\(\vec x 是一个n\times 1\text{的列向量}\), 那么
\[\begin{eqnarray}
\frac{\partial y x}{\partial x}=y^T \\
\frac{\partial(x^TA x)}{\partial x}=(A+A^T)x \\
\end{eqnarray}
\]
更多参照wiki矩阵计算
通过以上准备, 我们下面进行求解
\[\begin{align*}
\therefore \quad J_{LS}{(\theta)} &= \frac { 1 }{ 2 } { \left\| A{ x } -\vec { b } \right\| }^{ 2 } \\
&= \frac{1}{2} (Ax-b)^T (Ax-b) \\
&= \frac{1}{2} (x^TA^T-b^T)(Ax-b) \\
&= \frac{1}{2}(x^TA^TAx-2b^TAx+b^Tb)
\end{align*} \\
\]
需要注意的 b, x 都是列向量, 那么 \(b^T Ax\) 是个标量, 标量的转置等于自身, \(b^T Ax =x^TA^Tb\)
对\(\vec x\)求导得:
\[J_{LS}'{(\theta)}=A^TA x-A^Tb=A^T(Ax-b)
\]