1700496228
1700496229
在某些情况下,模型和现实世界之间的区别就是生死问题。在军事领域和执法部门,例如重复的机械训练被认为是灌输火线技能的一个关键手段。我们的目标是演练某些运动和战术要点,使它们成为完全自动的技能。但当过度拟合在此出现时,一切就可能是灾难性的。比如,曾发生这样一个故事,警察发现自己在枪战中竟会花时间将弹壳收在口袋里——这是在射击场上培养起来的良好习惯。作为美国前陆军游骑兵和西点军校心理学教授戴夫·格罗斯曼曾写道:“在许多真实枪战中,当硝烟散去,军官们会震惊地发现自己的口袋里有许多空弹壳,但他们自己完全不记得是如何放到那里的。在一些场合,殉职的警察被发现手中还握着空弹壳,他们死在执行一个渗入他们身体里的行政程序的过程中。”同样,美国联邦调查局被迫改变其训练,因为他们发现有些特工在开完两枪之后会本能地将武器收入枪套中(这是训练的标准程序),无论他们是否击中目标,也无论威胁是否仍然存在。这样的错误在执法和军事领域被称为“训练的伤疤”,这反映了一个事实——人们可能会对自己的准备过程过度拟合。在一个特别戏剧性的案件中,一名军官本能地将枪从攻击者手中抢走,然后又本能地将枪交还给他——就像他在训练中一次又一次地与他的训练者所做的那样。
1700496230
1700496231
1700496232
1700496233
1700496235
算法之美:指导工作与生活的算法 检测过度拟合:交叉验证
1700496236
1700496237
因为过度拟合最初作为一种理论是完全符合现有数据的,所以它似乎很难被发现。我们如何能区别一个真正的好模式和一个过度拟合的模式呢?在教学领域,我们如何区分一个擅长所有科目的班级,和一个仅能“通过考试”的班级?在商业世界中,我们怎么能区别一个真正的明星员工和一个过度拟合公司关键绩效指标或老板看法的员工?
1700496238
1700496239
区分这些情况确实具有挑战性,但并非不可能。机器学习的研究已经得出了一些具体的策略以检测过度拟合,而最重要的问题之一就是所谓的交叉验证。
1700496240
1700496241
简单地说,交叉验证意味着不仅要评估模型是否适合给出的数据,还要看它是如何概括没有见过的数据。矛盾的是,这可能要使用更少的数据。在婚姻的例子中,我们可能会在随机的两个点位上“退缩”,使我们的模型适合其他8个点位。然后,我们将采用这两个测试点,并用它们来衡量各种功能是如何概括出他们已经给出的这8个“训练”点位之外的内容。这两个点就像是煤矿中的金丝雀:如果一个复杂的模型重合了那8个点位但又和那两个试验点差距很大,这很可能是过度拟合在产生作用。
1700496242
1700496243
除了保留一些可用的数据点,也可以考虑测试完全来自其他评价形式的数据模型。正如我们已经看到的,代理指标的使用——可作为营养的代替,或很多情况下作为研究者勤奋的代表加以解决,可能导致过度拟合的情况发生。在这种情况下,我们需要交叉验证我们正在使用的主要性能措施,而不是其他可能的措施。
1700496244
1700496245
例如,在学校里,标准化考试提供了许多好处,包含一种明显的规模经济:学生可以被大批量地、迅速地进行分级。然而,除了这些测试,学校还可以使用不同的评价方法,例如写一篇文章或参加口头考试,以此随机评估一小部分学生,例如一个班中的一名学生,或100个学生中的一个。(因为只有少数学生会以这种方式进行测试,用这种二级评价方法,规模就不是一个大问题。)标准化测试会提供即时的反馈,例如你可以让学生每星期参加一个简短的计算机考试,并用图表实时分析学生的进步。此时,二级数据点就可以被用来进行交叉验证,以确保学生真正获得知识。事实上,标准化测试的目的也是测量这个,而不是让学生简单的考得更好。如果一个学校的标准化考试成绩上升,而其“非标准化”方面的表现却在向相反的方向移动,管理人员便会意识到一个明确的警告——“应试教育”已经出现,学生的技能开始对考试本身这个机制出现过度拟合。
1700496246
1700496247
交叉验证也给执法和军事人员提供了一个建议,希望他们能获得良好的反应能力,而不是养成从训练过程本身被强行注入的习惯。正如写文章和口语考试可以交叉验证标准化测试,偶尔不熟悉的“交叉培训”评估,便可以用来测试反应时间和射击精度是否能适应不熟悉的任务。如果不能,那么这便是一个强烈的信号,表示应该改变原有的训练方案。虽然没有什么能够确保实战万无一失,但这样的演习至少应事先警告“训练疤痕”很可能已经形成。
1700496248
1700496249
1700496250
1700496251
1700496253
算法之美:指导工作与生活的算法 如何应对过度拟合:惩罚复杂性
1700496254
1700496255
无名氏
1700496256
1700496257
如果你不能简单地解释一个问题,那你就没有完全理解它。
1700496258
1700496259
我们已经看过一些过度拟合出现的方式,及其检测和测量的方法。但是我们能做些什么来缓解这个问题呢?
1700496260
1700496261
从统计的观点来看,过度拟合是我们对看到的实际数据太过敏感的体现。那么,解决方案也是直截了当的:我们必须平衡我们的愿望,找到我们应该使用的对抗复杂性的模型进行分析。
1700496262
1700496263
在几个相互竞争的模型中选择一种方法就是奥卡姆的剃刀原理,它表明,所有的事情都是平等的,最简单的假设可能就是最正确的那个。当然,事情很少是完全平等的,所以在数学背景下,如何应用像奥卡姆剃刀这样的原理并不是清楚明了的。面对这一挑战,在20世纪60年代,苏联数学家安德烈·季霍诺夫给出了一种答案:引入一个额外项来计算惩罚更复杂的解决方案。如果我们引入复杂性惩罚,那么更复杂的模型需要做的不仅是做得更好,更重要的是解释数据以证明其更大复杂性的合理性。计算机科学家将这个原则——使用约束来惩罚模型的复杂性,称为正则化。
1700496264
1700496265
那么这些复杂性惩罚是什么样的呢?在1996年,由生物统计学家罗伯特·蒂什拉尼发现的一种算法,被称为套索算法,这被用作对模型中各因素总和的惩罚。[1]通过将这种下行压力放到因素的总权重上,套索算法将驱使它们降为零。只有对结果有很大影响的因素才能保留在方程中,因此有可能将一个过度拟合的九因素模型转化为一个简单的、更强大的、只有最关键因素的公式。
1700496266
1700496267
像套索算法这样的技巧在目前的机器学习时代无处不在,但同一类原则——复杂度惩罚原则同样也出现在自然界中。由于受到时间、记忆、精力和注意力的限制,活的生物体几乎可以自动地朝着简单化方向发展。例如,新陈代谢的负担对生物体的复杂性起到了刹车作用,对过度精细的机体运行引入了热量惩罚机制。一个人的大脑每日消耗的总热量是摄入量的1/5,这证明了进化的优势,我们的智力为我们提供了大脑贡献的、肯定不止消耗量那么多的燃料。另一方面,我们也可以推断,从进化论的角度来说,一个更复杂的大脑可能无法提供足够的报酬。我们的聪明程度符合我们的需要,而不是任意的更高程度。
1700496268
1700496269
同样的过程也被认为在神经水平上发挥作用。在计算机科学中,基于大脑的软件模型被称为“人工神经网络”,它可以学习大脑任意复杂的功能,甚至比我们之前的九因素模型更灵活,但正因为它非常灵活,所以也更容易过度拟合。实际上,生物神经网络在回避这个问题,因为它们需要用它们的表现来换取维持运行的成本。神经科学家建议,大脑应在任何给定的时刻尽量减少神经元的数量,像套索算法那样执行同类的复杂性下行压力。
1700496270
1700496271
然而语言又是另一种自然的套索:复杂性受到更长时间的说话和对听众注意力时限的惩罚。商业计划被压缩到电梯营销,生活忠告只有在足够简洁易懂的情况下才能成为谚语般的智慧之语。需要记住的东西都必须经过固有的记忆套索。
1700496272
1700496273
[1]这相当于数学上的变量系数绝对值之和。
1700496274
1700496275
1700496276
1700496277
[
上一页 ]
[ :1.700496228e+09 ]
[
下一页 ]