【机器学习习题】估计一个模型在未见过的数据上的性能

您提到的不等式是统计学中的泛化误差界(generalization error bound),它用于估计一个模型在未见过的数据上的性能。这个不等式是由Hoeffding不等式和Union Bound组合而成的。在这个不等式中,我们有以下符号:

  • P[|E_in(g) - E_out(g)| > ε] :这是泛化误差超过ε的概率

  • ε :可容忍的差值。

  • M :假设模型类别的大小(例如,假设我们正在训练的模型有多少个可能的候选)。

  • N :数据集的大小。

  • δ :可容忍的BAD概率(也称为置信度)。

  • c:一个常数,通常设置为1。

您的目标是找到一个数据集的大小N,以便满足给定的ε和δ,并保证泛化误差不会超过ε。

根据不等式,我们可以设置:

P[|E_in(g) - E_out(g)| > ε] ≤ 2*M*exp(-2*ε^2*N)

然后,我们可以将这个概率与可容忍的BAD概率δ相等,以找到数据集的大小N:

2*M*exp(-2*ε^2*N) = δ

现在,您提供了ε=0.1,δ=0.05,M=100。我们可以将这些值代入上述方程,并解出N:

2*100*exp(-2*0.1^2*N) = 0.05

现在,我们来解这个方程以找到N:

exp(-2*0.1^2*N) = 0.05 / (2*100)

exp(-2*0.01*N) = 0.00025

使用自然对数的性质,我们可以继续解这个方程:

-2*0.01*N = ln(0.00025)

N = ln(0.00025) / (-2*0.01)

N ≈ 6907.76

因此,需要大约6908个数据点来满足给定的ε=0.1和δ=0.05,以确保泛化误差不会超过0.1。

请注意,这个结果是一个估计值,实际情况可能会受到数据分布和模型选择等因素的影响。此外,对于不同的问题和模型,可能需要不同的训练数据量来满足给定的泛化误差和置信度要求。

相关推荐
passer__jw7671 小时前
【LeetCode】【算法】3. 无重复字符的最长子串
算法·leetcode
passer__jw7671 小时前
【LeetCode】【算法】21. 合并两个有序链表
算法·leetcode·链表
sweetheart7-72 小时前
LeetCode22. 括号生成(2024冬季每日一题 2)
算法·深度优先·力扣·dfs·左右括号匹配
小于小于大橙子3 小时前
视觉SLAM数学基础
人工智能·数码相机·自动化·自动驾驶·几何学
封步宇AIGC4 小时前
量化交易系统开发-实时行情自动化交易-3.4.2.Okex行情交易数据
人工智能·python·机器学习·数据挖掘
封步宇AIGC4 小时前
量化交易系统开发-实时行情自动化交易-2.技术栈
人工智能·python·机器学习·数据挖掘
景鹤4 小时前
【算法】递归+回溯+剪枝:78.子集
算法·机器学习·剪枝
陌上阳光5 小时前
动手学深度学习68 Transformer
人工智能·深度学习·transformer
OpenI启智社区5 小时前
共筑开源技术新篇章 | 2024 CCF中国开源大会盛大开幕
人工智能·开源·ccf中国开源大会·大湾区
_OLi_5 小时前
力扣 LeetCode 704. 二分查找(Day1:数组)
算法·leetcode·职场和发展