【机器学习】算法调参的两种方式:网格搜索(枚举)、随机搜索

调参的重要性体现在三个关键方面:

  1. 模型性能:超参数直接影响模型的复杂度、泛化能力和预测精度,调参是获得最佳性能的必要步骤。
  2. 实际应用:不同数据集和业务场景需要不同的参数组合,系统性调参能找到最适合当前问题的参数设置。
  3. 算法理解:通过观察参数对性能的影响,能够深入理解算法的行为模式,为后续模型选择提供重要指导。

 

一、网格搜索:穷举式的最优解寻找

网格搜索的核心思想是:通过枚举所有可能的参数组合,找到全局最优解。这种方法确保不会遗漏任何潜在的优秀参数组合,从而获得理论上的最优结果。

1、数学推导过程

网格搜索可以形式化为以下优化问题:

θ ∗ = arg ⁡ max ⁡ θ ∈ Θ f ( θ ) \theta^* = \arg\max_{\theta \in \Theta} f(\theta) θ=argθΘmaxf(θ)

其中:

  • θ \theta θ 是参数向量
  • Θ \Theta Θ 是参数搜索空间
  • f ( θ ) f(\theta) f(θ) 是模型性能评估函数

 

1. 搜索空间的数学结构

网格搜索的搜索空间 Θ \Theta Θ 可以表示为笛卡尔积:

Θ = Θ 1 × Θ 2 × ⋯ × Θ d \Theta = \Theta_1 \times \Theta_2 \times \cdots \times \Theta_d Θ=Θ1×Θ2××Θd

其中 Θ i \Theta_i Θi 是第 i i i 个参数的候选值集合。如果每个参数有 n i n_i ni 个候选值,那么总的搜索空间大小为:

∣ Θ ∣ = ∏ i = 1 d n i |\Theta| = \prod_{i=1}^{d} n_i ∣Θ∣=i=1dni

这个公式揭示了网格搜索的指数复杂度:当参数数量 d d d 增加时,搜索空间呈指数级增长

 

2. 优化问题的数学性质

目标函数 f ( θ ) f(\theta) f(θ) 通常具有以下数学性质:

  1. 有界性 f ( θ ) ∈ [ a , b ] f(\theta) \in [a, b] f(θ)[a,b],其中 a a a b b b 是有限实数
  2. 连续性:在大多数实际应用中, f ( θ ) f(\theta) f(θ) 是连续的
  3. 局部最优性:可能存在多个局部最优解

 

3. 收敛性分析

网格搜索的收敛性基于以下数学原理:

定理:如果 f ( θ ) f(\theta) f(θ) 在紧集 Θ \Theta Θ 上连续,且网格密度足够细,那么网格搜索能够收敛到全局最优解

证明思路

  • 由于 Θ \Theta Θ 是紧集, f ( θ ) f(\theta) f(θ) Θ \Theta Θ 上达到最大值
  • 当网格密度增加时,网格点能够任意接近 Θ \Theta Θ 中的任意点
  • 由于 f ( θ ) f(\theta) f(θ) 的连续性,网格点的函数值能够任意接近全局最优值

 

4. 误差分析

网格搜索的误差可以量化分析。设 θ ∗ \theta^* θ 是全局最优解, θ ^ \hat{\theta} θ^ 是网格搜索找到的最优解,则:

∣ f ( θ ∗ ) − f ( θ ^ ) ∣ ≤ L ⋅ max ⁡ i Δ i |f(\theta^*) - f(\hat{\theta})| \leq L \cdot \max_{i} \Delta_i f(θ)f(θ^)LimaxΔi

其中 L L L f ( θ ) f(\theta) f(θ) 的Lipschitz常数, Δ i \Delta_i Δi 是第 i i i 个参数网格的间距。

 

2、为什么网格搜索有效?

网格搜索的有效性可以从多个角度理解:

1. 全局最优性保证

从优化角度看,网格搜索通过穷举所有可能的参数组合,确保了不会遗漏全局最优解。这种确定性搜索方法在参数空间较小时特别有效,能够找到理论上的最优参数组合。

数学上,这可以表述为:

∀ θ ∈ Θ : f ( θ ^ ) ≥ f ( θ ) \forall \theta \in \Theta: f(\hat{\theta}) \geq f(\theta) θΘ:f(θ^)f(θ)

其中 θ ^ \hat{\theta} θ^ 是网格搜索找到的最优解。

 

2. 可重现性与稳定性

从实践角度看,网格搜索的结果具有可重现性,每次运行都会得到相同的结果。这种确定性使得网格搜索特别适合需要稳定结果的场景,如生产环境中的模型部署。

数学上,这可以表述为:

P ( θ ^ r u n 1 = θ ^ r u n 2 ) = 1 P(\hat{\theta}_{run1} = \hat{\theta}_{run2}) = 1 P(θ^run1=θ^run2)=1

其中 θ ^ r u n 1 \hat{\theta}_{run1} θ^run1 θ ^ r u n 2 \hat{\theta}_{run2} θ^run2 是两次独立运行的结果。

 

3. 参数敏感性分析

网格搜索能够提供参数敏感性的完整信息。通过观察不同参数组合的性能表现,我们能够理解哪些参数对模型性能影响最大,哪些参数相对不重要。

数学上,参数敏感性可以定义为:

S i = ∂ f ∂ θ i ≈ f ( θ + Δ e i ) − f ( θ ) Δ S_i = \frac{\partial f}{\partial \theta_i} \approx \frac{f(\theta + \Delta e_i) - f(\theta)}{\Delta} Si=θifΔf(θ+Δei)f(θ)

其中 e i e_i ei 是第 i i i 个坐标的单位向量, Δ \Delta Δ 是小的扰动。

 

3、适用场景与局限性

网格搜索特别适用于参数数量较少(通常少于5个)且每个参数的候选值不多的场景。在这种情况下,网格搜索能够在合理的时间内找到全局最优解。

然而,当参数数量增加时,搜索空间呈指数级增长,计算成本急剧上升。例如,如果有5个参数,每个参数有10个候选值,那么总共需要评估 1 0 5 = 100 , 000 10^5 = 100,000 105=100,000 种组合,这在计算资源有限的情况下是不可行的。

 

二、随机搜索:高效的概率性优化

随机搜索的核心思想是:通过随机采样参数空间,在有限时间内找到近似最优解。这种方法放弃了穷举搜索的确定性,转而采用概率性搜索,在计算效率和搜索效果之间找到平衡。

随机搜索特别适用于参数数量较多或计算资源有限的情况。在高维参数空间中,随机搜索能够在相对较短的时间内找到性能良好的参数组合,而网格搜索可能因为计算成本过高而不可行。

1、数学原理解析(ing)

1. 核心数学公式

随机搜索可以形式化为以下随机优化问题:

θ ∗ ≈ arg ⁡ max ⁡ θ ∼ P ( Θ ) f ( θ ) \theta^* \approx \arg\max_{\theta \sim P(\Theta)} f(\theta) θargθP(Θ)maxf(θ)

其中:

  • θ \theta θ 是随机采样的参数向量
  • P ( Θ ) P(\Theta) P(Θ) 是参数空间的概率分布
  • f ( θ ) f(\theta) f(θ) 是模型性能评估函数

 

1. 符号含义解析

让我们逐个解析这个公式中的每个符号:

θ ∼ P ( Θ ) \theta \sim P(\Theta) θP(Θ)

  • ∼ \sim
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

roman_日积跬步-终至千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值