[译] 理解机器学习技术

标签: dev | 发表时间:2017-07-28 00:00 | 作者:
分享到:
出处:http://itindex.net/relian

第1讲 理解机器学习技术

模块目标

学完本模块的内容,读者将能够:

  • 讨论机器学习的技术和商业应用

本讲目标

学完本讲的内容,读者将能够:

  • 描述机器学习

  • 解释机器学习的应用

  • 解释各类机器学习方法和算法

 

“机器学习领域的突破,其价值10倍于微软。”

——比尔·盖茨

你是否曾经为计算机能够下象棋或者机器人能够完成复杂任务而感到惊奇?一旦你理解了机器如何学习和适应各种问题、提供合适的解决方案时,这些看上去很复杂的问题实际上相当简单。机器学习是用于构建智能系统的一种技术。这些系统有能力从过去的经验中学习,或者分析历史数据,相应地提供结果。

机器学习是人工智能的一个分支。这种技术用于许多领域。在机器人学中,机器学习帮助机器人更好地导航。在医药科学领域,根据历史数据,机器学习可用于预测某种疾病的极佳疗法。语音识别是机器学习技术的另一个例子。语音识别系统通过从语音模式中学习,识别人的声音。

本讲将介绍机器学习技术的基础知识,基于机器学习技术的流行电子邮件过滤应用SpamAssassin和各种其他应用,以及有监督与无监督学习的概念。

1.1 什么是机器学习

如前所述,机器学习是机器从过去的经验中学习,并用这些经验改善其性能的过程。E.Alpaydin将机器学习定义为“用示例数据和过去的经验优化性能标准”。

数据是机器学习概念中的关键要素。机器学习算法应用在数据上,以找出隐藏的模式并获得洞察力。这些模式和获得的知识帮助系统学习并自动改善其性能。这种技术在大数据的情况下特别恰当,组织机构可以使用海量的可用数据获得洞察力,作出重要的预测,如客户行为或者销售额预测。

定义

  在计算机科学中,机器学习指的是人工智能(AI)的一个分支,用于构建和分析可利用经验改善性能的系统。

机器学习技术涉及统计学和计算机科学。统计学使人们可以从给定的数据中作出推断,而计算机科学用于实现高效的算法,表现所需模型,评估模型性能。

此外,机器学习还涉及一些高级的统计学概念,如建模和优化。建模指的是为给定的样本数据指定条件或者概念分布,优化包含了用于找出给定数据集最合适参数的技术。

预备知识

 

了解有关机器学习应用的知识。

机器学习技术用于多个领域,如人工神经网络、数据挖掘、Web排名、数学函数逼近以及语音和面部识别。

实际上,大部分人都在不知不觉中使用机器学习。该技术最常见的应用是垃圾邮件识别。SpamAssassin是在机器学习技术的帮助下开发的。我们将在后面的章节中学习这一工具。

知识检测点1

 

1.描述机器学习技术在光学符号识别中的应用。

2.讨论机器学习在根据新闻报道是否与政治、体育和娱乐等相关对其进行分类中的应用。

1.1.1 数据挖掘与机器学习之间的差异

在大数据分析中,数据挖掘和机器学习是两种常用的技术。许多时候,初学者混淆了数据挖掘和机器学习。但是,数据挖掘和机器学习是两种不同的方法,应用于不同的目的。

让我们来了解一下数据挖掘与机器学习的差异。

数据挖掘是识别大量数据中的模式,从这些模式中提取有用信息的过程。它可能包含人工智能、机器学习、神经网络和统计学的技术。数据挖掘基于可能已经确定关系的现实数据。

相比之下,机器学习过程是开发人工智能的一种方法。机器学习算法用于开发新算法和技术,使机器自身能够从分析的数据或者经验中学习。

但是,机器学习和数据挖掘也有紧密的联系,因为机器学习也和在统计学和计算机程序帮助下从数据中自动提取信息有关。

SpamAssassin——机器学习的一个例子

垃圾邮件过滤是机器学习技术的常见应用。在机器学习技术出现之前,垃圾邮件过滤器就用于识别垃圾邮件了。这些过滤器使用人工开发的算法。它们没有能力从样本数据或者经验中学习。随着技术的改进,这些垃圾过滤器被证明效率低下,因为它们不能处理新的垃圾邮件类型。在这种情况下,机器学习可能很有用,因为使用机器学习的应用程序可以从分析后的数据中学习,悄悄地改进自己的性能。

机器学习技术提供了垃圾邮件识别的一种改进方法。SpamAssassin应用是在机器学习技术帮助下开发的,用于检测垃圾邮件。SpamAssassin能够从分析的样本数据和经验(也就是生成的电子邮件数据库)中学习。因此,和之前使用的垃圾邮件过滤器相比,它提供了更有效的垃圾邮件过滤方法。

定义

  SpanAssassin基于人工智能,执行不同类型的测试以识别垃圾邮件。这些测试使用了多种适用于电子邮件标题和内容的统计算法以识别垃圾邮件。SpamAssassin应用程序是用模块化方法开发的,因此,其他可用技术和人工开发的算法也可以集成到该应用。

在下一小节,我们讨论SpamAssassin的一些特征。

1.1.2 SpamAssassin特性

