7、学习算法的运行时间分析与计算复杂度

学习算法的计算复杂度分析

学习算法的运行时间分析与计算复杂度

在机器学习中,我们不仅要关注学习所需的样本数量(样本复杂度),还需重视计算资源在确定学习任务复杂度中的重要作用,也就是执行学习任务所涉及的计算量,即计算复杂度。

计算复杂度基础

算法的实际运行时间(以秒为单位)依赖于具体的实现机器。为了避免这种依赖,通常采用渐近分析的方法。例如,归并排序算法对包含 $n$ 个元素的列表进行排序的计算复杂度是 $O(n \log(n))$。这意味着在满足某种抽象计算模型要求的任何机器上实现该算法,实际运行时间(秒)会满足:存在与实际机器有关的常数 $c$ 和 $n_0$,对于任何 $n > n_0$,对 $n$ 个元素进行排序的运行时间最多为 $c n \log(n)$。对于运行时间为 $O(p(n))$($p$ 为多项式函数)的算法可处理的任务,通常被认为是可行的或可有效计算的。

在机器学习任务中,“输入大小”的概念并不清晰。不能简单地将训练集大小定义为输入大小,因为当训练集规模远大于学习问题的样本复杂度时,算法可忽略多余的样本,所以更大的训练集并不一定使学习问题更难,学习算法的运行时间不应随训练集大小的增加而增加。我们可以将运行时间分析为问题自然参数的函数,如目标精度、达到该精度的置信度、域集的维度或假设类复杂度的某些度量。

学习算法的计算复杂度定义

学习算法可访问示例域 $Z$、假设类 $H$、损失函数 $\ell$ 以及根据未知分布 $D$ 独立同分布采样得到的训练集。给定参数 $\epsilon$ 和 $\delta$,算法应输出一个假设 $h$,使得 $L_D(h) \leq \min_{h’ \in H} L_D(h’) + \epsilon$ 的概

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值