机器学习BP算法及矩阵求导

作者: 大菜鸟_ | 来源:发表于2019-04-17 20:38 被阅读0次

除了基本导数公式,本文介绍的矩阵求导方法不涉及任何公式的套用。

本文以neural network中最常见的一种计算单元为例,详细介绍了BP算法中涉及到的矩阵求导过程。刚接触机器学习时,曾被BP算法中的矩阵求导困扰好久,写下这篇总结,希望能对后来学习的同学有所帮助。文章中的错误,欢迎大家纠正。

(1)分析阶段

下图为neural network中较为常见的一种计算单元,本文以此为例介绍我对矩阵求导或是BP算法的理解。

矩阵维数:

X:N * D
W: D * M
b: M * 1
q: N * M
f: N * M

一般而言:

N表示输入的训练数据数目

D表示一条样本数据展开为行向量后的长度

M表示下一hidden layer的hidden unit数目

由上图:

image

对于矩阵q:

其中q[i][j]:

简单的分析之后,我们先明确我们的目标,对于BP算法主要是求解f对W和b的偏导数,即求解下面两个表达式:

结合上面两个等式:

即,我们想求出f对W和对b的偏导数,我们只需另外求出下面这个等式即可:

另外,有一个小技巧可以帮助验证最后得到的梯度矩阵形式是否正确,在机器学习中我们求梯度或偏导数主要用于类似如下表达式:

抛开dW前的系数,我们可以发现矩阵dW和W维数必须相同。


2)求解

对于函数f:

数学定义上f在0处不可导,因为ReLu在0点不可导,这里我们人为取f在0点的导数为0,所以:

而:


为方便表示,这里我们引入一个辅助矩阵V:

因而有:

之后回到步骤(1)中最后两个表达式:

对于第一个表达式,即矩阵X的第m列与矩阵V的第n列的乘积,等价于X的转至的第m行与V的第n列的乘积,所以向量化表示为:

即,X的转置与V的卷积:X.T.dot(V)

第二个表达式,即为矩阵V第k列的和,所以向量化表示为:

即,矩阵V按列求和。


综上:

与矩阵W维数相同,均为:D * M

与向量b维数相同,均为:M * 1


(3)小结:

机器学习中的矩阵求导,尤其BP算法中的矩阵求导可以由导数的“链式法则”一步步得到,完全不用刻意去背诵相关的求导公式,这也有助于理解BP算法。另外,理解矩阵X和其梯度矩阵dX具有相同维数很有帮助。

希望本文对你有所帮助。最后附上个人觉得比较好的几个机器学习视频资料:

Coursera 上吴恩达的“机器学习”

吴恩达的“deeplearning.ai”系列,在网易云上搜索“吴恩达”即可找到,完整中文字幕。

吴恩达deeplearning.ai系列课程

斯坦福大学李飞飞老师开设的CS231n,用deeplearning做计算机视觉相关(图像分类),这个课程可以让你学会手写“CNN”,看完可以对neural network有较深刻的认识,非常推荐。视频可以在B站上找到,清晰度非常高,全英文字幕。另外,Google搜索“CS231n”,可以找到这个课程的网站,上面有assigments(课程作业非常有价值,github上可以找到作业答案),需要提前准备的一些预备知识等,上面有很多资料,值得一看。

书的话推荐:李航的统计学习方法、周志华的机器学习又称“西瓜书”

1和2可以让你从总体对机器学习体系有较好的了解;3的话可以让你对机器学习了解更深刻;4可以让你对机器学习背后的数学理论有较好的了解。

不建议入门者一开始就啃理论,个人觉得机器学习对理论的了解是个渐进的过程,通过视频学习把握整体,然后是:理论,应用,理论之间不断深入的过程。


扫描下方二维码,及时获取更多互联网求职面经javapython爬虫大数据等技术,和海量资料分享
公众号菜鸟名企梦后台发送“csdn”即可免费领取【csdn】和【百度文库】下载服务;
公众号菜鸟名企梦后台发送“资料”:即可领取5T精品学习资料java面试考点java面经总结,以及几十个java、大数据项目资料很全,你想找的几乎都有

扫码关注,及时获取更多精彩内容。(博主今日头条大数据工程师)

相关文章

  • 机器学习BP算法及矩阵求导

    除了基本导数公式,本文介绍的矩阵求导方法不涉及任何公式的套用。 本文以neural network中最常见的一种计...

  • 矩阵求导(一)

    矩阵求导(Matrix Derivative)也称作矩阵微分(Matrix Differential),在机器学习...

  • Matrix Derivative矩阵求导

    Welcome To My Blog 学习机器学习算法时总碰见矩阵求导,现学习一波,主要总结下注意:这里只涉及实...

  • 机器学习-矩阵求导

    整理自公众号--数据挖掘机养成记,穆哥写的矩阵求导真的太赞,生动有趣,由浅入深,先贴一张公众号的二维码,欢迎大家关...

  • 矩阵求导

    深度学习-矩阵求导的坑闲话矩阵求导

  • 矩阵向量求导

    本文整理自李建平机器学习中的矩阵向量求导系列和长躯鬼侠的矩阵求导术。 1. 符号说明 默认符号: :标量 : ...

  • 机器学习中的矩阵、向量求导

    写在前面 本文的目标读者是想快速掌握矩阵、向量求导法则的学习者,主要面向矩阵、向量求导在机器学习中的应用。因此,本...

  • 机器学习

    机器学习等于矩阵+优化+算法+统计

  • 机器学习——矩阵求导法则

    上传一份矩阵的求导法则,以备不时之需!

  • 2019-07-25 深度学习

    机器学习 - 神经网络 - 深度学习 图像 文本 语音 深度学习算法比机器学习都要好很多bp算法:多层感知器的误差...

网友评论

    本文标题:机器学习BP算法及矩阵求导

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