线性代数基础
线性代数是数学的一个分支,主要研究向量空间及其线性映射。它在人工智能、机器学习、计算机图形学等领域中发挥着重要作用。接下来,我们将介绍线性代数的基本概念。
向量是一个具有方向和大小的对象,通常表示为一个有序数列。向量可以在几何空间中表示位置、速度等物理量。
例如,一个二维向量可以表示为:
$$
\vec{v} = \begin{pmatrix} x \ y \end{pmatrix}
$$
在Python中,可以使用 numpy
来创建向量:
1 | import numpy as np |
矩阵
矩阵是一个由数字排列成的矩形阵列,通常用来表示线性变换。矩阵的大小由其行数和列数决定。
一个 $m \times n$ 矩阵可以表示为:
$$
A = \begin{pmatrix}
a_{11} & a_{12} & \cdots & a_{1n} \
a_{21} & a_{22} & \cdots & a_{2n} \
\vdots & \vdots & \ddots & \vdots \
a_{m1} & a_{m2} & \cdots & a_{mn}
\end{pmatrix}
$$
在代码中,使用 numpy
可以轻松创建矩阵:
1 | A = np.array([[1, 2], [3, 4]]) |
向量空间
向量空间是一个集合,包含了所有的向量以及这些向量的线性组合。简单来说,向量空间需要满足以下条件:
- 向量之间可以加法相加。
- 向量可以与标量相乘。
例如,在二维空间中,任意两向量 $\vec{u}$ 和 $\vec{v}$ 的和 $\vec{u} + \vec{v}$,仍然是二维空间中的向量。
线性组合
线性组合是指用标量乘以向量然后相加的过程。如果有向量 $\vec{u}$ 和 $\vec{v}$,以及标量 $a$ 和 $b$,则线性组合表示为:
$$
\vec{w} = a\vec{u} + b\vec{v}
$$
例如,如果 $\vec{u} = \begin{pmatrix} 1 \ 2 \end{pmatrix}$ 和 $\vec{v} = \begin{pmatrix} 3 \ 4 \end{pmatrix}$,则:
$$
\vec{w} = 2\vec{u} + 3\vec{v} = 2 \begin{pmatrix} 1 \ 2 \end{pmatrix} + 3 \begin{pmatrix} 3 \ 4 \end{pmatrix} = \begin{pmatrix} 2 + 9 \ 4 + 12 \end{pmatrix} = \begin{pmatrix} 11 \ 16 \end{pmatrix}
$$
线性方程组
线性方程组是由多个线性方程组成的系统。线性方程的标准形式可以表示为:
$$
A\vec{x} = \vec{b}
$$
其中 $A$ 是矩阵,$\vec{x}$ 是未知向量,$\vec{b}$ 是结果向量。
例如,考虑下列线性方程组:
$$
\begin{align*}
2x + 3y &= 5 \
4x + y &= 6
\end{align*}
$$
可以将其转化为矩阵形式:
$$
A = \begin{pmatrix} 2 & 3 \ 4 & 1 \end{pmatrix}, \quad \vec{x} = \begin{pmatrix} x \ y \end{pmatrix}, \quad \vec{b} = \begin{pmatrix} 5 \ 6 \end{pmatrix}
$$
在Python中,可以使用 numpy.linalg.solve
函数来求解这个方程组:
1 | A = np.array([[2, 3], [4, 1]]) |
总结
线性代数是理解AI和机器学习的基础。掌握向量、矩阵及它们的运算,对于构建模型和进行数据分析至关重要。通过实际案例和代码示例,我们可以把理论与实践相结合,提高学习效果。