(02)线性回归--(01)数组乘法运算详解


import numpy as np

# 点乘操作
# 数组 a 的形状是 (2, 3),表示一个 2 行 3 列的矩阵
a = np.array([[1, 2, 3],
              [4, 5, 6]])

# 数组 b 的形状是 (3, 2),表示一个 3 行 2 列的矩阵
b = np.array([[9, 8],
              [6, 5],
              [3, 2]])

# 打印数组 a 和 b 的内容
print("数组 a:")
print(a)
print("数组 b:")
print(b)

# 点乘(矩阵乘法):a 是 (2,3) 形状,b 是 (3,2) 形状,结果将是 (2,2) 形状的矩阵
print("点乘结果:")
print(a.dot(b))  # 或者使用 a @ b

# 转置后进行逐元素相乘(广播机制)
print("数组 a 的转置:")
print(a.T)  # a.T 的形状为 (3,2)
print("数组 b:")
print(b)   # b 的形状也是 (3,2)

# 对转置后的 a 和 b 进行逐元素相乘(数乘)
print("转置后的数组 a 与 b 的逐元素相乘:")
print(a.T * b)  # 两个 (3,2) 数组逐元素相乘

# 一维数组的数乘和点乘
# 创建两个二维数组 w 和 x,它们的形状均为 (1,3)
w = np.array([[1, 1, 1]])
x = np.array([[2, 2, 2]])

# 逐元素相乘:对应位置的元素相乘,结果仍是一个 (1,3) 的数组
print("一维数组 w 和 x 的数乘(逐元素相乘):")
print(w * x)

# 点乘:x 是 (1,3) 形状,w.T 是 (3,1) 形状,结果是一个 (1,1) 的数组,即标量
print("一维数组 w 和 x 的点乘:")
print(np.dot(x, w.T))  # 结果为 1*2 + 1*2 + 1*2 = 6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值