新闻中心

EEPW首页 > 智能计算 > 业界动态 > 机器学习的关键点是什么 数据量比算法还重要

机器学习的关键点是什么 数据量比算法还重要

作者:时间:2018-11-21来源:elecfans收藏

  可以通过概括示例来确定如何执行重要任务。手动编程很难完成这样的目标,所以通常是可行且成本有效的。随着更多数据的出现,可以解决更加雄心勃勃的问题。因此,被广泛应用于计算机真诚等领域。然而,开发成功的机器学习应用程序需要大量的“黑色艺术”,这在教科书中很难找到。

本文引用地址:http://www.eepw.com.cn/article/201811/394640.htm

  1. 学习=表示+评价+优化

  所有的机器学习的通常包括三个组成部分:

  表示:一个分类器必须用计算机能够处理的一些正式语言来表示。相反,为学习者选择一种表示方式就等同于选择一组可以学习的分类器。这个集合被称为学习者的假设空间。如果一个分类器不在假设空间中,它就不能被学习。一个相关的问题是:如何表示输入,比如使用哪种特征。

  评价:要区分好的分类器和坏的分类器,需要一个评价函数。内部使用的评估函数与分类器外部使用的评价函数可能不同,其主要是为了便于优化,以及下一节中我们要讨论的问题。

  优化:最后,我们需要在语言的分类器中找到得分最高的一种方法。优化技术的选择是提高学习者效率的关键,同时也有助于确定分类器的评价函数是否具有多个最优值。初学者开始的时候使用现成的优化器是很常见的,不过这些优化器会被专门设计的优化器取代。

  2. “泛化能力”很关键,“测试数据”验证至关重要!

  机器学习的主要目标是对训练集之外的样本进行泛化。因为无论有多少数据,都不太可能在测试中再次看到完全相同的例子。在训练集上具有良好表现很容易。机器学习初学者最常犯的错误是把模型放在训练数据中进行测试,从而产生成功的错觉。如果被选择的分类器在新的数据上进行测试,一般情况,结果往往和随机猜测相差无几。所以,如果你雇佣他人建立分类器,一定要留一些数据给你自己,以便在他们给你的分类器中进行测试。相反,如果有人雇佣你建立一个分类器,请保留一部分数据对你的分类器进行最终测试。


  3. 仅有数据是不够的,知识相结合效果更好!

  把泛化能力作为目标,会又另一个后果:只有数据是不够的,无论你拥有多少数据。这是否让人沮丧。那么,我们怎么能奢求它学到东西呢?不过,现实世界中我们想学习的函数并不都是从数学上可能的函数中提取出来的!实际上,使用一般假设——例如平滑性、相似样本有相似分类、有限的依赖性或有限复杂度——往往能做得足够好,这也正是机器学习能如此成功的大部分原因。正如演绎一样,归纳(训练模型所做的)是一个知识杠杆——它将少量知识输入转化为大量知识输出。归纳是一个比演绎更为强大的杠杆,仅需更少的知识就能产出有用的结果。不过,它仍然需要大于零的知识输入才能工作。正如任何一个杠杆一样,输入得越多,得到的也越多。

  这样回想起来,训练过程中对知识的需求没什么好惊讶的。机器学习并非魔术,它无法做到无中生有,它所做的是举一反三。如同所有的工程一样,编程需要做大量的工作:我们必须从头开始构建所有的东西。训练的过程更像是耕种,其中大部分工作是自然完成的。农民将种子与营养物质结合起来,种植作物。训练模型将知识与数据结合起来,编写程序。

  4. “过拟合”让机器学习效果产生错觉!

  如果我们所拥有的知识和数据不足以完全确定正确的分类器,分类器(或其中的一部分)就可能产生「错觉」。所获得的分类器并不是基于现实,只是对数据的随机性进行编码。这个问题被称为过拟合,是机器学习中棘手的难题。如果你的训练模型所输出的分类器在训练数据上准确率是 100%,但在测试数据上准确率只有 50%,那么实际上,该分类器在两个集合上的输出准确率总体可能约为 75%,它发生了过拟合现象。

  在机器学习领域,人人都知道过拟合。但是过拟合有多种形式,人们往往不能立刻意识到。理解过拟合的一种方法是将泛化的误差进行分解,分为偏差和方差。偏差是模型不断学习相同错误的倾向。而方差指的是不管真实信号如何,模型学习随机信号的倾向。线性模型有很高的偏差,因为当两个类之间的边界不是一个超平面时,模型无法做出调整。决策树不存在这个问题,因为它们可以表征任何布尔函数。但是另一方面,决策树可能方差很大:如果在不同训练集上训练,生成的决策树通常差异很大,但事实上它们应该是相同的。

  交叉验证可以帮助对抗过拟合,例如,通过使用交叉验证来选择决策树的最佳规模用于训练。但这不是万能的,因为如果我们用交叉验证生成太多的参数选择,它本身就会开始产生过拟合现象。

  除交叉验证之外,还有很多方法可以解决过拟合问题。最流行的是在评估函数中增加一个正则化项。举个例子,这样一来就能惩罚含更多项的分类器,从而有利于生成参数结构更简单的分类器,并减少过拟合的空间。另一种方法是在添加新的结构之前,进行类似卡方检验的统计显著性检验,在添加新结构前后确定类的分布是否真的具有差异。当数据非常少时,这些技术特别有用。尽管如此,你应该对某种方法完美解决了过拟合问题的说法持怀疑态度。减少过拟合(方差)很容易让分类器陷入与之相对的欠拟合误差(偏差)中去。如果要同时避免这两种情况,需要训练一个完美的分类器。在没有先验信息的情况下,没有任何一种方法总能做到最好(天下没有免费的午餐)。


上一页 1 2 下一页

关键词: 机器学习 算法

评论


相关推荐

技术专区

关闭