在机器学习中,用得最多的就是矩阵的运算了,这里讲下numpy中,矩阵的数值相乘以及矩阵乘法
矩阵的数值相乘,也就是两个矩阵中每一个数对应的相乘
不仅可以矩阵于矩阵数值相乘,也可以数字和矩阵相乘,不过这里应该注意的是,只有numpy生成的矩阵才能这样相乘,如果是用python原生的array函数,只会将同一个数组拼接
矩阵的乘法,需要A矩阵的列数等于B矩阵的行数
还有很多运算函数,比如np.cos,np.sin,np.log 等,都是可以进行矩阵的元素,这里不过多讲述
矩阵的逆运算
机器学习中,也会涉及到很多矩阵的逆运算
如果AB = ,同时也要BA=
,那么就能说AB矩阵互逆,那么成为一个矩阵要有逆矩阵,前提条件就是这个矩阵必须是个正方矩阵
因为AB和BA要都能相乘,那么A和B只有在行和列都一样的情况下才能相乘,可以看上面讲到的矩阵乘法
numpy也提供了函数可以直接求,np.linalg.inv(),不过如果输入一个非正方矩阵,那么就会报错
但是有时候又必须算一个非正方矩阵的逆矩阵怎么办
np.linalg.pinv() 生成一个伪逆矩阵,下图arr7乘于arr8
ps:上图看起来不像是单元矩阵,其实e-16次方已经相当小了,完全可以看成是0,这里主要是计算机对于浮点数的处理可能会有点误差