经验误差,泛化误差

本文探讨了机器学习中模型的泛化能力,定义并解释了泛化误差和经验误差的概念,及其在评估模型表现中的作用。
经验误差,泛化误差

前言

我们在上篇博文 《机器学习模型的容量,过拟合与欠拟合》 中曾经提到过模型的泛化问题,指的就是描述一个模型在未见过的数据中的表现能力。这里再提出了,用于比较经验误差。
联系方式:
e-mail: FesianXu@163.com
QQ: 973926198
github: https://github.com/FesianXu


假设我们现在有数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x i , y i ) } , i = N D=\{(x_1,y_1), (x_2,y_2),\cdots,(x_i,y_i)\}, i=N D={(x1,y1),(x2,y2),,(xi,yi)},i=N,其中 N N N是数据集的大小, x i x_i xi为数据的属性1 y i y_i yi为标签。假设有 y i ∈ Y y_i \in \mathcal{Y} yiY x i ∈ X , i = 1 , 2 , ⋯   , N x_i \in \mathcal{X}, \rm i =1,2,\cdots,N xiX,i=1,2,,N,假设 X \mathcal{X} X中的所有样本都满足一个隐含的,未知的分布 D \mathcal{D} D,也就是说 D D D中的所有样本都是从 D \mathcal{D} D独立同分布(i.i.d) 地采样的。
然后假设 h h h是算法 L \mathcal{L} L学习到的从 X \mathcal{X} X Y \mathcal{Y} Y的映射, y = h ( x ) y=h(x) y=h(x),并且有 h ∈ H h \in\mathcal{H} hH,其中 H \mathcal{H} H为算法 L \mathcal{L} L的假设空间。我们可以定义映射 h h h泛化误差(generalization error):

E ( h ; D ) = P x ∼ D ( h ( x ) ≠ y ) (1.1) E(h; \mathcal{D}) = \rm P_{x \sim \mathcal{D}} \rm(h(x) \neq y) \tag{1.1} E(h;D)=PxD(h(x)=y)(1.1)
因为我们无法观察到整个分布 D \mathcal{D} D,只能观察到独立同分布采样后的 D D D,因此我们需要定义 经验误差(empirical error):
E ^ ( h ; D ) = 1 N ∑ i = 1 N 1 ( h ( x i ) ≠ y i ) , x i ∈ D (1.2) \hat E(h;\mathcal{D}) = \rm \frac{1}{N} \sum_{i=1}^N 1(h(x_i) \neq y_i),x_i \in D \tag{1.2} E^(h;D)=N1i=1N1(h(xi)=yi),xiD(1.2)
其中的 1 ( ⋅ ) 1(\cdot) 1()表示当条件符合时输出1,否则输出0。由于 D D D D \mathcal{D} D的独立同分布采样,因此 h h h的经验误差的期望等于泛化误差。


引用:

  1. 《机器学习模型的容量,过拟合与欠拟合》 优快云
  2. 《机器学习(四)经验风险与结构风险》 优快云
  3. 《机器学习》 周志华著

  1. 数据的属性指的是数据的最原始的特征,比如图片的原始像素点,而数据的特征大多指的是属性经过特定的操作的数据,如图片的像素点经过CNN卷积之后得到的特征。广义来说,数据的属性和特征没有区别。 ↩︎

泛化误差指的是模型在未见过的数据上的预测性能与真实结果之间的差距。它是衡量模型对未知数据适应能力的重要指标。在机器学习中,理想情况下的泛化误差应当尽可能小,这意味着模型能够很好地从训练数据中学习到普遍规律而非偶然特征。 在Python机器学习实践中,我们通过交叉验证(如GridSearchCV在引用中的应用)来估计泛化误差。这种方法通过将数据集划分为若干子集,在其中一组子集上进行训练,在其余子集上进行测试,以此类推,确保每个样本都有机会参与到训练和测试过程中。这种做法可以得到多个模型性能的平均分数,从而更准确地估算泛化误差。 关于引用提到的大数定律和Hoeffding不等式,它们用于证明经验误差(基于有限样本计算的误差)在理论上会接近泛化误差。随着训练数据量的增加,经验泛化误差之间通常趋于一致,但并非绝对相等。如果模型的泛化误差显著大于训练误差,可能表示存在欠拟合或过拟合问题: - **欠拟合**:模型过于简单,无法捕捉数据中的复杂关系,导致即使在训练集上表现不佳。 - **过拟合**:模型过于复杂,过度拟合了训练数据中的噪声和异常点,因此在新数据上的表现不佳。 要解决这些问题,可以通过调整模型复杂度、增加正则化、使用更多的特征选择技术等方式来优化模型的泛化能力。 ### 相关问题: 1. 如何利用交叉验证估计模型的泛化误差? 2. 欠拟合和过拟合的区别是什么? 3. 正则化是如何帮助减小泛化误差的?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

FesianXu

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

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

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

打赏作者

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

抵扣说明:

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

余额充值