AI学习路线图:线性代数
线性代数是数学的一个分支,研究向量空间和线性映射。在 AI 领域,它被用来表示数据、定义机器学习模型和执行复杂的计算。
1. 基本对象:标量、向量、矩阵、张量
在 NumPy 中,这些对象都可以用 `ndarray` 表示,区别在于它们的“秩”(即轴的数量)。
代码示例:
2. 核心运算
点积和矩阵乘法是线性代数中最基础也最重要的运算。
向量点积 (Dot Product)
输入两个向量,计算它们的点积。
import numpy as np
v1 = np.array([1, 2, 3])
v2 = np.array([4, 5, 6])
dot_product = np.dot(v1, v2)
print(dot_product)
v1: [
]
v2: [
]
点积结果:
矩阵乘法 (Matrix Multiplication)
输入两个 2x2 矩阵,计算它们的乘积。
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
result = A @ B
print(result)
矩阵 A
矩阵 B
矩阵乘法结果:
3. 矩阵属性与分解
行列式、逆矩阵和特征值是描述方阵特性的重要概念。
行列式 (Determinant) 与 逆矩阵 (Inverse)
输入一个 2x2 矩阵,计算它的行列式和逆矩阵。只有当行列式不为零时,逆矩阵才存在。
M = np.array([[4, 7], [2, 6]])
determinant = np.linalg.det(M)
print(f"行列式: {determinant}")
if determinant != 0:
inverse = np.linalg.inv(M)
print("逆矩阵:")
print(inverse)
计算结果:
特征值 (Eigenvalues) 与 特征向量 (Eigenvectors)
对于一个给定的方阵 A,其特征向量是一个非零向量 v,当它与矩阵 A 相乘时,其效果等同于用一个标量 λ(特征值)来缩放该向量 v。
A = np.array([[2, 1], [1, 2]])
eigenvalues, eigenvectors = np.linalg.eig(A)
print("特征值:", eigenvalues)
print("特征向量:\n", eigenvectors)
计算结果: