超参数

超参数(Hyperparameter) 是机器学习模型的 "外部设定" ,由人预先指定,不通过训练自动学习。

核心区别:超参数 vs 模型参数

表格
复制
对比项超参数模型参数
谁来定 你(开发者) 设定 算法自动学习
例子 学习率、网络层数 权重w、偏置b
作用 控制训练过程 决定模型行为
是否变化 训练前固定(通常) 训练中持续更新
通俗类比:烤蛋糕
  • 超参数:烤箱温度、烘烤时间(你设定)
  • 模型参数:配方中面粉、糖的具体克数(通过调试得出)

BP神经网络中的关键超参数

在刚才的反向传播算法中,这些值由你决定:
  1. 学习率(Learning Rate)
    • 控制权重调整步长
    • 太大:可能跳过最优解(震荡)
    • 太小:训练速度慢,耗时过长
  2. 隐藏层数量 & 每层神经元数量
    • 决定网络复杂度
    • 层数太多:容易过拟合,计算慢
    • 层数太少:学习能力不足
  3. 训练轮数(Epochs)
    • 整个数据集训练多少遍
    • 太多:浪费时间且过拟合
    • 太少:学不透
  4. 批量大小(Batch Size)
    • 每次更新权重用多少样本
    • 太大:内存压力大,可能陷入局部最优
    • 太小:训练不稳定,速度慢
  5. 激活函数类型
    • ReLU、Sigmoid、Tanh等
    • 影响网络非线性能力和梯度流动
  6. 优化器选择
    • SGD、Adam、RMSprop等
    • 决定权重更新的具体策略

如何选择超参数?

试错法是最常用的:
  1. 网格搜索(Grid Search):穷举所有组合,选最好
  2. 随机搜索(Random Search):随机尝试,效率更高
  3. 经验法则:参考前人成功案例
  4. 自动调参工具:如Optuna、Hyperopt
实用建议:
  • 学习率:先从0.01或0.001开始尝试
  • 隐藏层:简单问题1-2层,复杂问题3-5层
  • Batch Size:32、64、128是常用值

一句话总结

超参数是你给模型的 "学习规则" ,而模型参数是模型在规则下自己学到的知识。规则定得好,学得就快、准、稳!

回到BP神经网络:超参数决定了"学习环境"(教室大小、学习节奏),BP算法在这个环境下负责"传授知识"(调整权重w和偏置b)。
posted @ 2025-11-11 23:36  yinghualeihenmei  阅读(17)  评论(0)    收藏  举报