机器学习中的线性代数与Keras入门
1. 线性代数基础回顾
在机器学习领域,线性代数是非常重要的基础。我们先回顾一些线性代数的基本概念,包括标量、向量、矩阵和张量,以及它们的基本操作,如加法、转置和重塑。
1.1 重塑与转置的区别
为了强化重塑(reshaping)和转置(transposing)是不同操作的概念,我们可以查看每个数组的哪些元素相匹配。以下代码展示了如何比较重塑后的矩阵和转置后的矩阵:
import numpy as np
mat1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
np.reshape(mat1, [3,4]) == mat1.T
运行上述代码后,我们会得到一个布尔矩阵,显示元素级别的等价性。从结果中可以看到,只有第一个和最后一个元素匹配。
1.2 矩阵乘法
矩阵乘法是神经网络操作的基础。与加法规则简单直观不同,矩阵和张量的乘法规则更为复杂。矩阵乘法不仅仅是元素级别的简单相乘,而是涉及一个矩阵的整行和另一个矩阵的整列的更复杂过程。
给定两个矩阵 $A$ 和 $B$,它们的乘积 $C = AB$,每个元素 $c_{ij}$ 定义为:
$c_{ij} = \sum_{k=1}^{n} a_{ik}b_{kj}$
需要注意的是,结果矩阵的形状与矩阵乘积的外部维度相同,即第一个矩阵的行数和第二个矩阵的列数。为了使乘法可行,矩阵乘积的内部维度必须匹配,也就是第一个矩阵的列
超级会员免费看
订阅专栏 解锁全文
1686

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



