栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【机器学习笔记】numpy中关于*、dot()、multiply()针对矩阵的乘积

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【机器学习笔记】numpy中关于*、dot()、multiply()针对矩阵的乘积

情况A*Bnp.dot(A,B)np.multiply(A,B)
A.shape=(1,m);B.shape=(1,1)C.shape = (1,m) A行向量扩大b倍ValueError同 * 运算法则
A.shape=(1,m);B.shape=(1,n)C.shape = (1,m) 相同坐标的元素相乘。注:当且仅当n=m成立ValueError同 * 运算法则
A.shape=(1,m);B.shape=(n,1)C.shape = (n,m) 行向量扩大bi(i=1-n)倍,结果独占一行C.shape = (1,1) 向量点乘法则。注:当且仅当n=m成立同 * 运算法则
A.shape=(n,m);B.shape=(l,o)C.shape = (n,m) 相同坐标的元素相乘。注:当且仅当m=o时成立C.shape = (n,o) 相同坐标的元素相乘。注:当且仅当m=l成立同 * 运算法则

总结:
np.dot(a,b) 遵循矩阵向量运算规则
np.multiply(A,B)和 A*B两者遵循相同的运算规则,更偏向于列向量相同矩阵向量相乘。(也就适用于机器学习列向量代表样本数量)


附上 写笔记用的测试代码

import numpy as np

# 行向量、数
# a = np.array([[1, 2, 3]])
# b = np.array([[2]])

# 行向量、行向量
# a = np.array([[1, 2, 3]])
# b = np.array([[2, 2, 3]])
# b = np.array([[2, 2]])

# 行向量、列向量
# a = np.array([[1, 2, 3]])
# # b = np.array([[2],[ 2],[3]])
# b = np.array([[2], [2]])

# 矩阵、矩阵
# a = np.array([[1, 2,1], [3, 4,1]])
# b = np.array([[2, 2, 1], [1, 1,1]])

a = np.array([[1, 2,1], [3, 4,1]])
b = np.array([[2, 2, 1]])

# a = np.array([[1, 2], [3, 4]])
# b = np.array([[2, 2], [1, 1]])

# a = np.array([[1, 2], [3, 4], [1, 1]])
# b = np.array([[2], [2]])


print(a * b)
# print(np.dot(a, b))
print(np.multiply(a,b))
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/754839.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号