适用机器学习:什么是机器学习?看完就明白了
作者头像
  • 中部制博会
  • 2020-07-09 16:02:25 2

随着计算机技术和互联网的迅速发展,人们每天产生的数据量呈现爆炸式增长。在这种背景下,大数据(Big Data)应运而生。大数据通常具有庞大的体量和复杂性,使得传统的数据库工具难以对其进行存储和管理。大数据带来了许多挑战,比如数据的收集、整理、存储、共享、分析和可视化等。广义上的大数据处理涵盖了所有这些领域,而更广泛的意义在于如何利用机器学习技术从海量数据中提取有价值的信息。

机器学习算法是大数据分析的核心。很多时候,我们拥有大量的数据,但却不知道如何有效利用这些数据。实际问题往往很复杂,不能简单地套用机器学习算法。我们需要将实际问题转化为适合机器学习处理的形式。一般而言,可以将实际问题归结为以下四类:(1)回归问题;(2)分类问题;(3)推荐问题;(4)排序问题。这四类问题是实际应用中最主要的问题类型,涵盖了大部分的实际应用场景。接下来,我们将详细介绍每类问题的具体实例。

1.1 什么是机器学习

机器学习(Machine Learning)是计算机科学的一个分支,也是模式识别(Pattern Recognition)、人工智能(Artificial Intelligence)、统计学(Statistics)和数据挖掘(Data Mining)等学科的交叉领域。机器学习与数值优化(Numerical Optimization)也有高度的重叠。

机器学习研究如何从数据中学习出有效的模型,从而对未来进行预测。例如,如果一家商店能够预测某种商品在未来一段时间内的销售量,就可以提前订购相应数量的商品,从而避免库存不足或积压。与传统的决策算法不同,机器学习算法依赖于数据。在实际应用中,我们需要从历史数据中学习出相应的模型,以便对未来进行预测。这种方法有两个优点:首先,由于算法依赖于数据,可以不断用新的数据更新模型,使模型能够适应新的数据;其次,减少了对人类干预的需求。虽然在使用机器学习的过程中也会尽量利用人类的经验,但更多的是强调如何从数据中训练出更好的模型。

目前,机器学习已经成为研究和应用的热点之一。一些可以利用机器学习解决的实际问题包括:

  • 根据信用卡交易的历史数据,判断哪些交易是欺诈行为;
  • 从字母、数字或汉字图像中有效识别相应的字符;
  • 根据用户过去的购物历史,向用户推荐新的商品;
  • 根据用户的当前查询和过去的消费历史,向其推荐合适的网页或商品;
  • 根据汽车的发动机排量、年份、类型、重量等信息,估算汽车的油耗。

尽管这些问题的具体表现形式各不相同,但都可以转化为机器学习可以解决的问题形式。

从概念上讲,在机器学习中,我们的目标是从给定的数据集中学习出一个模型,使其能够有效地从输入数据中预测我们感兴趣的结果。根据问题的不同,我们感兴趣的结果可以有不同的形式。例如,在分类问题中,结果是几个类别之一;在排序问题中,结果是对文档的排序顺序。

在机器学习中,通常处理问题的步骤如下:

  1. 收集足够的数据;
  2. 分析问题本身或数据,认为模型可以从数据中学习;
  3. 选择合适的模型和算法,从数据中学习出模型f;
  4. 评估模型f,并将其应用于解决实际问题。

在实际应用中,还需要根据实际情况及时更新模型。例如,如果数据发生了显著变化,则需要更新模型。因此,在实际部署机器学习模型时,第三步和第四步是一个循环迭代的过程。

一个经常与机器学习相关的领域是数据挖掘(Data Mining)。数据挖掘和机器学习在很多情况下被混用,因为两者有许多重叠之处。传统上,机器学习更注重算法和理论,而数据挖掘更注重实际应用。数据挖掘中的许多算法来自机器学习或其他领域,但大多数来自数据挖掘领域,如关联规则(Association Rule)。

