美文网首页
机器学习 | 优化——梯度下降(矩阵方式描述)

机器学习 | 优化——梯度下降(矩阵方式描述)

作者: 0与1的邂逅 | 来源:发表于2019-11-16 17:44 被阅读0次

    写在前面:

    在前一篇文章中我们介绍了 梯度下降当时的描述采用的是 代数的形式。但是,很多时候我们会更倾向于用 矩阵 来描述。

    主要涉及到一定的矩阵分析的基础知识,尤其是 矩阵求导 方面的知识。

    留一个传送门:闲话矩阵求导,介绍了有关矩阵求导的基础知识。

    自己也是刚做一些了解,主要是做一下笔记,还望各位前辈海涵,多多指教。

    梯度下降的矩阵描述:

    首先,对于输入矩阵Xm*n的矩阵:

    ——图片来源:https://blog.csdn.net/qq_41670466/article/details/89053810

    所以预测值为\widehat{y}=Xw

    ——图片来源:https://blog.csdn.net/qq_41670466/article/details/89053810

    因此,预测值\hat{y}与真实值y之间的均方误差为:

    \operatorname{MSE}=\frac{1}{2} *(\hat{y}-y)^{2}=\frac{1}{2}(X \omega-y)^{2}

    注:乘上\frac{1}{2}是为了后面求导的方便


    接着,对这个式子进行化简:

    首先,根据X^{T} X=\sum X_{i j}^{2},可得:

    M E S=\frac{1}{2}(X \omega-y)^{T}(X \omega-y)

    接着,根据矩阵转置的相关性质:

    (A+B)^T=A^T+B^T\ ;\ (AB)^T=B^{T}A^T

    对式子的括号进行展开,得:

    (X \omega-y)^{T}(X \omega-y)=w^TX^TXw-w^TX^Ty-y^TXw+y^Ty

    然后,我们对其进行梯度下降处理:

    \frac{\partial_{}\left(\omega^{T} X^{T} X \omega-\omega^{T} X^{T} y-y^{T} X \omega+y^{T} y\right)}{\partial{w}}

    接着,利用 矩阵迹函数的技巧,将上面的等式转换为:

    \frac{tr(\partial\left(\omega^{T} X^{T} X \omega-\omega^{T} X^{T} y-y^{T} X \omega+y^{T} y\right))}{\partial{w}}

    =\frac{tr(\partial(\omega^{T} X^{T} X \omega))}{\partial{w}}-\frac{tr(\partial(\omega^{T} X^{T} y))}{\partial{w}}-\frac{tr(\partial(y^{T} X \omega))}{\partial{w}}+\frac{tr(\partial(y^{T} y))}{\partial{w}}

    • 对于第四项\frac{tr(\partial(y^{T} y))}{\partial{w}},结果为零矩阵

    • 对于第三项\frac{tr(\partial(y^{T} X \omega))}{\partial{w}},将其转换为\frac{tr(\partial{(y^{T} X \omega})^T)}{\partial{w}}=\frac{tr(\partial{(w^TX^Ty}))}{\partial{w}}=X^Ty

    • 对于第二项\frac{tr(\partial(w^{T} X^T y))}{\partial{w}},与第三项相等,结果也为X^Ty

    • 对于第一项\frac{tr(\partial(\omega^{T} X^{T} X \omega))}{\partial{w}},利用公式tr(d(AXBX^T))=X^TAB+AXB,将该公式中的A看成单位矩阵,从而可以忽略;将该公式中的X看成w^TB看成X^TX。因此,求得第一项最终为:2X^TXw

    最终,求得原来式子的结果为:

    \frac{\partial_{}\left(\omega^{T} X^{T} X \omega-\omega^{T} X^{T} y-y^{T} X \omega+y^{T} y\right)}{\partial{w}}=\frac{1}{2}(2X^TXw-2X^Ty)

    \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =X^TXw-X^Ty=X^T(Xw-y)


    因此,最后参数w的更新表达式为:

    w=w-\alpha X^T(Xw-y)

    其中\alpha为学习率。


    关于迹函数的技巧,可以参考:

    写在最后:

    参考资料:

    学无止境!!!

    相关文章

      网友评论

          本文标题:机器学习 | 优化——梯度下降(矩阵方式描述)

          本文链接:https://www.haomeiwen.com/subject/wjdybctx.html