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

2019-11-16  本文已影响0人  0与1的邂逅

写在前面:

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

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

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

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

梯度下降的矩阵描述:

首先,对于输入矩阵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{\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为学习率。


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

写在最后:

参考资料:

学无止境!!!

上一篇下一篇

猜你喜欢

热点阅读