机器学习是什么?

  • 内容
  • 评论
  • 相关

大多数人听到“机器学习”这个词,脑海中会浮现出一个机器人:可能是一个可靠的管家,也可能是一个致命的终结者形象,这取决于你问的对象是谁。

机器学习已经不仅仅只是一个未来幻想了,它已经存在了。事实上,在某些专门领域的应用中,例如光学字符识别(OCR),它甚至已经存在了几十年。

但是,第一个真正成为主流并改善了亿万人民生活的机器学习应用,是 20 世纪 90 年代席卷了全世界的垃圾邮件过滤器。它不算是一个有自我意识的天网(Skynet),但从技术上来讲,它确实有资格称为一种机器学习(事实上它也学得很好,我们几乎不需要再手动标记垃圾邮件了)。

随后便是数以百计的机器学习应用,默默地为那些我们定期使用的产品和功能提供支持,从更好的推荐系统到语音搜索。

什么是机器学习

机器学习是一门能够让编程计算机从数据中学习的计算机科学(和艺术)。

这里有一个略微笼统的定义:

机器学习研究如何让计算机不需要明确的程序也能具备学习能力。——Arthur Samuel,1959

还有一个更偏工程化的定义:

一个计算机程序在完成任务 T 之后,获得经验 E,其表现效果为 P,如果任务 T 的性能表现,也就是用以衡量的 P,随着 E 的增加而增加,可以称其为学习。——Tom Mitchell,1997

举例来说,垃圾邮件过滤器就是一个机器学习的程序,它通过垃圾邮件(比如用户手动标记的垃圾邮件)以及常规邮件(非垃圾邮件)的示例,来学习标记垃圾邮件。系统用来学习的这些示例,我们称之为训练集。每一个训练示例称为训练实例或者是训练样本。

在本例中,任务 T 就是给新邮件标记垃圾邮件,经验 E 则是训练数据,那么衡量性能表现的指标 P 则需要我们来定义,例如,我们可以使用被正确分类的邮件的比率来衡量。这个特殊的性能衡量标准称为精度,
经常用于衡量分类任务。

所以,如果你只是下载了维基百科的副本,你的电脑得到了更多的数据,这并不会给任何任务带来提升。因此,它不是机器学习。

为什么要使用机器学习

试想一下,如果让你使用传统编程技术来编写一个垃圾邮件过滤器,你会怎么做(如图1)?

1) 你会看看垃圾邮件通常长什么样。你可能会注意到某些单词或用语(比如“4U”“信用卡”“免费”以及“神奇的”等字眼)在这类主题中出现的频率非常高;也许你还会在发件人名称和邮件的正文中发现一
些其他的模式。

2) 你会为你发现的每个模式编写检测算法,如果检测到一定数量的这类模式,你的程序会将其标记为垃圾邮件。

3) 你还要测试这个程序,不断地重复过程1和过程2,直到它变得足够好。

传统编程方法
图1:传统编程方法

本文标题:机器学习是什么?

本文地址:https://www.hosteonscn.com/7128.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注