用Python玩转线性代数:NumPy矩阵运算实战指南
线性代数作为机器学习的基石,常常让初学者望而生畏。但有了Python和NumPy这个强大的工具,抽象的矩阵运算变得触手可及。本文将带你用代码直观理解线性代数的核心概念,为后续的机器学习实践打下坚实基础。
1. 准备工作:NumPy环境搭建
在开始矩阵运算之旅前,我们需要确保Python环境中已安装NumPy库。如果你使用的是Anaconda发行版,NumPy通常已经预装。可以通过以下命令验证:
python复制import numpy as np
print(np.__version__)
如果尚未安装,使用pip安装非常简单:
bash复制pip install numpy
NumPy的核心是ndarray对象,这是一个高效的多维数组容器,专为数值计算设计。与Python原生列表相比,NumPy数组在存储和操作上都有显著优势:
- 连续内存布局:提升缓存利用率
- 向量化操作:避免显式循环
- 广播机制:简化不同形状数组的运算
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 矩阵基础操作实战
2.1 创建矩阵的多种方式
NumPy提供了多种创建矩阵的方法,适应不同场景:
python复制# 从列表创建
matrix_a = np.array([[1, 2], [3, 4]])
# 特殊矩阵生成
zeros_matrix = np.zeros((2, 3)) # 2行3列零矩阵
ones_matrix = np.ones((3, 2)) # 3行2列单位矩阵
identity_matrix = np.eye(3) # 3阶单位矩阵
random_matrix = np.random.rand(2, 2) # 2x2随机矩阵
# 使用arange和reshape
sequence_matrix = np.arange(9).reshape(3, 3)
2.2 矩阵加减法与标量乘法
矩阵的加减法和标量乘法遵循直观的逐元素运算规则:
python复制A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
# 矩阵加法
sum_matrix
