本系列内容是对于Deep Learning一书的研读心得,将会在尊重原著及版权的基础上,加入一部分critical thinking。阅读请尊重Deep Learning原著版权。本系列欢迎评论转载,请注明出处。
本文中图片来源于原书Deep Learning,只用于学习交流,不得用于商业目的。
在近期的几次博客中,将会讲述机器学习,尤其是深度学习需要的应用数学基础。内容是基于原书Deep Learning,但是并不做全面的记录,而是重点讲述大学数学教育要求之外的部分,以及对容易遗忘的想法与技巧做一下拾遗。
本次是线型代数部分(linear algebra),由于线性代数部分内容在后续内容中都较为重要,所以分为两节梳理:
在下述讲解中,均视为维数相同的列向量,
为任意方阵,
为正交矩阵,
为与之同阶的单位矩阵。
1.向量点积的转置与位置转换
注意到两个向量的点积已经变为标量了,而对标量而言,转置并不改变其值的任何属性。所以,对矩阵乘法中已经变为标量的部分,可以对整体做转置而不改变它的值,也可以对整体移动其在整个乘法算式中的位置(相当于系数)。
例如:
再如:
2.正交矩阵
这是一类性质非常好的矩阵,其定义是,满足行与列皆为相互正交的单位向量的方阵。从而有如下性质:
并使得计算它的逆变为了一件耗费非常低的事情:
关于正交矩阵的行列式,同时有如下性质:
3.范数
向量和矩阵的范数(norm),是用于衡量其规模(size)的重要指标。在数学中,满足正定性,正齐次性以及三角不等式的函数都可以被称为范数。
在机器学习中,经常用到的范数有用于向量的范数、
范数,习惯性称呼为
范数的特殊“范数”,以及矩阵的Frobenius范数。
还有一种特殊的“范数”,虽然一般意义上我们称之为范数,但其实它并非范数。它统计的是向量中非零元素的个数。
最后应当介绍矩阵的Frobenius范数,这是向量的范数在矩阵中的推广:
4.迹
方阵的迹(Trace)是主对角线上所有元素的和,也是所有特征值(eigenvalue)的和。
基于迹的定义,可知其满足线性性:
由于迹是所有特征值的和,所以,不改变矩阵特征值的操作也都不改变迹。应当注意到,矩阵特征值不变是迹不变的充分不必要条件。
同时,在矩阵乘法中,将一系列相乘的矩阵的末尾矩阵交换到首位,是不改变迹的值的:
这种操作,即使对于交换后计算得到的阶数不同的矩阵也是成立的。
迹还有一种非常重要的用途,即在省略求和符号和矩阵元素表示的前提下,能够仅使用迹和矩阵乘法就表示一些特别的操作,如Frobenius范数:
matrix calculus:一个补充主题
不得不承认这是国内高等数学教育的短板。数学技巧与数学训练的难度确实非常重要,证明的构建确实是非常重要,但是,高等数学教育,更应该考虑到学高等数学的理工科学生的现状,同应用数学的需要接轨。
尤其是这个符号系统,简直没有办法吐槽了。明明已经把原理讲清楚了,却非要用一套自以为“形象化”却实际上繁琐得不得了的记号。学生对高数下册的考试无力吐槽不说,跟实际应用或者科研层的符号系统也接不上轨。
欧洲大陆的微积分最终超过了微积分的发源地英国,不得不承认,莱布尼兹发明的记号系统是发挥了很大的作用的。讲述同样内核的记号系统,越简单越接近本质就越应该被推广。这一点国内高等数学教育真的是要向国外好好学习。
这里空间有限,就写两种通用的写法之间的转换:
推荐一本很好的工具书,matrix cookbook。同时嵌入进博客,可以直接查看:
width="738" height="523" class="preview-iframe" scrolling="no" src="http://download.csdn.net/source/preview/9771287/f26b052726b6dd92907c402c35a92131">