另一个与机器学习紧密相关的领域是统计学。在统计学中,我们学习了许多传统的数据分析方法,包括计算数据统计量、模型参数估计和假设检验等。但在实际问题中,很多情况下我们不能直接使用统计学中的方法。一方面,随着数据规模的扩大,统计学中的许多传统数据分析方法需要大量计算才能得出结果,时效性不高;另一方面,传统的统计学方法更多考虑了算法的数学性质,而忽略了如何在实践中更好地应用这些算法。

1.2 实践应用

在本节中,我们将介绍一些可以利用机器学习解决的实际问题,包括病人住院时间预测、信用评分估计、Netflix上的电影推荐和酒店推荐。每个例子都对应不同的机器学习问题类型,通过这些不同类型的机器学习问题,读者可以更好地理解机器学习的应用。

1.2.1 病人住院时间预测

机器学习在医疗行业的应用十分广泛。以Heritage Health Prize竞赛为例,说明如何利用机器学习预测病人的住院时间。

在美国,每年有超过7000万人次住院。根据相关统计,2006年护理病人的住院费用已经超过300亿美元。如果我们可以根据病人的病历提前预测他们的住院时间,就可以根据具体情况提前做好准备,从而减少不必要的开支。同时,医院可以提前向病人发出预警,从而在降低医疗成本的同时提高服务质量。在从2011年开始的Heritage Health Prize竞赛中,参与者成功地利用机器学习方法,根据病人的历史记录预测他们在未来一年的住院时间。图1-1展示了竞赛中使用的病历数据的一部分。

1.2.2 信用评分估计

在现实生活中,申请贷款是很常见的事情,如房屋贷款、汽车贷款等。银行在处理个人贷款业务时,会根据申请人的经济状况来评估其还款能力,并据此确定贷款金额和条件(如利率)。在美国,每个成年人都有一个信用评分(Credit Score),用来衡量和评估借款人的还款能力和风险。

在评估申请人的还款能力时,需要收集申请人的多个方面的信息,包括收入状况、年龄、性别、职业、家庭状况(如子女数量)、还款历史(如未按时还款的记录、还款金额)以及现有的各种贷款和债务情况等。如何综合考虑这些因素来决定借款人的信用评分?直观地说,可以使用一些简单的规则来确定信用评分。例如,如果某个申请人的当前贷款金额很高但收入稳定,那么进一步借款的风险较高,信用评分会较低;又如,如果某个申请人过去常常没有按时还款,那么其信用评分也会较低。虽然使用简单的规则可以大致解决问题,但这种方法最大的问题是不能自适应地处理大量数据。随着时间的变化,借款人不还款的风险模型可能会发生变化,因此相应的规则也需要调整。

银行通常可以获得大量的申请人数据和历史数据。利用机器学习的方法,我们希望从这些申请人的历史还款记录中自适应地学习出相应的模型,从而“智能”地计算申请人的信用评分,了解贷款的风险。具体来说,在机器学习模型中,将申请人的信息作为输入,我们可以计算申请人未来按时还款的概率。一个典型的例子是FICO评分,它是美国FICO公司利用机器学习模型开发出的一个信用评分模型。

1.2.3 Netflix上的电影推荐

Netflix是一家成立于1997年的美国网络视频点播公司,截至2015年,该公司已有近7000万的订阅用户,并在40多个国家和地区提供服务。Netflix的一项重要功能是根据用户的历史观看记录和兴趣推荐相应的电影,如图1-2所示。2006年10月至2009年9月,Netflix公司举办了Netflix Prize比赛,要求参赛者根据用户对某些电影的评分(1星至5星),预测用户对其他未看过的电影的评分。如果能够准确预测用户对未看过的电影的评分,就可以向这些用户推荐他们感兴趣的内容,从而显著提高推荐系统的性能和Netflix公司的盈利能力。

