回头看PAC 学习理论——样本数+模型复杂度(参数个数) 在多项式时间内完成训练 感觉小样本学习是伪需求???
PAC 学习理论
当使用机器学习方法来解决某个特定问题时,通常靠经验或者多次试验来
选择合适的模型、训练样本数量以及学习算法收敛的速度等.但是经验判断或
多次试验往往成本比较高,也不太可靠,因此希望有一套理论能够分析问题难
度、计算模型能力,为学习算法提供理论保证,并指导机器学习模型和学习算法
的设计.这就是计算学习理论.计算学习理论(Computational Learning Theory)
是机器学习的理论基础,其中最基础的理论就是可能近似正确(Probably
Approximately Correct,PAC)学习理论.
机器学习中一个很关键的问题是期望错误和经验错误之间的差异,称为泛
化错误(Generalization Error).
泛化错误在有些文献
中也指期望错误,指在
未知样本上的错误.
泛化错误可以衡量一个机器学习模型𝑓 是否可
以很好地泛化到未知数据.
𝒢𝒟 (𝑓) = ℛ(𝑓) − ℛ𝑒𝑚𝑝
𝒟 (𝑓). (2.85)
根据大数定律,当训练集大小|𝒟| 趋向于无穷大时,泛化错误趋向于0,即经
验风险趋近于期望风险.
lim
|𝒟|→∞
ℛ(𝑓) − ℛ𝑒𝑚𝑝
𝒟 (𝑓) = 0. (2.86)
由于我们不知道真实的数据分布𝑝(𝒙, 𝑦),也不知道真实的目标函数𝑔(𝒙),
因此期望从有限的训练样本上学习到一个期望错误为0 的函数𝑓(𝒙) 是不切实际
的.因此,需要降低对学习算法能力的期望,只要求学习算法可以以一定的概率
学习到一个近似正确的假设,即PAC 学习(PAC Learning).一个PAC 可学习
(PAC-Learnable)的算法是指该学习算法能够在多项式时间内从合理数量的训
练数据中学习到一个近似正确的𝑓(𝒙).
PAC 学习可以分为两部分:
(1) 近似正确(Approximately Correct):一个假设𝑓 ∈ ℱ 是“近似正确”
的,是指其在泛化错误𝒢𝒟 (𝑓) 小于一个界限𝜖.𝜖 一般为0 到1
2
之间的数,0 < 𝜖 <
1
2
.如果𝒢𝒟 (𝑓) 比较大,说明模型不能用来做正确的“预测”.
(2) 可能(Probably):一个学习算法𝒜 有“可能”以1 − 𝛿 的概率学习到这
样一个“近似正确”的假设.𝛿 一般为0 到1
2
之间的数,0 < 𝛿 < 1
2
.
PAC 学习可以下面公式描述:
𝑃((ℛ(𝑓) − ℛ𝑒𝑚𝑝
𝒟 (𝑓)) ≤ 𝜖) ≥ 1 − 𝛿, (2.87)
其中𝜖,𝛿 是和样本数量𝑁 以及假设空间ℱ 相关的变量.如果固定𝜖,𝛿,可以反过来
计算出需要的样本数量
𝑁(𝜖, 𝛿) ≥
1
2𝜖2 (log |ℱ| + log 2
𝛿
), (2.88)
参见[Blum et al., 2016]
中定理5.3.
其中|ℱ| 为假设空间的大小.从上面公式可以看出,模型越复杂,即假设空间ℱ 越
大,模型的泛化能力越差.要达到相同的泛化能力,越复杂的模型需要的样本数
量越多.为了提高模型的泛化能力,通常需要正则化(Regularization)来限制模
型复杂度.
正则化参见第7.7节.
PAC 学习理论也可以帮助分析一个机器学习方法在什么条件下可以学习到
一个近似正确的分类器.从公式(2.88) 可以看出,如果希望模型的假设空间越大,
泛化错误越小,其需要的样本数量越多.