学习算法的运行时间与复杂度分析
在机器学习领域,学习算法的运行时间和效率是至关重要的考量因素。本文将深入探讨学习算法的运行时间、实现经验风险最小化(ERM)规则的计算复杂度,以及学习问题的难易程度。
1. 学习算法的运行时间
学习算法的输出通常被要求是“可能近似正确”的。对于一系列学习问题 ((Z_n, H_n, \ell_n)_{n = 1}^{\infty}),其中每个问题由定义域 (Z_n)、假设类 (H_n) 和损失函数 (\ell_n) 定义。设 (A) 是为解决这类学习问题而设计的算法。若存在函数 (g : \mathbb{N} \times (0, 1)^2 \to \mathbb{N}),且对于所有的 (n),算法 (A) 能在 (O(f_n)) 时间内解决问题 ((Z_n, H_n, \ell_n)),其中 (f_n(\epsilon, \delta) = g(n, \epsilon, \delta)),则称算法 (A) 相对于该序列的运行时间为 (O(g))。若算法 (A) 的运行时间为 (O(p(n, 1/\epsilon, 1/\delta))),其中 (p) 是多项式函数,则称 (A) 是相对于序列 ((Z_n, H_n, \ell_n)) 的高效算法。
以学习有限假设类为例,ERM 规则在样本数量达到 (m_H(\epsilon, \delta) = \log(|H|/\delta)/\epsilon^2) 时,能保证以 ((\epsilon, \delta)) 精度学习假设类 (H)。假设对单个样本评估假设的时间为常数,通过对大小为 (m_H(\epsilon, \delta)) 的训练集在 (H) 上进行穷举搜索,可在 (O(|H|m_H(\eps
超级会员免费看
订阅专栏 解锁全文
1322

被折叠的 条评论
为什么被折叠?



