加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 站长资讯 > 动态 > 正文

那些你不可不知的机器学习“民间智慧”

发布时间:2018-05-01 07:30:04 所属栏目:动态 来源:李佳惠
导读:【资讯】机器学习算法可以通过从例子中推广来弄清楚如何执行重要的任务。在手动编程的情况下,这通常是可行且成本有效。随着更多的数据变得可用,可以解决更多雄心勃勃的问题。因此,机器学习被广泛应用于计算机等领域。然而,开发成功的机器学习应用程序
副标题[/!--empirenews.page--]

  【资讯】机器学习算法可以通过从例子中推广来弄清楚如何执行重要的任务。在手动编程的情况下,这通常是可行且成本有效。随着更多的数据变得可用,可以解决更多雄心勃勃的问题。因此,机器学习被广泛应用于计算机等领域。然而,开发成功的机器学习应用程序需要大量难以在教科书中找到的“黑色艺术”。

  最近华盛顿大学Pedro Domingos教授发表了一篇惊人的技术论文,题为“关于机器学习的一些有用的事情”。(https://homes.cs.washington.edu/~pedrod/papers/cacm12.pdf)它总结了机器学习研究人员和从业人员学到的12个关键经验教训,包括要避免的陷阱,重点问题并回答了一些常见的问题。在本文中分享了这些经验教训,因为在考虑机器学习问题时,它们非常有用。

  1 - 学习=表示+评估+优化

  所有的机器学习算法通常由3个组件组成:

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

  评估:需要一个评估函数来区分好的分类器和坏的分类器。该算法在内部使用的评估函数可能与我们希望分类器优化、简化优化以及下一节讨论的问题不同。

  优化:最后,我们需要一种方法来在语言中的分类器中搜索得分最高的分类器。优化技术的选择对于学习者的效率是关键的,并且如果评估函数具有多个最优值,则有助于确定所产生的分类器。新学习者开始使用现成的优化器(后来被定制设计的优化器替代)是很常见的。  那些你不可不知的机器学习“民间智慧”!

  2 - 泛化很重要

  机器学习的基本目标是在训练集范例之外进行泛化。这是因为,无论我们有多少数据,我们都不太可能在测试时再次看到这些确切的例子。做好训练集很容易。机器学习初学者最常犯的错误就是对训练数据进行测试,并有成功的幻觉。

  如果选择的分类器在新的数据上进行测试,通常不会比随机猜测更好。所以,如果你雇人去建立分类器,一定要保留一些数据给你自己,并测试他们给你的分类器。相反,如果你被雇佣来建立一个分类器,要把一些数据从一开始就放在一边,只用它来测试你选择的分类器,然后在整个数据上学习最终的分类器。

  那些你不可不知的机器学习“民间智慧”!

  3 - 数据是不够的

  泛化是目标同时还有另外一个重要的后果:不管你拥有多少数据,那都是不够的。

  这似乎是一个令人沮丧的消息。那么我们怎么能学到东西?幸运的是,我们想要在现实世界中学习的功能并不是从所有数学上可能的功能集合中统一得出的!事实上,举一个非常普遍的假设,比如平滑性,类似的例子,有限的依赖性或者有限的复杂性,往往足以做得很好,这也是机器学习如此成功的很大一部分原因。就像演绎一样,归纳(学习者所做的)就是知识杠杆:将少量的输入知识转化为大量的输出知识。感应是一个比演绎强大得多的杠杆,需要更少的输入知识来产生有用的结果,但是它仍然需要超过零的输入知识来工作。而且,就像任何一个杠杆一样,我们投入得越多,我们就越能走出去。

  那些你不可不知的机器学习“民间智慧”!

  回想起来,学习知识的需求不应该令人惊讶。机器学习不是魔术,它不能从无到有。它所做的是从更少获得更多。像所有的工程一样,编程有很多工作:我们必须从头开始构建所有的东西。学习更像是农业,让大自然完成大部分的工作。农民将种子与营养物质结合起来种植作物。学习者将知识与数据结合起来,开展项目。

  4 - 有许多面临过度拟合

  如果我们拥有的知识和数据不足以完全确定正确的分类器呢?那么我们就冒着对分类器(或其中的一部分)产生幻觉的风险,这些分类器并不是基于现实,而只是简单地编码数据中的随机物。这个问题被称为过度拟合,是机器学习的怪圈。当你的学习者输出的分类器在训练数据上是100%准确的,但在测试数据上只有50%准确的时候,实际上它可以输出一个75%准确度的分类器,那么,这时候它就可能显得有些过度了。

  机器学习中的每个人都知道过度拟合,但它有很多形式,并不是很明显。理解过度拟合的一种方法是将泛化误差分解为偏差和方差。偏见是学习者不断学习同样错误的东西的倾向,不管真实的信号如何,方差是倾向于学习随机事物。线性学习者有很高的偏见,因为当两个类之间的边界不是一个超平面时,学习者无法诱导它。决策树却不存在这个问题,因为它们可以表示任何布尔函数,但是另一方面它们可能遭受高度的方差:由相同现象产生的不同训练集上学习的决策树通常是非常不同的,事实上它们应该是相同的。

  那些你不可不知的机器学习“民间智慧”!

  交叉验证可以帮助对抗过度拟合,例如通过使用交叉验证来选择决策树的最佳尺寸来学习。但这不是万能的,因为如果我们用它来做太多的参数选择,它本身就会开始过度适应。

  除了交叉验证之外,还有很多方法可以解决过度拟合的问题。最流行的是给评价函数增加一个正则化术语。例如,这可以惩罚更多结构的分类器,从而有利于较小的分类器,只需较少的装配空间。另一种方法是在添加新的结构之前,进行像卡方这样的统计显著性检验,以确定类别的分布是否真的不同于这种结构。当数据非常稀少时,这些技术特别有用。尽管如此,你应该对某种技术“解决”过度拟合问题的说法持怀疑态度。通过落入相反的偏差(偏差),很容易避免过度拟合(方差)。同时避免这两种情况都需要学习一个完美的分类器。

  5 - 直觉在高维度失败

  过度拟合之后,机器学习中最大的问题就是维度的问题。这个表达式是由Bellman在1961年提出的,指的是当输入是高维时,许多在低维度上工作正常的算法变得棘手。但是在机器学习中,它指的是更多。随着示例的维数(特征数量)的增长,泛化正确变得越来越难,因为固定大小的训练集覆盖了输入空间的一小部分。

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读