向量的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) \]

posted @ 2017-09-14 10:36  nowgood  阅读(36635)  评论(2编辑  收藏  举报