神经网络的数学基础与优化方法
1. 张量运算基础
在理解神经网络时,张量的点积形状兼容性是关键概念之一。可以通过将输入和输出张量对齐来直观理解,把 (x)、(y) 和 (z) 想象成矩形(系数的盒子)。由于 (x) 的行和 (y) 的列必须具有相同的大小,所以 (x) 的宽度必须与 (y) 的高度匹配。例如,对于矩阵点积 (x \cdot y = z),若 (x) 的形状为 ((a, b)),(y) 的形状为 ((b, c)),则 (z) 的形状为 ((a, c))。
更一般地,对于高维张量的点积,遵循与二维情况相同的形状兼容性规则:
- ((a, b, c, d) \cdot (d,) \to (a, b, c))
- ((a, b, c, d) \cdot (d, e) \to (a, b, c, e))
2. 张量重塑
张量重塑是另一个重要的张量运算。它意味着重新排列张量的行和列以匹配目标形状,重塑后的张量与初始张量的系数总数相同。例如:
import numpy as np
x = np.array([[0., 1.],
[2., 3.],
[4., 5.]])
print(x.shape) # 输出: (3, 2)
x = x.reshape((6, 1))
print(x)
# 输出:
# array([[ 0.],
# [ 1.],
# [ 2.],
# [ 3.],
# [ 4.],
# [ 5.]])
x =
超级会员免费看
订阅专栏 解锁全文
9433

被折叠的 条评论
为什么被折叠?



