概述
python机器学习算法应用
- 矩阵数乘
- Universial Functions
- 矩阵运算
- 矩阵转置
- 向量和矩阵的运算
- 矩阵的逆
矩阵数乘
如果自己去写for循环创建数乘之后的列表,效率很低,花费的时间代价很大。
可以使用numpy.array()来创建数乘结果矩阵。
注:绝对不可以使用直接使用一个数去直接乘一个普通的列表的情况,这样只是将列表的元素复制了n次。
Universial Functions
若是使用numpy.array()创建的矩阵则可以直接进行加减乘除、乘方、求余的数乘运算。
注://是只进行整数运算,即结果进行截断
求倒数操作:
求矩阵每个元素的绝对值:numpy.abs(X)
求矩阵每个元素的正弦值:numpy.sin(X)
求矩阵每个元素的余弦值:numpy.cos(X)
求矩阵每个元素的正切值:numpy.tan(X)
对矩阵X中的每个元素x求ex:np.exp(X)
对矩阵X中的每个元素x求ax:np.power(a,X)
np.power(a,X) 的结果和a ** X的结果是一样的。
对矩阵X中的每个元素x取log值(以自然对数e为底):numpy.log(X)
以2为底取对数的函数:numpy.log2(X)
以10为底取对数的函数:numpy.log10(X)
矩阵运算
使用numpy创建的矩阵可以直接做加、减、乘运算,其中加减运算要满足两个矩阵是同型矩阵,乘法要满足前一个矩阵的列数等于第二个矩阵的行数。
矩阵乘法不能直接使用*,要使用dot()函数。
矩阵转置
只要使用矩阵的属性T
向量和矩阵的运算
向量和矩阵做加法时,是将向量的元素加到矩阵的每一行上
这里使用v进行在行方向上进行堆叠。A.shape[0]表示A矩阵的第1维度(行)
np.tile()方法传入一个矩阵v,后面再跟一个元组,元组里的元素表示在某个维度上堆叠的次数。例如:(2,1)表示在第一维度上堆叠两次,在第二维度上堆叠一次。
向量和矩阵做乘法
直接使用*号做向量和矩阵的乘法得到的矩阵是向量和矩阵对应位置元素的乘积。而不是我们想要的矩阵和向量乘积。
做矩阵乘法同样使用dot()方法
矩阵的逆
使用方法numpy.linalg.inv()方法,将需要求得逆矩阵的矩阵作为参数传入。
矩阵和其逆矩阵相乘为单位矩阵。
想要有逆矩阵,矩阵必须为方阵(n*n)
矩阵不是方阵,不可以求得逆矩阵,但是可以求得其伪逆矩阵。
创建二维矩阵X(2*8),然后求其伪逆矩阵,再和矩阵相乘得到的矩阵近乎是单位矩阵。
最后
以上就是专一冥王星为你收集整理的python3机器学习经典算法与应用之Numpy.array运算的全部内容,希望文章能够帮你解决python3机器学习经典算法与应用之Numpy.array运算所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复