网格搜索是机器学习与深度学习中用于**超参数优化**（Hyperparameter Optimization, HPO）的一种基础且经典的穷举式搜索算法。它的核心目的在于通过系统化地遍历参数空间的预设集合，寻找到能使模型在验证集上达到最优性能的超参数组合。

 数学定义与算法逻辑

假设一个机器学习模型有 $N$ 个需要人为设定的超参数，记作变量集合 $\lambda_1, \lambda_2, \dots, \lambda_N$。

在执行网格搜索时，研究人员会为每一个超参数 $\lambda_i$ 预先设定一个包含有限个离散值的候选集合 $S_i$。

网格搜索的搜索空间 $\Lambda$ 是由所有候选集合构成的**笛卡尔积（Cartesian Product）**：

$$\Lambda = S_1 \times S_2 \times \dots \times S_N$$

**算法执行流程：**

1. **构建网格：** 算法会枚举集合 $\Lambda$ 中的每一种参数组合。如果 $S_1$ 有 3 个候选值，$S_2$ 有 4 个候选值，则会生成 $3 \times 4 = 12$ 种组合。
2. **模型训练与评估：** 针对这 12 种组合，算法会分别实例化对应的模型，并在训练集上进行训练。随后，使用交叉验证（Cross-validation）或在独立的验证集上评估该模型的性能指标（如准确率、损失值、平均回报等）。
3. **输出结果：** 遍历完成后，算法将对比所有组合的评估结果，输出取得最优性能指标的那一组超参数。