PDF 物理页索引 500
文件中的第 501 页 · 印刷页码:未识别
然而我们都是第一次生而为人,只要对这个世界仍然保持着好奇心,总会去尝试无数个缺乏经验的第一次。第一次失败了并不可怕,重要的是你从这次的失败中学到了什么。及时总结,在一次次的试错中,也就是从经验中,我们学习了万事万物的规律。操千曲而后晓声,观千剑而后识器。以后再遇到相似的问题,我们就能妥善地处理了;碰到新的问题,我们也能根据习得的规律从容地做出比较准确的判断了。
人工智能各种能力的形成也是这个过程。我们从经验出发,得到处理事情的方法论;人工智能从数据出发,得到预知未来的模型。经过对数据的多次学习,人工智能就像一个身经百战的智能人,如果再有新的数据输入,人工智能也可以独立做出准确的判断,以及合理的预测。对于人工智能来说,产生模型的方法论就是机器学习,下面我们来仔细讲解一下。
机器学习的分类
我们获取知识的途径有两种,一种是通过他人的传递,例如我们遇到不会的问题时去请教老师或同学;另一种是在没有接受指导的情况下自学获得的。类似地,机器学习也有两种:监督学习和无监督学习。
监督学习是从标记的数据来学习模型的任务,每个标记的数据都是由一个输入数据(也就是通常所说的x)和一个期望的输出数据(也就是通常所说的标记y)组成。无监督学习处理的则是没有标记的数据。监督学习适合有明确预测目标的应用场景,即y可以被明确地定义和量化。而无监督学习通常适用于无法预先知道输出值的场景,只能对现有输入向量进行观察分析,它可以从数据中发现具有相似输入向量的结构,这些结构统称为簇(cluster)。
PDF 物理页索引 501
文件中的第 502 页 · 印刷页码:未识别
机器学习问题根据输出的数据来分,也有两类。一类是离散输出,通常用来表示个体的类别,比如把人分为两类,男人和女人;把客户分两类,高价值客户、低价值客户。数学中的离散是和连续相对的,所以另一类就是连续输出。连续输出的数据是指那些在一定区间内可以任意取值的数据,其数值是连续不断的,相邻的两个数据之间可以做无限的分割。比如说两趟地铁之间的间隔是10分钟,一个乘客在地铁站等地铁的时间是一个随机变量,取值范围可以是从0到10这个区间内的任意实数。所以连续输出有很大的应用空间,比如要预测公司的收入、客户的价值、生产流程的能耗、生产系统输出的气体浓度等,这些都需要用连续数字来表示,就都需要连续的输出。
监督类型分为通过监督学习和无监督学习,是机器学习问题分类的一种依据;输出分为离散型和连续型,是机器学习问题分类的另一种依据。将以上四类排列组合,就形成了四种不同类型的机器学习问题,如表4-1,分别是:
如果通过监督学习,得到离散输出,就是分类问题。
如果通过无监督学习,得到离散输出,就是聚类问题。
如果通过监督学习,得到连续输出,就是回归问题。
如果通过无监督学习,得到连续输出,就是降维问题。
表4–1 机器学习问题的类型
PDF 物理页索引 502
文件中的第 503 页 · 印刷页码:未识别
这四类问题是机器学习的基本问题,深入理解了这四类问题,我们就能对机器学习有一个完整的把握。无论在哪一类问题中,机器学习的目标都是根据新的输入,做出预测。理解清楚了这四类问题的框架,我们就能深入体会到人工智能解决实际问题的思路。下面我会深入分析两类问题——聚类问题和分类问题,它们也是机器学习中最常使用的两类。
聚类问题
《战国策》有云:“物以类聚,人以群分。”在日常生活中,有各种事物需要聚类,连人也在无形之中有聚类。而在人工智能领域,聚类问题对应的是无监督学习、离散输出的机器学习,也就是要通过机器学习将一些没有标记过的数据归为一类。数据的维度越来越多,聚类的目标是找到这些数据中具有某些相似特征的簇,找到每个个体的输入数据和簇之间的归属关系。也就是说,聚类中,我们需要按照一定的模型,把所关心的个体归并到一些簇里。
PDF 物理页索引 503
文件中的第 504 页 · 印刷页码:未识别
这个世界日新月异,每时每刻都有新的事情发生,新闻记者在事件发生的第一现场为我们传递新闻。但是很多时候我们并不能了解到新闻的全貌,因为它散落在各大新闻报刊以及新闻网站的各个角落。聚类的出现就能够让零散的新闻聚集起来,帮助我们了解新闻的来龙去脉。通过聚类,我们可以有效地将那些相同主题的新闻聚集在一起,形成簇状的结构,我们再进行浏览时就会更加全面、准确。
在商业实践中,聚类对于发现一些特定的人群结构非常有用。就比如PayPal面对的是全球范围内的几亿用户,它可以通过聚类对这些用户成百上千的维度进行详细的分析,从中得到百余个簇。每个簇对应属性和行为比较接近的一类用户,不同簇之间的差异化程度比较大。例如,一个簇对应了年轻的母亲,一个簇对应了中年艺术家,一个簇对应了软件专业人士,等等。理解了人群的不同特点和诉求后,公司才可以针对性地定位、开发、推广产品。另外,聚类中有时会发现一些未曾关注却占比显著的簇,那么整个品牌的定位都会被聚类的结果和发现影响。PayPal建立的这一套聚类体系帮助公司更好地了解用户和市场的需求,为他们提供了更加贴心的服务,由此可见,聚类体系是可以为商业带来价值的。
常见的聚类方法有:K-均值聚类、EM聚类、合成聚类、Mean-shift聚类、频谱聚类。这些方法根据不同的数学原理来做聚类。方法不同,结果不同,但大的目标都是一致的,都是为了发现并输出数据中的簇。簇的标志性特征是内部差异化较小,而簇与簇之间的差异比较大,这也是聚类方法的基本原理。
下面我们来说明一下聚类。如图4-1所示,左边是原始的数据,用三种深浅不同的点来表示有三个簇。K-均值聚类和EM聚类的结果分别在中间和右边的图上。因为聚类是无监督学习,没有方法能够完全还原原始的簇,但是合适的聚类方法还是能够发现数据内在的结构。各行各业都会产生数据,所以不论是在商业领域,还是在生物学、医学、天文学等科学领域里,聚类都有它的用武之地,都能够帮助各领域的专业人员发现新的知识。聚类就像一个数据显微镜,能够拉近我们和数据的距离,把微小的每个样本聚合成可以解读、可视化的簇,增加我们对数据的理解。
PDF 物理页索引 504
文件中的第 505 页 · 印刷页码:未识别
分类问题
下面我们来看一下分类,也就是监督学习、离散输出的机器学习。分类要做的是将一个预测函数f,作用在个体的特征x上,得到想要的输出f(x)。这个看似简单的识别过程其实是非常强大和灵活的,基本上所有监督学习的过程都可以抽象成这样的形式。预测的目标可以是任何跟业务相关的量,包括顾客的价值、消费者的喜好、借款人的风险、病人康复的概率等。深入理解了人工智能后,你就可以针对你所在的领域,构造出相应的分类问题,从而有效地提升业务。
PDF 物理页索引 505
文件中的第 506 页 · 印刷页码:未识别
提到分类,就不得不提2019年全国都在热议的话题——垃圾分类。2019年7月,上海正式开始强制实施垃圾分类,个人投放垃圾错误最高可罚200元,单位投放垃圾错误最高可罚5万元。一时间,垃圾分类成为上海人民生活的主旋律。即便是将垃圾分为了可回收物、有害垃圾、干垃圾、湿垃圾四类,但是由于真实生活中垃圾种类繁多,混合垃圾难以分辨种类,很多人还是会分辨错误。其实国外许多国家实行垃圾分类很久了,分辨多种垃圾的问题也困扰国外人民很久了,所以有很多人工智能公司就开发了基于监督学习的垃圾分类系统。例如日本发那科(Fanuc)的分拣机器人Waste Robot就是这样一个垃圾分类系统,该系统内部拥有经过数据集训练的模型,可以通过实时检测来分辨垃圾的类型。
监督学习的模型不是想当然地形成的,它要经过严格的训练和预测环节,这两个环节也是监督学习最基本的环节。
训练环节中:给定一个训练集,由标记样本构成{(x<sub>1</sub>,y<sub>1</sub>),…,(x<sub>N</sub>,y<sub>N</sub>)}。所谓标记样本就是既有特征向量x,又有对应的标记y的一组数据。通过最小化训练集上的预测误差,估计一个预测函数f,也就是我们的预测模型。需要特别注意的是,训练集都是由样本和对应的标记构成的。例如我手中有大象、猴子、长颈鹿等各种动物的图像,然后给这些图像打上相对应的名称标记(图像和名称标记一一对应),打过标记并且一一对应的图像称为训练集。
预测环节中:在新预测样本x上,使用 f 输出预测值 y=f (x)。就比如人工智能经过了刚才关于动物图像的训练,我们再把新的图像输入给它,此时人工智能就可以输出图像上的动物是什么了,这就是预测环节。
在训练阶段,样本的标记是已知的,但是在预测阶段,样本的标记是未知的。就像读书的时候,平时死记硬背的同学不一定考试考得好,考试考得好的同学,也未必在社会上发展出色。机器学习也是这个道理,在新的、未曾见到过的预测集上的预测效果,才是做好机器学习的关键。那么要做好机器学习,也就是训练出一个预测效果好的模型,需要多少数据样本呢?这个问题是无法一概而论的。如果你的数据样本大,行为或模式复杂,要预测的标记本身也会发生变化,那么这个模型需要的训练数据就多。通常,跟训练简单模型(好比后面我们要说的线性模型)比较,训练复杂模型需要的样本也会比较多。
PDF 物理页索引 506
文件中的第 507 页 · 印刷页码:未识别
需要注意的是,用来训练的样本一定要代表实际的业务场景,这样机器学习产生的模型才能在实际业务中产出良好的预测效果。如果在实际业务中遇到的预测样本和训练样本的特性相差甚远,那么模型是很难产出良好的预测效果的。比如你想开一家饭店,但却只在上海地区展开饮食喜好的调查,那么你大概会得出“消费者都比较喜欢吃清淡一点的食物”的结论。根据这个结论,你精心研发了一份清淡可口的食谱,但是这家饭店最终选址在川渝地区。可想而知,饭店开业后并不会有太好的生意,因为两地的人群样本对食物的喜好相差很大,上海样本上得出的结论很难在川渝样本上产生同样的效果。
通过前面的阐释,我们已经知道了分类的概念,下面再通过一个具体的图像分类的例子来更加深入地了解分类。如图4-2所示,训练阶段我们提供了一组有类别标记的图像,预测阶段,给定一个图像,我们的模型可以输出图像上的物体类别。
PDF 物理页索引 507
文件中的第 508 页 · 印刷页码:未识别
训练的时候,我们给了6类训练图像,分别是3种水果和3种动物。每张图像先经过特征化处理,产生图像特征。根据这些图像特征和标记,机器学习能够学习出一个模型。预测的时候,我们给定一张图,把它特征化后,模型就可以针对这个图像特征,输出一个类别预测。
之前提到过,机器学习中,数据以向量形式表示。对图像来说,有很多种向量表示的方法。我们挑选3种基本的向量表示方法展开讲解:原始像素值特征、直方图特征、GIST特征。如图4-3所示,原始像素值特征,用的就是原图的彩色或者灰度像素值,把它们拉成一个向量作为图像的表示,这种简单的方法只能表示简单的图像。图像的像素值很容易受到环境中各种因素的干扰,用它们表示复杂图像的内容,可用性不强。直方图特征,是指加工原图像素值,用加工后的像素值分布,而不是原始值来表示图像。GIST特征,用更复杂的方法来全面表示图像中的场景,能够更好地刻画图像的视觉特点,比如说是自然场景还是人工场景,场景是封闭的还是开阔的。
PDF 物理页索引 508
文件中的第 509 页 · 印刷页码:未识别
对于图像来说,设计的特征越精巧,在机器学习中,图像识别的效果就能够做得越好,但是人的肉眼却很难看明白这些复杂的特征。人工智能和人的思维方式不一样,对于人来说很直接的原始图像,计算机却很难处理;而构造精妙的图像特征向量,人则不一定能看明白。
PDF 物理页索引 509
文件中的第 510 页 · 印刷页码:未识别
最近邻分类
前面以图像为例说明了机器学习分类的过程,下面我们来了解一种基本的分类方法:最近邻分类。这种方法不需要训练环节,只需要针对输入数据的距离定义。
如图4-4所示,我们用方形和圆形分别表示两种不同的训练样本,一个新的预测样本会根据离两类训练样本距离最近的数据点,来确定自己的分类。也就是说,如果和预测样本最近的样本是方形样本,我们就把它分类为方形,相反,如果和预测样本最近的样本是圆形样本,我们就把它分类为圆形。