后面几篇文章主要是学习如何对偏差和方差进行权衡、如何选择模型、如何选择特征的内容,通过这些可以在实际中对问题进行更好地选择与修改模型。
Part 6 学习理论:
吴恩达老师很强调对学习理论的理解,他说理解学习理论是对机器学习只懂皮毛的人和真正理解机器学习的人的区别。学习理论的重要性在于通过它能够针对实际问题更好的选择模型,修改模型。
学习理论主要包括偏差/方差(Bias/variance)、经验风险最小化(Empirical Risk Minization,ERM)、联合界(Union bound)、一致收敛(Uniform Convergence)。
6.1 偏差和方差的权衡Bias/variance tradeoff:
之前我们学了线性回归,可以用简单的线性模型或者复杂的多项式来对数据进行拟合,也提到过“过拟合和欠拟合”问题。这也就要提到模型的泛化能力(generalization ability)。
在此还要提到泛化误差(generalization error),泛化误差也是真实情况下模型的误差。也就是把真实数据而不是样本数据带入模型得到的误差,这个误差才能真正地反映模型的预测的准确性。
(1)欠拟合 (2)合适 (3)过拟合
(1、高偏差对应着欠拟合,此时训练集误差较大,可以理解为对任何新数据(不论其是否属于训练集),都有着较大的交叉验证集误差,此时的方差不大。
2、高方差对应着过拟合,此时训练集误差虽小,对于新数据来说,如果其属性与训练集类似,它的交叉验证集误差就会小些,如果属性与训练集不同,交叉验证集误差就会很大,因此有一个比较大的波动,因此说是高方差。此时的偏差就不会很大。)
所以对偏差和方差的权衡也是决定模型好坏的关键。
6.2 some useful lemmas:
Lemmas 1 : 联合界引理(The union bound)
令A1,A2,⋯,Ak是k个不同的事件,组合成k集,它们可能相互独立,也可能不相互独立,对此:
the union bound 经常被当做一个公理,我们不需要证明它。它要表达的意思是“事件和的概率小于等于事件概率之和”
Lemmas 2 : 霍夫丁不等式(Hoeffding inequality)
引理:令Z1,Z2⋯,Zm为m个独立同分布事件,它们都服从伯努利分布,则有:
6.3 经验风险最小化(empirical risk minimization (ERM))
为了简单起见,这里只讨论二分类为题,也就是标签
它表示:在训练样本中,用假设h(x)进行分类,分类失败数占总数的百分比。注意它在表示上有带帽符号。如果我们要强调是训练误差依赖训练集的,我们也可以写成。
之后我们定义泛化误差(generalization error):
这里得到的是一个概率,表示在实际分类中,通过特定的分布D生成的样本(x,y)中的y与通过预测函数h(x)生成的结果不同的概率,不仅仅局限于训练样本集,也就是我们提到的“泛化能力”。它在表示上无带帽符号。
注意,我们假设训练集的数据是通过某种分布D生成的,我们以此为依据来衡量假设函数。这里的假设有时称为PAC(probablyapproximately correct)假设。
我们称这样的方法为经验风险最小化(empirical risk mininmization,ERM),基于ERM原则的算法可视作最基本的学习算法,线性回归和logistic回归都可以看作是遵守ERM的算法。
第二种也就是在一组分类器的集合中,选择了使得训练误差最小的那个分类器
6.4 一致性收敛定理
我们定义假设类集合由k个假设类(hypotheses)构成。其中,为k个由x至{0,1}的映射函数构成,ERM从集合中k个元素选择使得训练误差最小。
为了确保和泛化误差的差值是有上界的,即如果训练误差很小,那么泛化误差也不会太大,我们需要完成两个步骤:首先,证明对于任意h,是对的可靠估计;其次,证明存在上界。
再次强调,在参数表示中,戴帽子的表示训练集(样本集),不戴帽子的表示训练集和测试集总体。
用来标记被假设函数错误分类的样本。
其实,训练误差即为m个变量Z的均值,那么根据Hoeffding不等式,对于任意常数γ,可得:
此式可以证明,对于一个特定的hi,经验误差都是对泛化误差的很好的估计。但是,我们期望对,这个式子都能够成立。下面我们来证明:
我们定义事件表示
那么对于某一个特定的事件,Hoeffding不等式可以写成:。
使用联合界定理可得:
用1同时减去两边的值,不等号方向改变,可得:
式子中的“”表示“not”。
从上式可以看出,对,至少有的概率,经验误差在泛化误差的γ范围内。这就叫一致收敛。同样的,因为不等式包含的是绝对值,所以也可说,对,至少有的概率,泛化误差在经验误差的γ范围内。
样本复杂度:sample complexity
以上的不等式有三个元素:(训练样本数)、(自己定的常数值,表示与的距离)、(错误率:=)。
通过任意两个元素,可以确定第三个元素。我们可以尝试固定其中两个,改变其中一个来看看不同的表述方式。
上面就是在固定和的情况下,求的表达式。那么,我们就可以问:假如我固定和,样本的表达式是怎样的?
其实际意义是:至少需要多少训练样本,在选取一个固定常数前提下,我可以有1-的概率可使得?
我们可以令可以解出m:
k表示映射函数的个数,(训练样本数)、(自己定的常数值,表示与的距离)、(错误率:=)。
上面的不等式确定了一个m的下界,该下界称为算法的样本复杂度(algorithm’s sample complex),也就是说,如果我们想通过样本对总体有个较为准确的估计,我们需要采集最小的样本量是多少。
误差界限:
这被称为误差界限。
有一个很形象的图:
参考链接:
①:https://blog.csdn.net/app_12062011/article/details/50577717
②:https://blog.csdn.net/x3886321/article/details/19361687
③:https://blog.csdn.net/sinat_37965706/article/details/70991288