今天,我们的教授在课堂上说:“不可能过度拟合线性分类器”。我认为这是错误的,因为即使线性分类器也可能对训练集中的离群值敏感-以硬边距支持向量机为例:一个嘈杂的数据点可以更改将使用哪个超平面来分离数据集。还是我错了?显然,由于模型复杂度较低,线性可能会防止过度拟合,但我仍然不明白为什么过度拟合是不可能的。还有一点是,当我试图考虑这个问题时,我意识到“过拟合”似乎没有被正式定义。这是为什么?训练和测试集性能之间的某种距离度量是否可以使这种形式化?谢谢
今天,我们的教授在课堂上说:“不可能过度拟合线性分类器”。我认为这是错误的,因为即使线性分类器也可能对训练集中的离群值敏感-以硬边距支持向量机为例:一个嘈杂的数据点可以更改将使用哪个超平面来分离数据集。还是我错了?显然,由于模型复杂度较低,线性可能会防止过度拟合,但我仍然不明白为什么过度拟合是不可能的。还有一点是,当我试图考虑这个问题时,我意识到“过拟合”似乎没有被正式定义。这是为什么?训练和测试集性能之间的某种距离度量是否可以使这种形式化?谢谢
Answers:
如果不加注意的话,线性回归/分类器绝对是过拟合的。
这是一个小例子。让我们创建两个向量,第一个是简单的随机硬币翻转:
set.seed(154)
N <- 5000
y <- rbinom(N, 1, .5)
第二个向量是观测值,每个观测值随机分配给500个随机类别之一:
N.classes <- 500
rand.class <- factor(sample(1:N.classes, N, replace=TRUE))
我们的翻转y
和随机类之间应该没有任何关系rand.class
,它们是完全独立确定的。
但是,如果我们尝试使用逻辑回归(线性分类器)来预测随机类别的随机翻转,那么它肯定会认为存在某种关系
M <- glm(y ~ rand.class, family="binomial")
hist(coef(M), breaks=50)
这些系数中每一个的真实值为零。但是,正如您所看到的,我们的传播非常广泛。这个线性分类器肯定是过拟合的。
y == 1
y == 0
“过度拟合”似乎没有被正式定义。这是为什么?
在具有某些复杂性参数的一类模型的上下文中,可以最好地理解过度拟合。在这种情况下,当稍微降低复杂度会导致更好的预期样本外性能时,可以说模型是过拟合的。
以模型独立的方式精确定义概念非常困难。单个模型是合适的,您需要进行一些比较以使其适合或不合适。在我上面的示例中,这种比较是与真相进行的,但是您通常不知道真相,因此是模型!
训练和测试集性能之间的某种距离度量是否可以使这种形式化?
有一个这样的概念,叫做乐观主义。它的定义是:
它不完全得到的,虽然过学习的本质,因为在测试组的性能可能比火车更差了不少,即使更高的复杂模型递减两种。
在上世纪70年代,对大型数据集进行模式识别算法的实验表明,在某些情况下添加额外的功能确实会增加测试集的错误率。这是相反的直觉,因为人们希望添加额外的功能始终会提高分类器的性能,或者如果添加的功能是“白噪声”,则添加它根本不会影响分类器的性能。向分类器添加更多额外功能,最终导致测试集性能下降的效果被称为峰值现象 [1]。
特征峰值是由学习过程中的过度概括引起的。额外的功能会导致包含太多额外的参数,从而使分类器开始过度拟合数据。因此,通过了峰值点。
通常,在训练分类器时,我们会面临偏差方差的折衷。我们使用的特征变量越多,我们的分类器可能会更好地建模(未知)基础分类器机制。因此,拟合模型和“真相”之间的系统偏差将减小,即偏差较小。另一方面,增加分类器的特征空间必然意味着要添加参数(适合所添加特征的参数)。因此,拟合的分类器的方差也增加。
因此,超越峰值的分类器只是高维分类问题的一种随机实现,而新的拟合将导致参数向量高度不同。这一事实反映出方差增加。
[1。GV Trunk,“维度问题:一个简单示例”,在IEEE Transactions on Pattern Analysis and Machine Intelligence,vol。1中。PAMI-1,不。3,第306-307页,1979年7月]