在Netflix Prize比赛中,获胜的标准是将Netflix现有推荐系统的性能提高10%。2009年,Bellkor's Pragmatic Chaos团队赢得了比赛。他们主要使用基于矩阵分解的推荐算法,并运用集成学习的方法综合了多种模型。Netflix Prize比赛显著推动了推荐算法的研究,特别是基于矩阵分解的推荐算法的研究。本书也将详细介绍这些推荐算法。

1.2.4 酒店推荐

Expedia是目前世界上最大的在线旅行代理(OTA)之一。它的一项重要业务是向用户提供酒店预订服务,作为用户和众多酒店之间的桥梁。对于每个查询,Expedia需要根据用户的偏好,提供最佳的排序结果,以便用户从中选出最合适的酒店。

Expedia于2013年底与国际数据挖掘大会(ICDM)联合举办了酒店推荐比赛。在该比赛中,Expedia提供了实际数据,包括用户的查询及其对推荐结果的点击或购买记录。在进行酒店推荐时,Expedia考虑了以下因素:

  • 用户的位置和酒店的位置;
  • 酒店的特征,如价格、星级、吸引力等;
  • 用户过去预订酒店的历史,包括价格、酒店类型、星级;
  • 其他竞争对手的信息。

根据用户的查询及背景信息,Expedia推荐的酒店序列。在Expedia.com上,典型的酒店搜索界面如图1-3所示。根据推荐结果,用户可以选择三种方式:(1)支付预订推荐的酒店;(2)点击推荐的酒店但未预订;(3)既未点击也未预订。显然,根据用户的反馈,我们希望在理想的酒店推荐结果中,对应于第一种选择的酒店排在最前面,对应于第二种选择的酒店排在对应于第三种选择的酒店之后。

1.2.5 讨论

以上四个例子分别对应于机器学习中的四种典型问题:

  • 回归(Regression);
  • 分类(Classification);
  • 推荐(Recommendation);
  • 排序(Ranking)。

在第一个例子中,需要为每个病人构建一个特征向量x,然后构建一个函数,使得可以用f(x)来预测病人的住院时间y。注意,这里预测的目标y(病人的住院时间)的范围是0-365(或366),可以转化为回归问题。在回归问题中,目标变量是一个连续值。

在第二个例子中,需要为每个申请人构建一个特征向量x,而输入y是0或1,表示是否批准贷款。实际上,输入y也可以是批准的概率。这是机器学习中的典型分类问题。在分类问题中,目标变量y是一个离散值。与回归问题类似,我们的目标是构建一个函数f,使得f(x)可以预测真实的y。在典型的二分类问题中,目标变量的取值为0或1(有时是-1或1)。在多分类问题中,我们有多个类别,目标变量的取值是其中之一。

在第三个例子中,需要根据用户过去的历史为每个用户推荐相应的商品,这是一个典型的推荐问题。与回归和分类问题相比,我们需要为每个用户推荐一组感兴趣的物品。

在第四个例子中,需要根据用户的输入(在这个例子中是用户对酒店的查询),从一系列对象(在这个例子中是酒店)中根据用户的需求推荐一个对象的序列,使得该序列最前面的对象是用户最想要的。这类问题称为排序问题。与回归和分类问题相比,排序问题需要考虑整个推荐序列。与电影推荐相比,排序问题需要明确的用户输入,而电影推荐则是根据用户过去的历史信息进行推荐,用户没有明确的输入。

在实际应用中,机器学习的应用远远超出了上述几个例子。例如,近期流行的AlphaGo,谷歌公司利用深度学习来学习围棋对弈;德国蒂森克虏伯集团作为电梯的主要制造商之一,利用机器学习预测电梯故障时间,从而提前维修,降低电梯的综合运营成本;美国许多大型零售商在开设新店时,都会收集各地区的各种信息和历史销售数据,通过建立机器学习模型来选择最优店址。

本文节选自《实用机器学习》

[注:图片已省略]

    本文来源:图灵汇
责任编辑: : 中部制博会
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
机器学习适用明白什么
    下一篇