本节主要讲述机器学习理论,它与机器学习的经典算法不同,是阐述机器学习算法为什么正确的这一类理论知识。在Ng看来,机器学习理论是一个人懂机器学习的核心或者只懂皮毛的关键所在之一。它包括的内容有偏差/方差、经验风险最小化(Empirical risk minimization,简称ERM)、联合界和一致收敛等。
Ng笔记中,针对学习理论提出了一些思考。他认为学习理论是有趣有启发性的。在不同的设置中,怎么样最好的使用学习算法(模型选择问题)。在这里,一考虑偏差与方差之间的均衡,使误差小,学习算法效率好。二则,学习算法其实真正关心的是泛化误差,但是往往我们只能得到经验误差(下一段介绍),二者之间什么关系,经验误差来估计泛化误差的理论基础是什么。第三,是否在一定条件下,学习型算法都工作的比较好(都收敛)(就是各种学习型算法得到的结果差额都不大)。那么这些的理论基础是什么?(这一部分涉及到了很多PAC理论的部分,可以自行参考)
这三条是本博文介绍围绕的核心。为什么根据训练数据就能推测其他数据,理论基础是什么;多大的样本数量可以导致预测结果好,这与模型有什么关系?
先说下偏差与方差,它们主要是针对过拟合和欠拟合提出的一种思路。
偏差:描述估计值的期望与真实值之间的差距。
方差:描述估计值的变化范围和离散程度。
在机器学习中,如果模型过于简单,则可能带来更多偏差——估计的不确定性(同时有更小的方差);模型复杂则可能带来更多方差——更大变化空间和不确定性(更小偏差)。这就好比模型做出假设与实际情况不符合时(欠拟合),会造成偏差。而从理性角度而言,同样的问题使用相同来源数据建立模型时,所建立的模型应当是相同的;就是方程近似相同。但是如果算法非常敏感(过拟合),模型有可能仅仅符合当前训练数据集的随机模式。这就会使测试集中数据引起波动,变化范围和离散程度大。
优化过程中,我们需要使模型在欠拟合和过拟合之间找到一个平衡位置。我们可以称偏差与方差共同作用,造成了误差。
机器学习的任务(至少在我当前水平在监督学习中)是根据一些训练样本来得出函数。我们将这些函数代入测试集中,用测试集中输入进行测试,测试集中的实际y值与函数输出值的期望风险(可以理解成误差)最小。这时,我们认为分类或回归等效果非常好。就是说我们希望泛化误差(就是模型在真实情况下的误差,一般用测试集来测试得到)最小。
实际情况是构造函数时我们用到的数据仅仅是训练数据集。因此构造函数时,我们无法利用测试集等数据的期望风险来得到函数,但是能确定利用已知的先验数据——训练集。这个时候,我们希望训练集样本的损失函数尽量小一点。根据这个思路来求得的参数的算法,就是ERM算法。(因为训练集也是所有取值空间一部分,我们希望它们分布由一致性。以极大似然角度考虑,它与泛化误差有关系)
经验风险最小化并不能使结果最优化,它还受方差和噪声误差影响。
以二分类问题为例(只是以二元为例,但是回归问题和多分类问题讲道理也是符合这个结论的),介绍下等下要用得数学符合。
经验风险为:
ϵ^(h)=1m1{h(x(i))≠y(i)}>...........(1)泛化误差为:ϵ(h)=P(x,y)∼D(h(x)≠>y)
经验风险(由测试集得出,有先验之意,故称经验),经验风险最小化就是使式(1)最小化。
下面以线性分类为例假设 hθ(x)=1{θTx≥0} ,怎么找到最合适的 θ 呢。按照前几段的介绍,可以使经验风险最小,就是
ERM算法是最为基础的机器学习算法,类似逻辑斯特回归等都与之非常接近。ERM是非凸的,一般不好优化,属于NP问题(非确定性问题)。
在机器学习中,如果已经决定好了模型使用类型(比如说线性模型或者神经网络之类的),那么选择具体的参数是非常重要的。
经验最小化也可以认为,在假设选择空间H(H构成了所有可能假设的集合):
经验风险最小不代表泛化误差最小,因此使用ERM算法不一定能得到使泛化误差最小的参数。那么下面,我们来考虑下经验风险、泛化误差和训练集大小之间的关系。
在函数空间集合H是有限的情况下,要证明使用经验误差最小化估计参数是有道理的。
定义假设类 H={h1,…,hk} ,它包含k个假设函数。这些函数将输入域中值映射到集合{0,1}上。下面,我们将证明 h^ 在泛化误差上也有好的结果。这个证明分两步:
(1) 对于所有的 hi ,经验误差都可以非常接近的去衡量一个泛化误差。
(2) 得到同一假设下,经验误差与泛化误差差值的下界。
下面对上述证明过程进行推导。首先对于任意分类或回归问题,我们都可以将结果看做一个伯努利分布(要不分类正确,要不分类错误,二者概率相加为 1)。对任意 (x,y)∼D,令Z=1{hi(x)≠y},Zj=1{hi(x(j))≠y(i)}. 样本应该是独立同分布的,Z和 Zj 显然有相同的分布。
则此时,第j个假设 hi 经验误差可以写成:
根据不等式2,我们可以发现给定样本值m,阈值 γ 和误差概率 δ )之中任意两个,可以得到另一个界限。
ps:这里说的误差概率就是说有 1−δ的概率使泛化误差与经验误差的概率在阙值γ内,就是δ=P(∀h∈H.|ϵ(h)−ϵ^(h)|≤γ)
那么三个值在式2中变化可以有以下不等式(k是假设数):
再来定义两个符号:
有不等式:
而由这个不等式,我们可以得出结论,我们的经验误差最小的预测最多比实际最好泛化误差的预测的误差大2 γ .可以说是经验泛化误差最小化的理论基础。
该不等式换种形式,还可以表现方差与偏差之间的均衡。
上述不等式是用到了不等式4的推论,这时需要满足给定样本值m,阈值γ 和误差概率δ之间关系。即,当 m≥12γ2log2kδ=O(1γ2logkδ) 时,才有1-δ的概率使,经验最小误差至多比实际最好泛化误差差 2γ .
假设有k个不同事件(它们不一定相互独立),以A来记每个事件,则有
Hoeffding不等式刻画的是某个事件的真实概率及其m个独立重复试验中观察到的频率之间的差异,随着样本增加差异会减小。
P(|ϕ−ϕ^|>γ)≤2exp(−2γ2m)
可能近似正确学习理论(probably approximately correct,PAC