1.3 深度学习——线性代数&标量&向量&矩阵
·

什么是标量?
- 标量是一个单独的数字,比如3、5、或者52。
- 你可以把标量想象成一个小盒子,里面只放着一个数字。
举个例子
- 想象一下你去餐厅吃饭,账单上写着你需要支付的金额,比如52美元。这个52就是一个标量。
- 如果你想把华氏温度转成摄氏温度,可以使用这个公式:
[
c = \frac{5}{9} (f - 32)
]
这里的c和f也是变量,它们代表我们不知道的数字(比如温度)。
数学符号
- 在数学里,
x、y和z常用来表示标量。例如,如果我们说x ∈ R,意思是x是一个实数(可以是任何数字)。 - 符号
∈表示“属于”的意思,像说x和y只能是0或者1时,可以写成x, y ∈ {0, 1}。
张量
- 张量是数学中的一种概念,标量就是只有一个数字的张量。想象一下,张量像是不同形状和大小的盒子,标量就是一个只有一个小数字的盒子。
代码示例
我们用代码来做一些简单的数学运算:
from mxnet import np, npx
npx.set_np()
x = np.array(3.0) # 创建一个标量,值是3.0
y = np.array(2.0) # 创建另一个标量,值是2.0
# 做一些运算
加法 = x + y # 3.0 + 2.0
乘法 = x * y # 3.0 * 2.0
除法 = x / y # 3.0 / 2.0
指数 = x**y # 3.0的2.0次方
# 结果
加法, 乘法, 除法, 指数
- 这段代码做了加法、乘法、除法和指数运算,结果分别是:
- 加法:5.0
- 乘法:6.0
- 除法:1.5
- 指数:9.0
总结
- 标量就是一个单独的数字,我们可以用它们做很多数学运算。
- 学习线性代数和标量对理解很多数学和科学模型很重要,希望你们能觉得有趣!
1. 什么是向量?
- 向量可以想成一个装了多个数字的“数字列表”。
- 比如,假设我们有一组数字:[0, 1, 2, 3]。这组数字就组成了一个向量。
- 向量的每个数字叫做元素。在向量[0, 1, 2, 3]中,数字0、1、2、3都是这个向量的元素。
举例说明
- 比如我们想知道一个人的一些信息,我们可以用一个向量来记录:
- 第1个数字可以代表年龄,
- 第2个数字可以代表身高,
- 第3个数字可以代表体重。
- 这样一来,如果这个人12岁、身高150厘米、体重40公斤,我们的向量可以写成[12, 150, 40]。
数学符号表示向量
- 在数学里,我们常用粗体的小写字母(如x、y、z)表示向量。
- 比如,我们用 x 表示向量 x = [12, 150, 40]。
如何用代码创建和使用向量
- 在Python中,我们可以使用代码来创建向量,并访问它的每个元素。来看一个例子:
from mxnet import np # 创建一个向量 x,里面包含 0, 1, 2, 3 x = np.arange(4) x # 输出结果:array([0., 1., 2., 3.])
如何获取向量的某个元素
- 比如我们想获取第4个元素(数字3),可以使用x[3],因为向量中的元素是从第0个位置开始的。
x[3] # 输出结果:array(3.)
2. 向量的“长度”与“维度”
-
向量的长度就是它里面有多少个元素。比如,向量[0, 1, 2, 3]的长度是4。
-
在数学上,我们用符号 x ∈ R⁴ 表示向量x包含4个数字。
-
在Python里,我们可以用
len()来获取向量的长度:len(x) # 输出结果:4 -
维度是描述向量中有几个数字的另一个方式。在这个例子中,向量x有4个数字,所以它的维度是4。
向量的形状
- 在代码中,向量的形状可以用
x.shape来表示。形状描述了向量在不同方向上的长度。因为我们这个向量只有一个方向(一个轴),所以形状是(4,)。x.shape # 输出结果:(4,)
总结
- 向量是一个数字列表,它的每个数字叫做元素。
- 向量有长度(表示里面有几个数字),维度就是长度。
- 我们可以用代码创建向量、访问其中的元素、获取它的长度和形状。
1. 什么是矩阵?
- 矩阵可以看作是一个包含很多向量的“表格”。我们通常用粗体的大写字母(例如X、Y、Z)来表示矩阵。
- 矩阵由很多行(横向)和列(纵向)组成,就像一个表格一样。每个地方的数字叫做元素。
举个例子
-
想象一下,一个班级的学生信息,每行可以代表一个学生,每列可以代表不同的信息,比如:
- 第1列是学生的姓名,
- 第2列是学生的年龄,
- 第3列是学生的身高。
那么我们可以把这些信息整理成一个矩阵。
矩阵的数学表示
- 在数学中,如果一个矩阵有m行n列,我们可以用符号 ( A \in R^{m \times n} ) 来表示这个矩阵。
- 例如,下面是一个 3 行 2 列的矩阵:
[
A =
\begin{bmatrix}
a_{11} & a_{12} \
a_{21} & a_{22} \
a_{31} & a_{32}
\end{bmatrix}
]
这里 ( a_{ij} ) 表示第 i 行第 j 列的元素。
如何用代码创建矩阵
- 在Python中,我们可以用代码来创建一个矩阵。比如:
这个代码会输出一个矩阵,像这样:import numpy as np # 创建一个 5 行 4 列的矩阵 A = np.arange(20).reshape(5, 4) print(A)[[ 0., 1., 2., 3.], [ 4., 5., 6., 7.], [ 8., 9., 10., 11.], [12., 13., 14., 15.], [16., 17., 18., 19.]]
如何访问矩阵中的元素
- 我们可以通过行和列的索引来访问矩阵中的某个元素。比如,( A[1, 2] ) 表示第2行第3列的元素。
- 在上面的矩阵中,( A[1, 2] ) 是数字6。
矩阵的转置
- 有时我们需要交换矩阵的行和列,这个操作叫做转置。
- 如果我们把矩阵 ( A ) 转置,得到的矩阵叫做 ( A^T ),它的行和列就会互换。例如:
输出的转置矩阵看起来会是这样的:A_T = A.T print(A_T)[[ 0., 4., 8., 12., 16.], [ 1., 5., 9., 13., 17.], [ 2., 6., 10., 14., 18.], [ 3., 7., 11., 15., 19.]]
对称矩阵
- 如果一个矩阵和它的转置是一样的,我们称这个矩阵为对称矩阵。比如:
这个矩阵 ( B ) 的转置也是 ( B )。B = np.array([[1, 2, 3], [2, 0, 4], [3, 4, 5]])
矩阵的用途
- 矩阵非常有用,因为它们可以帮助我们组织数据。例如,在一个矩阵中,每一行可以代表不同的房子,每一列可以代表不同的属性(如面积、价格等)。
总结
- 矩阵是一个包含数字的表格,能够存储很多信息。
- 我们可以通过行和列来访问每个数字。
- 矩阵可以转置,行和列会互换。
- 矩阵在很多地方都很有用,比如记录学生信息、房屋特征等等。
更多推荐
所有评论(0)