下面是SpamAssassin应用的共同特性。

  • 基于机器学习技术,所以性能随着经验而增长。
  • 适用于广泛的本地和网络电子邮件测试,以识别垃圾邮件。垃圾邮件制造者难以绕过这一应用。
  • 可以从互联网上下载,因此很容易访问。
  • 将使用的大部分代码保存在纯文本文件中。因此,增加新规则或者垃圾邮件测试很简单。
  • 包含一个应用编程接口(API),使广泛的电子邮件系统可以简单地使用该应用的内建类和函数。
  • 很容易配置。一旦定义了网站和用户特定的策略,用户不需要经常更新账户细节。

SpamAssassin的工作原理是计算入站电子邮件的权重(测试得分),生成每个邮件的总结报告。如果一封电子邮件的权重大于某个阈值,它被识别为垃圾邮件;如果权重小于或者等于阈值,则意味着这是一封有效的电子邮件。

我们以一个例子来理解SpamAssassin的工作方式。

考虑表1-1-1中的样本数据。

表1-1-1 SpamAssassin样本数据

邮件序列号

C 1测试( x 1

C 2测试( x 2

垃圾邮件触发因子

权重(4× x 1+4× x 2

1

1

1

1

8

2

0

0

0

0

3

1

0

0

4

4

0

1

0

4

表1-1-1包含了关于4封电子邮件的信息。对这些电子邮件进行了两种测试 C 1C 2。第1列显示电子邮件序列号,第2、3列显示 C 1C 2测试的结果。第4列表示电子邮件是否为垃圾邮件,1表示垃圾邮件,0表示合法邮件。第5列显示测试过的电子邮件权重。电子邮件的权重由如下公式计算:

权重=4×( C 1测试结果)+4×( C 2测试结果)

对于表中给定的数据,电子邮件权重的阈值为5。这意味着,任何权重大于5的邮件被视为垃圾邮件。

在表1-1-1中可以看到,第一个电子邮件未能通过 C 1C 2测试,每个测试的结果均为1。该邮件的权重可以用如下公式计算:

权重=4×( C 1测试结果)+4×( C 2测试结果)

在上式中代入 C 1C 2的值,可以得到如下表达式:

4×1+4×1=8

第一封电子邮件的权重为8,大于阈值5,所以该邮件为垃圾邮件。

在第二封电子邮件中, C 1C 2测试的结果为0。因此,它通过了两种测试。第二封电子邮件的权重可以计算为:

4×0+4×0=0

第二封电子邮件的权重为0,小于阈值,因此这是一封有效的电子邮件。

第三封电子邮件没有通过 C 1测试,但是通过了 C 2测试,两次测试的结果分别为1和0。第三封电子邮件的总权重可以计算为:

4×1+4×0=4

第三封电子邮件的权重为4,因此是有效的电子邮件。

第四封电子邮件通过 C 1测试,但是未能通过 C 2测试,测试的结果分别为0和1。第四封电子邮件的总权重可以计算为:

4×0+4×1=4

第四封电子邮件的权重为4,因此是有效的电子邮件。

这个例子的结论是,公式(4× x 1+4× x 2)>5可以用于分类垃圾电子邮件。

注意,电子邮件的权重用于分类垃圾和合法邮件。但是,这种简单的算术运算不足以分类有效或者合法邮件。在垃圾邮件检测中,SpamAssassin应用的精度随着样本数据的增加而提高。当这一应用用于测试大量样本电子邮件时,自动生成新的规则。自动生成规则的过程基于机器学习的概念。

总体情况

  在能源行业中,机器学习技术常用于预测负载需求。负载需求预测的结果可以与能源分配系统集成,作为附加约束,确保能源的顺畅供应。能源分配系统的性能随着分析的数据量增大而提高。通过添加惩罚项(即加上或者减去某个值,平衡偏差)以预防特定节点能源消耗的偏差,可以进一步提高系统的精度。除了监控负载需求之外,机器学习还用于预测隔日的产品价格。

 

知识检测点2

  下面哪一个SpamAssassin特性使得它很容易与其他应用一起使用?

a.基于机器学习技术

b.适用于广泛的本地和网络邮件测试,以识别垃圾邮件

c.包含API

d.很容易配置

1.2 机器学习的应用

我们已经学习了SpamAssassin的相关知识,以及它过滤垃圾邮件的方法。除了SpamAssassin之外,其他各个领域也使用了机器学习。下面列出其中一些领域:

  • 图像识别;
  • 语音识别;
  • 医疗诊断;
  • 统计套利;
  • 关联学习;
  • 分类;
  • 预测;
  • 提取;
  • 回归;
  • 概率。

下面逐个学习以上领域。

1.2.1 图像识别

机器学习最常见的用途之一是图像识别。在许多情况下,某个需要分类的对象是一个数字化图像。在这种情形下,测量值可以描述图像中每个像素的输出。

根据应用,图像的测量值可以不同的方法使用。

  • 在黑白图像中,每个像素的饱和度作为一个测量值。所以,如果黑白图像有 N× N个像素,像素的总数(即测量值数量)为 N 2
  • 在彩色图像中,每个像素可以提供3个测量值,对应于主要颜色成分——RGB(红、绿和蓝色值)的饱和度。因此,对于 N× N个像素的图像,测量值有3 N 2个。

面部检测或者识别是常见的实用应用。在这种情况下,分类可能是存在或者不存在面部图案,或者将数据库中的每个人作为一个单独的分类。

另一个应用是字符识别。在这种情况下,可以将一段笔迹分为较小的图像,每个包含单一字符,分类可能由26个英文字母(如果区分大小写,则为52个)、10个数字以及某些特殊字符(如句号、问号、逗号、引号等)组成。

总体情况

  光学字符识别(OCR)是机器学习技术的应用之一。它指的是将打字或者印刷的字符转换为计算机可读的形式。OCR用于护照档案、银行、邮件和商业报告的原始数据源中的数据项。

在另一种应用中,图像可能是工业元件,分类的任务是确定当前零件是否有缺陷。

总体情况

  未来,面部识别可能代替用户ID和密码的登录机制,用于登录Facebook、Twitter和Gmail。去年,曼彻斯特大学的一些研究人员致力于一个使用面部识别技术的安全应用程序。这个应用程序无法通过虚假面部表情的照片绕过。许多商业机构对在自己的产品和服务中加入该应用很感兴趣。

1.2.2 语音识别

在语音识别中,软件应用程序识别读出的单词。这种应用程序中的测量值可能是一组表示语音信号的数值。

首先,信号通常分为包含不同单词或者音素的“段”。在每一个分段中,语音信号可以多种方式表示。例如,信号可以由不同时间—频率带的强度或者能量表示。语音信号表示的细节超出了本计划的范围,但是,这些信号最终由一组实数值表示。在最简单的情况下,分类仅仅是确定所表达的是“对”或者“错”。稍微复杂一点的任务可能是确定表达的是10个数字中的哪一个。也可能从一个大的可接受词典中为每个单词建立一个类别,分类任务是确定语音信号表达的是这些单词中的哪一个。

总体情况

  有些国家(如法国、美国、英国)在其高性能飞机上使用语音识别技术。在战斗机上,语音识别成功地应用于各个程序,如设置无线电频率、向自动驾驶仪提供命令、指定飞机的转向点和决定武器发射参数以及显示器的控制。

1.2.3 医疗诊断

在医疗诊断中,主要的兴趣是在精确识别之后确定某种疾病是否存在。在考虑之中的每种疾病是一个单独的分类,没有罹患任何疾病也是一个单独的分类。在这种情况下,机器学习可以通过分析患者数据改善医疗诊断的精度。

这一应用中的测量值通常是某种医学测试的结果(如血压、体温和各种血液检验)、各种症状的出现/未出现/显著程度以及患者的基本信息(年龄、性别、体重等)。在这些测量结果的基础上,医生确定影响该患者的疾病。

1.2.4 统计套利

在金融业中,统计套利指的是一般为短期、涉及大量证券的自动化交易策略。在这种策略中,人们试图根据多种证券的历史相关性、最近一段时间的价格变动和常规经济/金融变量,为一组证券设计交易算法。上述数量可以视为“观测值”,预测可以转化为分类或者估算问题。以分类为例,每种证券的类别可以是“买入”、“卖出”或者“不操作”。在这种情况下,人们通常需要使用预期回报的估算作出交易决策(买入、卖出等)。

1.2.5 关联学习

关联学习是拓展对产品之间各种联系的认识的过程。一个很好的例子是,经过对客户购买行为的分析,看上去毫不相干的产品可能展现出某种相互关联。我们用一个零售业的例子加以说明。

机器学习的应用之一往往是研究人们购买的产品之间的关联,这也被称为市场篮子分析。如果买家购买了“X”,他(或她)是否会只因为两者之间确定的关系而购买“Y”?这引出了存在于鱼和炸薯条、面包和奶油、面包和鸡蛋等之间的一类关系。这些趋势和关系是已经确定的。由于市场上投入了新产品和人们的试验,还将发展出新的关系。了解这些关系有助于为较有可能购买的客户作出相关产品的建议,还有助于捆绑产品,开发出更好的套餐。这种由机器进行的产品间关系学习被称作关联学习。

一旦通过研究大量销售数据找出某种关联,大数据分析师可以开发一个规则,衍生出一个概率检验,学习某种条件概率。例如,我们使用以下公式:

p( d/ h)

公式中的 p是概率, d是根据 h调整的产品, h是客户已经购买的一个或者一组产品。假设这一关系取值为0.7或者70%。现在,我们以面包和鸡蛋为例。

我们很容易说,在购买面包的客户中,有70%也需要鸡蛋。对于这个公式,如果添加另一个值 x,表示一组客户属性,如年龄、性别和婚姻状况,可以得到公式 p( d/ h, x)。

我们可以利用这种信息,针对客户提供合适的产品,获得更高的销售额以及更好的客户服务。

1.2.6 分类

分类是根据个体特性(标识为自变量),将所研究群体中的每个个体纳入一组指定类别中的过程。分类帮助分析师使用对象的观测值确定所属类别。为了确定高效的规则,分析师使用包含许多对象示例及其正确分类的数据。

为了理解分类,我们举一个银行对客户进行分类的例子。

在银行决定发放一笔贷款之前,它根据客户偿还贷款的能力对其进行评估。这是通过考虑客户收入、年龄、存款、抵押物、职业和财务历史等因素进行的。这些信息取自贷款人过去的数据,用于创建客户属性和关联风险之间的关系。然后,客户被分类为低风险或者高风险候选人。

将元素分类为不同类别的过程称为分类问题。关于客户的数据组成了必要的输入,而分类程序的任务是为输入指定一个类,然后生成输出。下面是一个简单的分类规则。

如果年龄> x且收入> y,则为低风险,否则为高风险。

xy的值从过去数据中提取。这些值成为判别式。

1.2.7 预测

正如前一小节所讨论的,分类规则帮助银行识别低风险客户。因为这些客户更可能按时偿还贷款,他们是贷款的理想候选人。在某种情况下,商业机构进一步创建相关风险的概率。

我们用上面的例子得出概率。

这个例子可以用如下概率形式表达:

p( x/ y)

其中:

  • p是概率;
  • x是客户属性;
  • y是低风险或者高风险客户。

从这条规则中可以理解,该分类也是一种关联学习,因为它展示了 xy之间的关联。在多次调查基础上观察到,相比年龄小于40岁的低收入人群,40岁以上的高收入人群是更可靠的客户。对于给定的数据集,假定 p值为0.8,在这个例子中,可以说客户有80%的可能性是高风险的,20%的可能性是低风险的。这一信息可用作银行提供贷款的基础。

根据年龄和收入的高风险和低风险客户图形表现形式如图1-1-1所示。

图1-1-1 客户分类

1.2.8 提取

预备知识

 

了解机器学习执行的关键任务。

信息提取(IE,或简称提取)是机器学习的应用之一。它是自动地从非结构化数据(如网页、文章、博客、商业报告和电子邮件等)中提取结构化信息的过程。IE产生的输出通常在关系数据库中维护。提取过程以一组文档为输入,生成结构化数据。这一输出采用摘要形式,如Excel工作表和关系数据库中的表。

1.2.9 回归

读者也可以在回归中应用机器学习。

假定 x= x 1, x 2, x 3, …, x n是输入变量, y是结果变量。在这种情况下,机器学习技术可用于根据输入变量( x)生成输出( y)。

为此,可以使用一个模型表达各个参数之间的关系:

y= g( x)

其中, y是一个函数,取决于模型的具体特性。在回归中,机器学习的原理用于优化参数,最小化逼近误差,计算最接近的结果。

机器学习的另一个应用是在函数需要优化的时候,假定我们想要制造一台烘焙咖啡的机器。输入是影响咖啡质量的不同设置,如温度、咖啡豆类型、糖的数量和牛奶的质量。我们可以在这些输入的一系列不同设置下获得观测值,以计量咖啡的质量。为了找到所需的设置,拟合一个回归模型,将这些输入与咖啡联系起来。在这种情况下,我们可以选择修改输入以得到更好的模型,于是将得到一个新的改进模型。这一过程被称作响应面设计。

1.2.10 概率

在大部分应用中,对象的分类不是由特征向量的值唯一决定的。这有一些根本的原因。首先,尽管测得特征捕捉到对分类重要的所有对象属性是很好的事情,但是通常的情况不是这样的。测得的特征可能无法捕捉一些重要细节。例如,仅凭家庭成员的人数可能不足以解释客户的花费。

其次,根据应用和特定的观测值,特征值可能充满噪声。也就是说,观测到的特征值可能有某种内在的不确定性或者随机性,以至于相同的对象也可能在不同场合得出不同的值。例如,可以考虑人的年龄,因为有时候花费与年龄直接相关,有时候则是逆相关的。

因此,使用概率工具精确地表达问题并找出解决方案是很有益的。

我们已经学习了机器学习的多种应用。但是,机器学习可以根据机器或者模型学习的方式分为不同类型。下面我们将讨论机器学习的3种常见方法。

知识检测点3

 

考虑如下概率公式:

p( n/ t)

其中, t表示一个购物中心内的人数, n表示愿意购买购物中心中某些商品的人数。

现在,如果我们取 p值60,它意味着:

a.60%的客户将购买购物中心中的某些商品

b.40%的客户将购买购物中心中的任何商品

c.40%的客户将购买购物中心中的某些商品

d.客户将不会购买购物中心中的任何商品

1.3 机器学习的类型

为识别模式而设计的机器学习算法适用于广泛的问题。这种能力是人工智能的重要特征。

但是,人们可能会问:为什么我们必须设计学习好的分类规则的自动化方法,而不是找出给定应用的合适规则并加以实现?主要的原因是,在许多应用中,找出合适规则的唯一途径是使用数据创建规则。

例如,很难准确描述图像中的哪些特征组成了一张面孔,因此也就很难提出确定每个可能实例是否包含人脸的分类规则。但是,给定一个好的学习算法,我们可以向算法提供许多人脸图像的示例和许多不包含人脸的图像的示例,然后让该算法提出一个确定是否有人脸存在的好规则。

根据使用的学习策略,机器学习可以分为不同的类型,常见的3种类型是:

  • 有监督学习;
  • 无监督学习;
  • 强化学习。

下面我们逐个了解这些类型。

1.3.1 有监督学习

有监督学习这一术语来自于这样的事实:我们有权访问的示例已经由一位监督者或者教师给出了合适的标签。这种学习方法与无监督学习相反,后者中的许多对象示例所属的分类是未知的。在统计学、计算机科学和其他领域,还有其他机器学习问题的规划方法(如半监督学习和强化学习等)和其他相关问题。

1.3.2 无监督学习

在无监督学习中,学习的方法是通过检测输入数据中的规律,根据这些规律开发模式。

规律性是通过对重复出现的模式进行观察而得到的。较为频繁出现的模式用于做出预测。这种方法也称为密度估算方法。

密度估算可以采用多种方法,聚类是其中之一。聚类用于识别输入数据中的簇或组。

我们举一个例子,以便更好地理解这个概念。

一家食品制造公司拥有客户的人口统计学和购买数据。该公司希望对客户资料进行分类,识别频繁的购买者,以便识别和针对潜在客户。

在这个例子中,可以使用聚类分类客户资料,例如根据年龄或者收入对客户进行分组。对数据应用无监督机器学习,识别可以进一步将客户分为不同组的有用模式。该公司可以根据类似的属性对客户资料进行分组,这一过程也称作客户细分。此外,该公司可以对不同客户分组规划不同的策略,这一常见活动称作客户关系管理。

通过聚类进行无监督学习的另一个例子是图像压缩。在图像压缩中,输入的像素以RGB值的形式表示。可以对输入像素应用一个聚类程序,按照相同的颜色为像素分组。如果图像包含同一颜色的不同色调,聚类程序可以为不同色调指定单一颜色。但是,如果图像包含许多颜色,聚类程序会生成不同颜色的多个分组。

1.3.3 强化学习

考虑机器人导航的问题。机器人可以非常精确地行动,以执行某项任务。但是,机器人必须通过重复测试学习这些行动的执行。它应用从这些测试中获得的知识,改善效率。这是强化学习的基础。

在机器人导航和许多其他类似系统(如自动驾驶汽车和自动传感器门)中,输出不限于单一动作,而是可能包含一系列动作。在这种情况下,必须使用一种方法,定义系统输出的动作序列。通常,在依赖多个动作的系统中,单一动作可能不够——但是,如果作为高效方法的一部分,这个动作就足够好了。在机器人导航的例子中,机器人试图通过多次尝试识别某个物体。通过分析尝试的结果输出,它可以增进识别物体的效率。确定自身位置、分析物体尺寸以及分析物体表面,都是找出物体的高效方法中的“好”动作。

在这些情况下,机器学习方法应该可以找出方法中的精华,相应地从中学习。由于学习是由某种方法实施的,这类学习被称为强化学习。

技术材料

  如果系统的信息不足或者不可靠,或者传感器不能提供精确的信息,强化学习可能无法产生预期的结果。

强化学习提供极大帮助的另一个例子是建造可以学习某种游戏(如象棋)的机器。在这种情况下,我们无法采用有监督方法,原因有二。首先,整合所有可能的下法代价过高而无法实现;其次,对下一步的最好走法,难以提出内置的解决方案。没有所谓的最好下法,因为好的下法完全取决于之前的下法。而且,游戏是依靠一系列下法获胜的,而不是单独的一步。

总体情况

  由MGI和麦肯锡商业技术办公室进行的研究表明,最大限度地利用大数据极有可能成为个体企业在成功与增长、强化消费者盈余、生产增长和创新方面的关键竞争基础。

机器学习可用于油气行业,对输送系统中的故障管道进行非破坏性识别、评估和量化。为了识别管道中的缺陷,通常使用神经网络和概率树。输送系统从分析的数据中学习,预测缺陷的规模和管道的深度。以此信息为基础,该系统可以快速确定缺陷的严重性,以便采取必要的措施。

知识检测点4

  假设你是一家软件开发公司的项目经理,指派给你的任务是开发一个能从分析的数据中学习的应用程序。如果这个应用程序的输出取决于一序列动作,你将使用下列哪一种机器学习技术?

a.强化学习

b.有监督学习

c.无监督学习

d.半监督学习

1.4 机器学习方法  

如你所知,机器学习与能从程序中学习的程序相关。这意味着,使用机器学习技术,程序可以根据一组任务随时改进其性能。机器学习有多种方法,这里将解释一些常用的机器学习方法。

1.4.1 决策树学习

决策树学习是使用决策树作为预测模型的学习技术。在可用数据基础上,这种模型预测目标变量的值。此类学习通常用于数据挖掘和机器学习领域。这些树形模型也被称为回归树或者分类树。决策树还可以为决策问题提供图形或者暗示性的表现形式。

1.4.2 关联规则学习

关联规则学习用于识别大量数据中变量之间存在的关系。这种规则通常应用于销售数据,以找出不同商品销售量的关联。

这种规则预测,如果某个客户购买了商品X,该客户最有可能也购买商品Y。

让我们在如下例子的帮助下,理解这种关联规则学习。

假定,如果客户购买了面包,最后可能也购买奶油。这条规则可以写作:

A=LHS(购买面包)→B=RHS(购买奶油)

在上述表达式中,LHS(左侧)称作前提,RHS(右侧)称作结果,箭头用于表达LHS与RHS的关系。

技术材料

  神经网络是基于神经元架构的计算模型。神经网络由相连接的输入和输出层组成,每一层都包含许多单元,各层中的单元之间的连接有与之关联的权值。

1.4.3 人工神经网络

人工神经网络(ANN)是一种计算密集型方法,用于在很大、包含许多解释变量的数据集中寻找模式。在这种场合下,标准方法(如多重回归)不现实。

神经网络的关键特征是它们包含一个隐含层:隐含层中的每个节点从每个输入中接收信息,加总输入,加上一个常数(偏差),然后用一个固定函数转换结果。当输出是连续变量时,神经网络可以像多重回归那样运行;当输出为分类变量时,则类似分类。

1.4.4 归纳逻辑编程

在归纳技术中,用一个训练阶段(归纳阶段)开发模型,该模型汇总变量之间的关联,然后应用于新数据,从中演绎出分类或者预测。

在归纳技术中,分类和预测以如下3个或者4个步骤执行。

(1)培训步骤在分类已知的个体样本示例上进行,这个样本从需要建模的群体中随机提取。

(2)测试步骤检查从训练样本或者另一个分类已知、从与训练样本相同的群体中随机提取的个体样本中得出的模型。这一步使数据分析人员可以选择训练步骤中创建的最适宜模型,同时避免了在用于训练的同一个样本上进行测试所导致的乐观偏差。

(3)在分类未知的第3个样本上进行可选的验证步骤,以计量前两个步骤选定的最适宜模型的性能。这一步的目的是预测应用模型时得到的结果质量。

(4)在应用步骤中,对模型对应的整个群体应用结果模型。

1.4.5 支持向量机

支持向量机(SVM)包括另一组分类方法,它们涵盖了线性和非线性分类程序。假定你想要将二维的训练数据分为两组,可用的信息可以通过两个属性的散点图展示,绘图的位置可以用区分两个分类的两个不同标签或者颜色表示。

1.4.6 聚类

聚类是一种数据分段技术。它根据相似性将巨大的数据集分为不同组。相似的数据项组合为同一个簇。聚集到不同簇的数据项相互之间不相似。企业使用聚类技术进行市场研究,根据相似的模式(例如相似的购买模式)将市场分为截然不同的客户组。

1.4.7 贝叶斯网络

贝叶斯定理是概率理论最重要的成果之一。它考虑了事件 AB的概率反转,将给定 B情况下 A的概率与给定 A情况下 B的概率关联起来:

p( A/ B) = p( B/ Ap( A) / p( B)

通过贝叶斯定理,可以构造一个有向非循环图,将因变量与(离散)自变量关联起来,这个图称为贝叶斯网络。

这样的网络表示变量之间的依赖性,其中变量 A和变量 B之间的箭头(我们称 AB的父变量)表示条件概率。

p( B/ A) 不同于 p( B), B取决于 A

贝叶斯网络也是由一组条件概率定义的。因此,它包含两个元素:一个定性元素,表示依赖性;一个定量元素,是这些依赖性的计量。

1.4.8 强化学习

强化学习指的是识别特殊情况下的行为,以了解如何最大化系统输出。它基于反复尝试的方法。在强化学习中,学习过程发现的是学习问题,而不是学习方法。强化学习的基本思路是识别问题中最为特殊的特性并采取合适的措施。完整的强化学习过程可以分为3种类型:

  • 问题感知;
  • 采取合适的行动;
  • 行动的目标。

1.4.9 表示学习

在应用机器学习方法时,数据的表示是影响机器学习方法性能的关键因素之一。为了更好地表示数据,可使用表示学习算法。表示学习算法的目标是保存输入信息,并将其转化为更实用的形式。通过表示学习算法进行信息转化之后,应用统计分析方法重构来自未知分布来源的输入数据。

1.4.10 相似性和度量学习

在相似性和度量学习方法中,学习机器将确定一对对象是类似对象或者较不相似的对象。在这一过程中,该系统学习一个相似性函数,可用于预测新对象的相似性或者不相似性。

1.4.11 稀疏字典学习

稀疏字典学习基于使用偏差函数线性组合的数据表示,假设系数很小。

假定 X表示 d维数组, D是一个 d× r矩阵。在矩阵 D中,每列用于表示一个偏差函数。一个小的系数 r用于表示矩阵 D中的“ X”。从数学上说,稀疏矩阵学习可以用如下公式给出:

X D× r

稀疏字典学习可用于不同领域。在分类问题中,它可用于为每个可用类构建一个字典,确定分析后数据的分类。类与最能正确地表示它的分析后数据相关联。

1.5 机器学习算法列表

下面是常用的机器学习算法的一个列表。

有监督学习

  • AODE:平均单依赖估计
  • 人工神经网络
    • 反向传播
    • 自动编码器
    • Hopfield网络
    • Boltzmann机器
    • 受限Boltzmann机器
    • 脉冲神经网络
  • 贝叶斯统计
    • 朴素贝叶斯分类器
    • 贝叶斯网络
    • 贝叶斯知识库
  • 基于情况的推理
  • 决策树
  • 归纳逻辑编程
  • 高斯过程回归
  • 基尼表达式编程
  • 数据组合处理方法(GMDH)
  • 学习自动机
  • 学习向量量化
  • 逻辑模型树
  • 最小消息长度(决策树、决策图等)
  • 惰性学习
  • 基于实例的学习
    • 最近邻算法
    • 类比建模
  • 可能近似正确(PAC)学习
  • 涟波下降规则,一种知识获取方法
  • 符号机器学习算法
  • 子符号机器学习算法
  • 支持向量机
  • 随机森林
  • 分类器集成
    • 拔靴聚合(Bagging)
    • Boosting(元算法)
    • 常规分类
    • 回归分析
    • 信息模糊网络(IFN)
    • 条件随机域

统计分类

  • ANOVA
  • 线性分类器
    • Fisher线性判别式
    • 逻辑回归
    • 多项式逻辑回归
    • 朴素贝叶斯分类器
    • 感知机
    • 支持向量机
  • 二次分类器
  • k-最近邻
  • Boosting
  • 决策树
    • C4.5
    • 随机森林
  • 贝叶斯网络
  • 隐马尔科夫模型
  • 无监督学习
  • 人工神经网络
  • 数据聚类
  • 期望最大化算法
  • 自组织映射
  • 径向基函数网络
  • 向量量化
  • 生成拓扑映射
  • 信息瓶颈方法
  • IBSEAD

关联规则学习

  • Apriori算法
  • Eclat算法
  • 频繁模式(FP)增长算法

层次化聚类

  • 单链接聚类
  • 概念聚类

分割式聚类

  • K均值算法
  • 模糊聚类
  • 具有噪声的基于密度聚类(DBSCAN)

强化学习

  • 时间差分学习
  • Q-学习
  • 学习自动机
  • 蒙特卡洛方法
  • 状态-动作-回报-状态-动作(SARSA)

深度学习

  • 深度信念网络
  • 深度Boltzmann机器
  • 深度卷积神经网络
  • 深度循环神经网络

其他

  • 数据预处理

 多项选择题

选择正确的答案。在下面给出的“标注你的答案”里将正确答案涂黑。

1.  垃圾过滤应用的输入是什么?

a.电子邮件

b.字符

c.数值

d.字符串

2.  在稀疏字典学习技术中, X代表 d维数据, D是一个 d× r矩阵, r是从矩阵 D的角度表示 X的系数。为了表示稀疏字典学习,你将使用如下哪一个数学公式?

a. X D/ r          

b. X Dr

c. Xr/ D          

d. X D× r

3.  下列哪一种机器学习应用基于市场篮子分析?

a.分类            

b.医疗诊断

c.关联学习          

d.回归

4.  假定某幅图像有 N× N个像素,以RGB颜色表示。将其展开为RGB颜色,需要多少个像素?

a. N 2              

b.3 N 2

c.6 N              

d.2 N 3

5.  考虑如下公式:

如果年龄> x且收入> y,则为低风险,否则为高风险

在上述公式中, xy称为什么?

a.判别因子          

b.抵押品

c.等式            

d.概率

6.  机器从样本数据中学习的过程称为:

a.有监督学习          

b.无监督学习

c.强化学习          

d.从经验中学习

7.  下面哪一种情况下使用回归的概念?

a.不必要的功能          

b.二手车价格预测

c.文本识别          

d.语音数据挖掘

8.  下面哪一个领域中常常应用聚类的概念?

a.食品及卫生          

b.音响工程

c.图像压缩          

d.内存利用

9.  设计一个下象棋的算法通常是哪一类机器学习的例子?

a.强化学习          

b.模式密度

c.有监督学习          

d.聚类

10.  聚类可以提供对如下哪一个领域的洞察力?

a.医疗诊断            

b.客户细分

c.共享市场分析            

d.负载预测

标注你的答案(把正确答案涂黑)

 测试你的能力

1.考虑下表:

序列号

C 1测试

C 2测试

C 3测试

1

0

1

0

2

0

0

1

3

1

1

0

4

1

1

1

5

0

0

0

6

1

0

1

7

0

1

0

8

0

0

1

上表展示了一组SpamAssassin分析的电子邮件数据。该表包含关于8封电子邮件的信息。对这些邮件进行了3种测试: C 1C 2C 3,结果分别显示在第2、3、4列。

电子邮件的权重由如下公式计算:

权重=3×( C 1测试结果)+2×( C 2测试结果)+4×( C 3测试结果)

垃圾邮件阈值为4。

以给定的信息为基础,检查每封电子邮件的有效性,将其分类为垃圾邮件或者有效邮件。

2.假设你正在开发一个视频游戏,该游戏应该能从经验中学习。你将使用哪一种机器学习技术?为什么?

3.用社会化媒体文本数据检测产品的反馈和情绪,使用哪些算法?

  • 机器学习是人工智能的一个分支,用于开发能从以前的经验中学习从而自动改善其性能的计算机程序。
    • 机器学习是从数据和过去的经验中学习的过程。E.Alpaydin将机器学习定义为“用示例数据和过去的经验优化性能标准”。
    • 机器学习技术用于多个领域,如人工神经网络、数据挖掘、Web排名、数学函数逼近和语音及面部模式识别。
    • 机器学习技术提供了识别垃圾邮件的一种新方法。SpamAssassin应用是在机器学习技术的帮助下开发的,用于识别垃圾邮件。

SpamAssassin能够从分析的样本数据和经验中学习。因此,它比以前的邮件过滤应用更有效。

  • SpamAssassin的常见特征如下:

    • 基于机器学习;
    • 可以执行广泛的测试;
    • 非常容易定制;
    • 可用于不同的电子邮件系统;
    • 很容易配置。
  • 机器学习在不同领域有许多应用。下面是机器学习的一些重要应用:

    • 图像识别;                
    • 语音识别;
    • 关联学习;                
    • 医疗诊断;
    • 统计套利;                
    • 分类;
    • 预测;                
    • 提取;
    • 回归;                
    • 概率。
  • 机器学习可根据学习策略分为不同类型,常见的3种类型如下:

    • 有监督学习;
    • 无监督学习;
    • 强化学习。
  • 机器学习有不同的方法,常用的机器学习方法如下:

    • 决策树学习;              
    • 关联规则学习;
    • 人工神经网络;
    • 归纳逻辑编程;
    • 支持向量机;              
    • 聚类;
    • 贝叶斯网络;              
    • 强化学习;
    • 表示学习;                
    • 相似性和度量学习;
    • 稀疏字典学习。

相关 [理解 机器学习 技术] 推荐:

[译] 理解机器学习技术

- - IT瘾-dev
第1讲 理解机器学习技术. 学完本模块的内容,读者将能够:. 讨论机器学习的技术和商业应用. 学完本讲的内容,读者将能够:. 解释各类机器学习方法和算法. “机器学习领域的突破,其价值10倍于微软. 你是否曾经为计算机能够下象棋或者机器人能够完成复杂任务而感到惊奇. 一旦你理解了机器如何学习和适应各种问题、提供合适的解决方案时,这些看上去很复杂的问题实际上相当简单.

将搜索引擎的机器学习技术用于风控,氪信希望指数级提高金融模型的训练效率

- - 36氪
氪信的创始人朱明杰之前是搜索引擎的数据工程师,现在他把技术应用在了金融风控上,近期获得了真格基金700万人民币的天使投资. 氪信的产品包括非或然引擎(下文简称“引擎”)和XCloud两部分,“引擎”是一套数据模型处理系统,解决的是不同场景下的风控模型校正问题. 以物流行业为例,通过输入企业ERP数据、位置信息数据等场景内数据,以机器学习的技术调整各数据维度的权重,从而建立针对场景的风控模型.

机器学习五步走

- - 我爱机器学习
经常会有人问“我该如何在机器学习方面更进一步,我不知道我接下来要学什么了. 一般我都会给出继续钻研教科书的答案. 每当这时候我都会收到一种大惑不解的表情. 但是进步确实就是持续的练习,保持较强的求知欲,并尽你可能的完成具有挑战性的工作. 因为他是为数不多的几种可以让你真真让你获取坚实知识的媒介. 是的,你可以选择选一门课,注册MOOC,参加一些讨论班.

机器学习之路

- - 我爱机器学习
自从答应简二毛博士将自己的机器学习历程和心得分享给大家至今,转眼间半年已经过去了,感谢简博士分享和开源精神的鼓舞,这也正是本系列关于机器学习介绍博客的动力来源. 之前有些网友,师弟们问我,学习机器学习怎么入手,从看什么书开始. 如果你只愿意看一本书,那么推荐Bishop的PRML,全名Pattern Recognition and Machine Learning. 这本书是机器学习的圣经之作,尤其对于贝叶斯方法,介绍非常完善.

Mahout实现的机器学习算法

- - ITeye博客
使用命令:mahout -h.   在Mahout实现的机器学习算法见下表:. EM聚类(期望最大化聚类). 并行FP Growth算法. 并行化了Watchmaker框架. 非Map-Reduce算法. 扩展了java的Collections类. Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的数据量和处理性能.

国内的机器学习几个人

- - 丕子
转: http://blog.csdn.net/playoffs/article/details/7588597. 推荐几个机器学习和数据挖掘领域相关的中国大牛:. 李航:http://research.microsoft.com/en-us/people/hangli/,是MSRA Web Search and Mining Group高级研究员和主管,主要研究领域是信息检索,自然语言处理和统计学习.

Apache Mahout 0.8 发布,机器学习库

- - 开源中国社区最新新闻
Apache Mahout 0.8 发布了,Apache Mahout 是 Apache Software Foundation (ASF) 开发的一个全新的开源项目,其主要目标是创建一些可伸缩的机器学习算法,供开发人员在 Apache 在许可下免费使用. 该项目已经发展到了它的最二个年头,目前只有一个公共发行版.

Ruby的机器学习项目

- - 阳志平的网志-技术类
作者是辉瑞公司的小牛,可惜烂尾了. 我在改啊改啊,可惜现在是商业项目,暂时不能放出改掉的部分. 对了,顺便做个小广告,去年组织翻译的一本小书:社会网络分析:方法与实践. 已经上市了,感兴趣的可以翻翻:. 社会网络分析:探索关系背后的科学与技术. treat:自然语言处理. 类似于igraph,也是桥接处理nlp.

机器学习该如何入门

- - CSDN博客综合推荐文章
  对于这个问题的解释,说实话我很有压力,因为在分享篇文章之前就有朋友告诉我,这个百度上一搜一大片,还需要你讲吗. 正如同一千个读者眼里有一千个林黛玉一样,我解释的当然是我个人自从读研到工作这么多年对机器学习的学习到应用过程的独特见解.   首先我们看下图了解一下机器学习在AI(Artificial Intelligence 人工智能)领域的地位.

Mllib机器学习工具包在Hadoop上的使用

- 小丑鱼 - 搜索技术博客-淘宝
         Hadoop是基于Java的数据计算平台,在我们公司得到了广泛应用. 同样mllib也是我们算法组同学经常使用的一个机器学习工具包. 但目前mllib工具包只提供了供C++程序调用的so链接库,没有可供java程序调用的jar包. 由于这个需求有一定的普遍性,笔者将mllib做了进一步封装,并通过jni的方式把其封装成了可供java程序调用的接口.