1.4 机器学习分类和应用

前面讲过,机器学习是无须通过明确的编程就能让计算机系统具有从历史经验中进行自主学习的能力,在这个广义的定义中,“学习”是指基于经验改善自身行为的能力。

Tom Mitchell(美国卡内基梅隆大学计算机科学学院院长,有“机器学习教父”之称)给予了机器学习一个技术性的定义(如图1-8所示):“对于某种任务T、性能指标P来说,如果一个计算机程序以历史经验E为基础,实现以指标P进行度量的任务T后,性能指标P会有所提升,则认为这个程序具有从经验E中学习的能力。”

在这个定义中,有三个要素:任务T、性能指标P和经验E,即(T,P,E),计算机程序把这三者联系在一起,决定了如何利用经验E来解决任务T并且保证随着经验E的增加,能够更好地解决任务(P提升),其中:

● 任务T是机器学习需要解决的工作内容,它可以是一个预测、分类或聚类的工作。

● 经验E是训练数据集或输入数据,机器通过经验E获得学习能力。

● 性能指标P是影响任务T完成质量的因素,如精度等。

图1-8 机器学习的从经验中学习的示意图

机器(计算机系统)本身包含两个主要组件:学习机(learner)和推理机(reasoner)。

◇输入/经验(input/experience)提供给学习机(learner),学习机用来学习新技术。

◇背景知识(background knowledge)提供给学习机,帮助学习机更好地学习。

◇借助于输入和背景知识,学习机可以生成模型,该模型包含从输入和背景知识中学习到的信息。

◇任务/问题(problem/task)(例如预测、分类等)提供给推理机。

◇在训练有素的模型(model)的帮助下,推理机(reasoner)尝试给出任务/问题的解决方案(solution/answer)。

◇通过给予新的输入和背景知识,提高该解决方案的性能。

◇依照上面步骤,循环继续进行。

例如,垃圾邮件过滤器的任务T是根据历史经验E区分垃圾邮件,达到一定的准确率P。

根据所处理问题的性质、处理数据的类型和数量,机器学习可以分为以下类别。

① 有监督学习(Supervised learning),或直接称监督学习。训练数据集中带有需要预测的属性(字段、标签数据),处理数据过程中,将以标签数据为预测目标方向,进行模型创建。有监督学习可以分为下面两类:

◇分类(classification):每个样本属于两个或多个类别之一。分类试图从已标记的数据中学习如何预测未标记数据的类别。比如手写数字识别问题、车牌自动识别问题等都是将每个输入数据(向量)分配给有限数量的离散类别之一。常用的算法包括逻辑回归、决策树、KNN、随机森林树、SVM等;

◇回归预测(regression prediction):如果所需的输出由一个或多个连续变量组成,则该算法称为回归。比如根据父母的身高去推测儿子的身高就是一个回归问题。常用算法包括线性回归、神经网络等。

② 无监督学习(Unsupervised learning)。训练数据集由一组输入向量组成,不包含任何相应的目标值(标签字段)。问题的目标可以是发现数据中的相类似的数据组,称为聚类,或者试图确定输入空间内的数据分布,称为密度估计,或者将高维数据空间缩小到两维或三维,实现可视化。聚类、关联规则、生存分析等都是无监督学习的模型。

③ 半监督学习(Semi-supervised learning)。是有监督学习和无监督学习的结合。

④ 强化学习(Reinforcement learning),又称为增强学习。机器在环境中通过试错法持续自我训练,从过去的经验中学习,并尝试获取尽可能好的知识,以便能够做出最好的决策。试错搜索和延迟奖励是强化学习最明显的特征。一个典型的例子就是马尔科夫决策过程。

图1-9简要展示了上述的四种学习类型和应用示例。

随着机器学习技术的不断发展,近年来也出现了一些新的机器学习分支,如深度学习、迁移学习和元学习等等,这里不再赘述,感兴趣的读者可自行搜索相关内容。

图1-9 机器学习类型和应用示例

对于一个特定的问题,可能存在多个机器学习算法可以使用,因此寻找最佳的机器学习模型需要极大的耐心和细致的试错工作。图1-10中展示了不同的机器学习模型对于同一个问题的不同处理方式。这个问题是:“Adam今天中午吃什么?”

图1-10 同一个问题多种解决方式

机器学习的应用已经融入了我们的日常生活,从各个方面开始改变着我们的生活,小到智能手机,大到各种智能工业机器人,早已无声无息地影响着我们的生活。在电商购物、智能交通、图像识别、情绪分析、文本分类、视频监控、语音识别、欺诈检测、趋势预测、智慧医疗等领域都活跃着机器学习的身影。