参数 vs 超参数
参数 – 模型内部的配置变量,其值可以根据数据进行估计
- 进行预测时需要参数
- 它参数定义了可使用的模型
- 参数是从数据估计获取的
- 参数通常不由coder手动设置
- 参数通常被保存为学习模型的一部分
- 参数是ML算法的关键,它们通常由过去的训练数据中总结得出
超参数 – 模型外部的配置,其值无法从数据中估计
- 超参数通常用于帮助估计模型参数
- 超参数通常由人工指定
- 超参数通常可以使用启发式设置
- 超参数经常被调整为给定的预测建模问题
网格搜索 GridSearchCV()
举个 栗子🌰
- λ \lambda λ = 0.01, 0.1, 1.0
- α \alpha α = 0.01, 0.1, 1.0
你可以做一个排列组合,即:
{[0.01,0.01],[0.01,0.1],[0.01,1],[0.1,0.01],[0.1,0.1],[0.1,1.0],[1,0.01],[1,0.1],[1,1]}
然后针对每组超参数分别建立一个模型,然后选择测试误差最小的那组超参数。
我们需要从超 参数空间中寻找最优的超参数,很像一个网格中找到一个最优的节点,因此叫网格搜索。
网格搜索相当于暴力地从参数空间中每个都尝试一遍,然后选择最优的那组参数
- 不够高效
随着参数类别个数的增加,需要尝试的次数呈指数级增长
随机搜索 RandomizedSearchCV()
参数的随机搜索中的每个参数都 是从可能的参数值的分布中采样的
- 可以独立于参数数量和可能的值来选择计算成本
- 添加不影响性能的参数不会降低效率