引言
通过本篇阅读,从理论上去理解为什么:
- 要选择复杂度低的模型
- 过拟合的时候,增加样本量有用
- 以及如何根据样本量选择特征个数
- PAC机器学习框架, VC 维是机器学习最重要的基础理论之一
在机器学习领域,模型泛化能力是衡量算法性能的核心指标。一个关键问题是:如何确保在有限训练数据上训练的模型能够有效预测未知数据?这正是Vapnik-Chervonenkis(VC)维度理论要解决的核心问题。
我们核心是了解下面公式
公式原理参考:https://www.youtube.com/watch?v=EmSVek5QMnE)
VC理论的核心贡献是建立了泛化误差上界,当固定模型的复杂度,增加样本量可以降低过拟合风险
如果是线性分类器,其VC维如下:
目录:
- vc维定义
- Shattering
- 机器学习VC维
- 使用VC维度理论选择模型
一 VC维定义(Vapnik-Chervonenkis Dimension)
VC维度(Vapnik-Chervonenkis Dimension)由统计学习理论先驱Vladimir Vapnik和Alexey Chervonenkis于1971年提出,是量化模型复杂度的数学工具。
定义为能被H(Hypothesis Class: 假设空间,指模型可以学习的所有可能函数的集合)完全打散(shatter)的最大样本点数n。完全打散意味着对于这n个点的任意标签组合,H中均存在一个假设能正确分类。
核心概念
-
打散(Shattering):如果对于任意标签分配方式,假设类H都能完美分离样本点,则称H打散了该点集
-
VC维度:假设类H能够打散的最大点集的大小
-
关键性质:
-
线性分类器的VC维度 = 特征维度 + 1
-
有限VC维度 ⇒ 可学习性
-
VC维度越大,模型拟合能力越强,但泛化风险越高
-
二 Shattering
打散(Shattering):如果对于任意标签分配方式,假设类H都能完美分离样本点,则称H打散了该点集。
我们期望的规律: G(x)
代表真实的规律
如果输入的是x,那么 P(y=G(x))=1 ,我们不知道这个G(x)
所以我们在各种假设空间里面,找到假设的函数,来对真实规律的猜测
模型 假设空间类型 表达能力 过拟合风险 适用场景 线性回归 线性函数集合 低 低 线性关系数据(如简单回归) 逻辑回归 线性分类器集合 中 中 二分类问题(如垃圾邮件检测) 决策树 离散树结构集合 高 高 多特征交互数据(如用户画像) SVM(线性核) 线性决策边界集合 中 中 线性可分数据(如文本分类) SVM(RBF 核) 高维线性决策边界集合 高 高 复杂非线性数据(如图像分类) 神经网络 无限维非线性函数集合 极高 极高 复杂模式识别(如语音、图像)
1: N=2 两个点的情况(则共有种组合)
我们可以看到这些组合都可以被线性分类器Shattering
A line can shatter 2 points on
2 N=3 (则共有种组合)
但是这种情况可以被线性分类器shatter,但是同样N=3 下面这种情况,如果共线就不能被shatter,所以shatter 并不是shatter 所有组合,只要shatter 其中一个组合就可以
3 N=4 (则共有种组合)
这个时候我们发现我们找不到一个线性分类器(特征个数为2) 能够shatter 上面的集合,
所以其VC 维=d(特征个数+1=3
所以上面能够shatter 最大的点的个数是N=3
N= d+1(其中d 是特征个数,为2维度)
三 机器学习VC维
在机器学习领域,模型的复杂度与性能之间存在着微妙的平衡,即欠拟合与过拟合的权衡。欠拟合指的是模型过于简单,无法捕捉数据中的复杂模式,导致在训练和测试数据上表现均不佳。而过拟合则是模型过于复杂,过度拟合了训练数据中的噪声,虽然在训练数据上表现优异,但在测试数据上表现糟糕。
模型的表示能力,即其学习或表示数据复杂模式的能力,是影响模型性能的关键因素。表示能力越强的模型,越能够捕捉数据中的复杂关系,但同时也可能更容易过拟合。因此,在选择模型时,需要根据具体问题的复杂度来权衡模型的表示能力。
为了量化模型的表示能力,机器学习领域引入了VC维(Vapnik-Chervonenkis维度)这一概念。VC维提供了模型能够分类的最大点集数量的一个指标,VC维越高,模型的表示能力通常也越强。然而,高VC维也意味着模型更容易过拟合,因此在实际应用中,需要结合具体问题和数据特征来选择合适的模型复杂度。
总之,在机器学习中,理解欠拟合与过拟合的权衡、模型的表示能力以及VC维等概念,对于选择和优化模型具有重要的指导意义。
3.1 机器学习中的风险与经验风险
在机器学习中,我们通常假设训练数据是从某个分布 p(x) 中独立同分布采样得到的。为了评估模型的性能,我们引入了两个重要概念:风险和经验风险。
风险(R(θ))代表了模型的“长期”测试误差,即模型在未见过的数据上的预期表现。其数学表达式为:
其中,δ 是指示函数,当条件满足时取值为1,否则为0;c 是真实标签,c^(x;θ) 是模型预测的标签。
经验风险(Remp(θ))则是我们在训练数据上观察到的误差,也称为训练误差。其数学表达式为:
其中,m 是训练样本的数量,c(i) 和 x(i) 分别是第 i 个样本的真实标签和特征。
风险与经验风险之间的关系反映了模型的过拟合程度:
- 在欠拟合领域,风险与经验风险非常相似,意味着模型在训练和测试数据上的表现相近,但都可能不够理想。
- 在过拟合领域,经验风险可能很低(模型在训练数据上表现很好),但风险却可能很高(模型在测试数据上表现糟糕)。
3.2 跟VC dimension 的关系
3.3 shattering
假设我们特征的个数是2 ,我们可以看到其可以正确分类所有2个点的集合
常见机器学习模型的VC维度:
--------------------------------------------------
▪ 线性分类器 (d维空间) → d+1
▪ 决策树 (k个叶子节点) → k
▪ 神经网络 (含L层,W个参数) → O(WL)
▪ 支持向量机 (RBF核) → ∞ (理论上)
▪ k近邻算法 (k=1) → ∞
▪ 简单阈值函数 → 1
四 使用VC维度理论选择模型
在机器学习中,避免过拟合和选择合适复杂度的模型至关重要。除了常用的交叉验证(Cross-Validation)外,VC 维度(Vapnik-Chervonenkis Dimension) 提供了一种基于理论的方法来指导模型选择。
核心思想:结构风险最小化 (SRM)
-
衡量模型复杂度: VC 维度 (
h
) 量化了一个模型类(例如,所有可能的线性分类器、所有特定深度的决策树)的“拟合能力”或复杂度。VC 维度越高的模型类,拟合复杂模式的能力越强,但也更容易过拟合。 -
泛化误差边界: 统计学习理论提供了基于 VC 维度的泛化误差边界。这个边界通常具有以下形式:
测试误差 ≤ 训练误差 + 惩罚项(VC维度 h, 样本量 N, 置信度 δ)
这个惩罚项随着模型 VC 维度 (h
) 的增加而增大,随着训练样本量 (N
) 的增加而减小。 -
模型选择流程 (SRM):
-
定义一组具有不同 VC 维度的候选模型结构(例如,不同次数的多项式、不同层数的神经网络、不同最大深度的树)。
-
对于每个候选结构:
-
在训练数据上找到该结构下表现最好的模型(最小化训练误差)。
-
计算该模型的训练误差。
-
计算基于该结构 VC 维度 (
h
) 和样本量 (N
) 的惩罚项。 -
计算泛化误差上界 = 训练误差 + 惩罚项。
-
-
选择那个给出最小泛化误差上界的模型结构。
-
[VC Dimension]https://www.youtube.com/watch?v=puDzy2XmR5c&t=833s
[Model Complexity and VC Dimension]https://www.youtube.com/watch?v=8yWG7fhCpTw
[Understanding VC Dimension(Vapnik Chervonenkis Dimension) - Simplified Explanation for ]
[]https://www.youtube.com/watch?v=7O7RL5jHHNM
Machine Learning 15: VC-Dimension
[]https://www.youtube.com/watch?v=7O7RL5jHHNM
https://www.youtube.com/watch?v=XxPB9GlJEUk
https://www.youtube.com/watch?v=EmSVek5QMnE
-
Vapnik, V. N., & Chervonenkis, A. Y. (1971). On the Uniform Convergence of Relative Frequencies of Events to Their Probabilities.
-
Shalev-Shwartz, S., & Ben-David, S. (2014). Understanding Machine Learning: From Theory to Algorithms.
-
Mohri, M., Rostamizadeh, A., & Talwalkar, A. (2018). Foundations of Machine Learning (2nd ed.).