机器学习 | 优化——梯度下降(矩阵方式描述)
2019-11-16 本文已影响0人
0与1的邂逅
写在前面:
在前一篇文章中我们介绍了 梯度下降,当时的描述采用的是 代数的形式。但是,很多时候我们会更倾向于用 矩阵 来描述。
主要涉及到一定的矩阵分析的基础知识,尤其是 矩阵求导 方面的知识。
留一个传送门:闲话矩阵求导,介绍了有关矩阵求导的基础知识。
自己也是刚做一些了解,主要是做一下笔记,还望各位前辈海涵,多多指教。
梯度下降的矩阵描述:
首先,对于输入矩阵为的矩阵:
——图片来源:https://blog.csdn.net/qq_41670466/article/details/89053810
所以预测值为:
——图片来源:https://blog.csdn.net/qq_41670466/article/details/89053810
因此,预测值与真实值之间的均方误差为:
注:乘上是为了后面求导的方便
接着,对这个式子进行化简:
首先,根据,可得:
接着,根据矩阵转置的相关性质:
对式子的括号进行展开,得:
然后,我们对其进行梯度下降处理:
接着,利用 矩阵迹函数的技巧,将上面的等式转换为:
-
对于第四项,结果为零矩阵。
-
对于第三项,将其转换为。
-
对于第二项,与第三项相等,结果也为。
-
对于第一项,利用公式,将该公式中的看成单位矩阵,从而可以忽略;将该公式中的看成,看成。因此,求得第一项最终为:。
最终,求得原来式子的结果为:
因此,最后参数的更新表达式为:
其中为学习率。
关于迹函数的技巧,可以参考:
写在最后:
参考资料:
学无止境!!!