如果我们像Elaine
Rich的书[Ric83]那样定义AI:
人工智能是研究如何使计算机做出目前人们更好的事情。
如果我们认为计算机的学习能力特别低于人类,那么研究学习机制,机器学习算法的发展是人工智能最重要的分支之一。
从软件开发者的角度来看,还需要机器学习,软件开发者例如编程自主机器人的行为。智能行为的结构可能变得如此复杂,即使使用PROLOG和Python等现代高级语言,也很难甚至无法以最佳方式编程。1甚至使用机器学习算法
今天以类似于人类学习的方式对机器人进行编程(参见第10章或[BCDS08,RGH + 06]),通常是编程和学习行为的混合混合物。
本章的任务是描述最重要的机器学习算法及其应用。本节将介绍该主题,接下来的部分将介绍重要的基础学习算法。理论和术语将与此并行建立。本章将以各种算法及其应用的摘要和概述结束。我们将在本章中将自己限制为有监督和无监督的学习算法。作为一类重要的学习算法,神经网络将在Chap中进行处理。9.由于其自主机器人的特殊地位和重要作用,强化学习也将有自己的专门章节(第10章)。
学什么?对许多人来说,学习外语或技术术语的词汇,甚至记住一首诗都很困难。对于电脑,
1 Python是一种现代脚本语言,具有非常易读的语法,强大的数据类型和广泛的标准库,可用于此目的。
W. Ertel,人工智能导论,计算机科学本科专题,
DOI 10.1007 / 978-0-85729-299-5_8,©Springer-Verlag
London Limited 2011
161
图8.1
监督学习。。。
+
+
但是,这些任务非常简单,因为它们只不过是在文件中保存文本。因此,记忆对AI来说无趣。相比之下,数学技能的获得通常不是通过记忆来完成的。为了增加自然数,这根本不可能,因为对于和xy中的每个项,存在无限多个值。对于两个值x和y的每个组合,三元组(x,y,xy)必须存储,这是不可能的。对于十进制数字,这是完全不可能的。这提出了一个问题:我们如何学习数学?答案是:老师解释了这个过程,学生们在实例上练习,直到他们不再对新的例子犯错。在50个例子之后,学生(希望)了解添加。也就是说,在仅仅50个例子之后,他就可以将所学到的东西应用到无数的新例子中,而这些例子并没有被看到。这个过程称为泛化。我们从一个简单的例子开始。
例8.1 果农希望自动将收获的苹果分成商品A类和B类。分拣设备配备有传感器,用于测量两个特征,大小和颜色,然后决定苹果属于哪两个类。这是典型的分类任务。能够将特征向量划分为有限数量的类的系统称为分类器。
要配置机器,苹果是由专家亲自挑选的,也就是说,它们是经过分类的。然后将两个测量值与其类别标签一起输入表格中(第 113 页的表 8.1 )。尺寸以直径(厘米)的形式给出,颜色的数值由0(绿色)和1(红色)之间的数值表示。
表8.1 培训数据
尺寸[cm]
8 8 6 3。。。
苹果分选剂颜色0.1 0.3 0.9 0.8。。。
商品类BAAB。。。
图8.2。BayWa苹果公司在Kressbronn的分拣设备和在特征空间划分为商品类A和B的一些苹果(照片:BayWa)
图8.3绘制到图表中的曲线划分了类,然后可以应用于任意新的苹果
数据的可视化在图 8.2 右侧的散点图中列为点。
机器学习中的任务包括从收集的分类数据生成函数,该数据根据两个特征大小和颜色计算新苹果的类值(A或B)。在图 8.3 中,通过图中绘制的分界线示出了这样的函数。所有在该行左下角都有特征向量的苹果被放入B类,其他所有苹果被放入A类。
–
在这个例子中,为这两个类找到这样的分界线仍然非常简单。当要分类的对象不仅仅由两个而是多个特征描述时,这显然是一个更困难的,尤其是更不可视化的任务。在实践中,通常使用30个或更多个特征。对于n个特征,任务包括在n维特征空间内找到n 1维超平面,该超平面尽可能地划分类。“良好”的划分意味着错误分类的对象的百分比尽可能小。
图8.4苹果分选学习代理的功能结构(左)和一般(右)
分类器将特征向量映射到类值。在这里它有一个固定的,通常很少的替代品。期望的映射也称为目标函数。如果目标函数没有映射到有限域,那么它不是分类,而是近似问题。从给定特征确定股票的市场价值是这样的近似问题。在以下部分中,我们将介绍两种映射类型的学习代理。
学习代理我们可以正式地将学习代理描述为将特征向量映射到离散类值或通常映射到实数的函数。该功能未被编程,而是在学习阶段出现或自行改变,受到训练数据的影响。在图 8.4中,这种代理在苹果分类示例中呈现。在学习过程中,代理人会获得第 163 页表 8.1中已经分类的数据。此后,代理构成从特征向量到功能值(例如商品类)的尽可能好的映射。
我们现在可以尝试接近术语“机器学习”的定义。
Tom Mitchell
[Mit97]给出了这个定义:
机器学习是对通过经验自动改进的计算机算法的研究。
借此,我们给出
定义8.1 代理是一种学习代理,如果它随着时间的推移改进其对新的未知数据的性能(通过适当的标准衡量)(在看过许多训练样例之后)。
测试学习算法对未知数据(测试数据)的泛化能力很重要。否则,只是通过调用保存的数据,每个刚保存训练数据的系统看起来都会表现最佳。学习代理的特征如下:
任务:学习算法的任务是学习映射。例如,这可以是从苹果的大小和颜色到商品类别的映射,也可以是从患者的15种症状到决定是否去除阑尾的映射。
图8.5
数据挖掘
可变代理(更确切地说是一类代理):在这里我们必须决定使用哪种学习算法。如果选择了这个,则确定所有可学习函数的类。
训练数据(经验):训练数据(样本)包含学习算法应该提取和学习的知识。通过选择训练数据,必须确保它是要学习的任务的代表性样本。测试数据:对于评估受过训练的代理是否能够很好地从训练数据推广到新数据非常重要。
性能测量:对于苹果分选设备,正确分类的苹果数量。我们需要它来测试代理的质量。了解绩效指标通常比了解代理的功能要容易得多。例如,很容易测量10000米转轮的性能(时间)。然而,这并不意味着衡量时间的裁判可以跑得快。裁判只知道如何衡量表现,而不知道他正在衡量表现的代理人的“功能”。
什么是数据挖掘?学习机器从训练数据中提取知识的任务。通常,开发者或用户希望学习机器也使得所提取的知识对于人类可读。如果开发人员甚至可以改变知识,那就更好了。Sect中决策树的归纳过程。8.4 是这种方法的一个例子。
类似的挑战来自电子商务和知识管理。这里有一个经典问题:从访问者到他的门户网站的行为,
互联网业务的所有者希望在客户的特征和该客户感兴趣的产品类之间建立关系。然后卖家将能够放置客户特定的广告。这在 www.amazon.com上以一种有说服力的方式得到了证明,其中客户推荐的产品与上次访问中的产品类似。在广告和营销以及客户关系管理(CRM)的许多领域,数据挖掘技术正在投入使用。每当有大量数据可用时,可以尝试使用这些数据来分析客户偏好,以显示客户特定的广告。新兴的偏好学习领域致力于此目的。
从数据中获取知识的过程及其表示和应用称为数据挖掘。使用的方法通常来自统计或机器学习,并且应该以合理的成本适用于非常大量的数据。
在获取信息的背景下,例如在因特网上或在因特网中,文本挖掘起着越来越重要的作用。典型的任务包括在搜索引擎中查找类似文本或文本分类,例如应用于电子邮件的垃圾邮件过滤器。在Sect。8.6.1 我们将介绍用于文本分类的广泛的朴素贝叶斯算法。数据挖掘的一个相对新的挑战是从图形结构中提取结构,静态和动态信息,例如社交网络,交通网络或互联网流量。
由于机器学习和数据挖掘这两个描述的任务非常相似,因此两个领域中使用的基本方法大多数都是相同的。因此,在学习算法的描述中,机器学习和数据挖掘之间不会有区别。
由于数据挖掘技术的巨大商业影响,现在有许多复杂的优化和一整套强大的数据挖掘系统,它们提供了大量方便的工具,用于从数据中提取知识。这种系统在Sect中引入。8.8 。