机器学习算法涉及很多线性代数知识,我们会经常使用 NumPy 函数库,用线性代数简化不同的数据点上执行的相同数学运算。将数据表示为矩阵形式,只需要执行简单的矩阵运算而不需要复杂的循环操作。
在Python shell开发环境中输入下面命令:from numpy import *
,将 NumPy 函数库中的所有模块引入到当前的命名空间,输入以下命令:
上述命令构造了一个 4*4
的随机数组(随机数组在不同计算机上输出可能不同)。
在 NumPy 函数库中存在两种不同的数据类型(矩阵 matrix 和数组 array),二者都可以用于处理行列表示的数字元素。虽然看起来很相似,但在这两个数据类型上执行相同的数学运算可能得到不同的结果,其中的矩阵 matrix 与 MATLAB 中 matrices 等价。
调用 mat()
函数可将数组转换为矩阵:
如何进行矩阵求逆呢?不记得或者没学过矩阵求逆也没关系,NumPy 库 .I
操作符可以很方便地算出矩阵的逆运算:
接着执行矩阵乘法,得到矩阵与其逆矩阵相乘的结果:
结果应该是单位矩阵,除了对角线元素是 1,4*4
矩阵的其他元素应该全是 0。上面实际输出略有不同,矩阵里还留下了很多数值非常小的元素,这是计算机处理误差产生的结果,我们来看一下误差值:
函数 eye(4)
创建 4*4
的单位矩阵。
只要能够顺利完成上面的例子,你就已经正确地安装并初步使用了 NumPy 函数库。后面我们会对它有更深的了解。