01 回归
假设我们想预测一家即将上市的公司的股价(即当一家公司首次向公众发行股票时)。根据《怎样教一台计算机区分猫和狗?一文零基础入坑机器学习》一文中所讨论的流程,首先,要收集数据的训练集,训练集应包含一些已知股票价格的公司(最好是活跃在相同领域的公司)。然后,需要设计与当前任务相关的特征。
公司的收入就是这样一个潜在特征,因为我们预计公司的收入越高,股票的价格也应该越高。(其他的潜在特征可能包括总资产、总股本、员工数和年活跃度等。)现在,为了将股票价格和收入联系起来,我们用训练数据来训练一个线性模型或回归线。
图1-7上图表示由10家公司的股价和收入信息组成的微型训练集以及一个拟合该数据集的线性模型。一旦模型训练完成,新公司的股价可以根据其收入来预测,如图1-7下图所示。
▲图1-7 (左上图)由10家公司的股价和收入组成的微型训练数据集;(右上图)一个拟合该数据的线性模型;如左下图和右下图所示,这条趋势线可以建模这些点的整体轨迹,并且可以在将来用于预测
最后,将预测的价格与测试集中真实的价格进行比较,测试回归模型的性能,并根据需要进行调整(如选择不同的特征)。用模型拟合一组训练数据以便对一个连续变量(如股票价格)进行预测,这类任务被称为回归。我们现在来讨论有关回归的更多例子。
例1 美国学生贷款债务的增长
图1-8显示了从2006年到2014年美国公民持有的学生贷款债务总额,每个季度评估一次。学生借钱是为了支付大学学费和食宿费等。
▲图1-8 从2006年到2014年美国学生贷款债务总额,每个季度评估一次。拟合数据趋势线的斜率表示了学生债务的迅速增长,证实了学生债务正在(危险地)急剧增长的说法
从图中可以看出,在这8年间,学生债务总额增长了两倍,到2014年年底总额已经超过了1万亿美元。拟合该数据集的回归线很好地表示了数据集,其陡峭的正斜率强调了学生债务正在急剧上升的危险。此外,如果这种趋势继续下去,那么我们可以利用回归线预测,到2026年年底,学生债务总额将达到2万亿美元。
例2 收入预测
1983年,奥斯卡最佳编剧William Goldman在他的书《Adventures in the Screen Trade》中指出“无人知晓任何事情”,意思是说,他认为在当时无法预测好莱坞电影能否成功。然而,在后互联网时代的今天,准确估计即将上映电影的票房收入正在成为可能。
特别是,预告片的网络搜索量以及Twitter、Facebook等社交网络上关于电影的讨论数量,已被证明提前一个月就能可靠地预测出电影的首映周末票房收入。一些产品或者服务的销量预测,包括票房预测,一般用回归来实现。其中,输入特征可以是某天内的预告片搜索量,输出是相应时段内的收入。基于这些数据学习的回归模型可用于估计新电影的预期收入。
例3 基因与数量性状的关联
全基因组关联(GWA)研究(如图1-9所示)旨在理解数以万计的基因标记之间的关系,这些基因标记来自于众多领域的人类基因组,包含高血压/胆固醇、心脏病、糖尿病、各种癌症以及其他疾病。
这些研究是希望有朝一日能产生基因靶向疗法,像治疗由单一基因引起的疾病(如囊性纤维化)那样,帮助人们治愈由多种因素导致的疾病。在GWA研究中,回归作为一种常用的工具,用来理解基因标记(特征)与胆固醇或葡萄糖水平(连续的输出变量)等数量性状之间的复杂关系。
▲图1-9 一个使用回归的GWA研究的概念图,其中一个数量性状与特定的基因组位置有关
02 分类
分类的机器学习任务在原理上与回归类似。二者的主要区别是,分类的主要任务是预测离散的值或者类别,而不是预测连续值输出(如股票价格和血压等)。分类问题可以以不同的形式出现。例如,目标识别就是一个非常流行的分类问题,它将一组图像中的目标区分开来(如自动分类邮件上的手写数字,或者半自动驾驶和自动驾驶过程中的路牌区分)。
在《怎样教一台计算机区分猫和狗?一文零基础入坑机器学习》一文中讨论的区分猫和狗的微型问题也是这样的分类问题。其他常见的分类问题还包括语音识别(语音识别系统识别不同的口语单词),确定Twitter等社交网络上对某个产品或服务的普遍感受,以及在一个有限的可能集合中确定一个人正在做的手势(如控制一台没有鼠标的计算机)。
从几何学上讲,看待分类任务的一种常见方法是找到一个分离线(或更高维度的超平面),将这两类数据尽可能地从训练集中分离出来。
注:有些分类问题,如手写数字识别,会涉及两个以上的类别,需要比一条直线更好的模型来分隔这些类。
这正是我们在描述《怎样教一台计算机区分猫和狗?一文零基础入坑机器学习》的微型示例时所采用的分类观点,采用一条直线来分隔(从图像中提取的特征)猫和狗的图片。对于测试集中的新数据,只需要简单地确定它们位于直线或者超平面的哪一侧就可以对其进行自动分类。图1-10展示了用于在二维微型数据上进行分类的线性模型或分类器的概念。
▲图1-10 (左上图)包含两个不同的类的微型二维训练集;(右上图)一个已经训练好的用来区分这两个类的线性模型;(左下图)一个未知类的测试点;(右下图)测试点被分到相应的类中,因为这个点位于已训练好的线性分类器的右侧
例4 目标检测
目标检测是一种常见的分类问题,它是在一组图像或视频中自动识别特定对象的任务。常见的目标检测应用包括用于组织目的和照相机聚焦的人脸图像检测,用于自动驾驶车辆的行人检测,以及用于电子产品质量控制自动化的残次品检测。除了我们要重点讨论的人脸检测外,相同的机器学习框架可用来解决许多类似的检测问题。
注:尽管行人检测是一个经过深入研究的分类问题,但一个标准的半自动或自动汽车会使用多个探测器来发现汽车周围的其他重要物体,如道路标识、交通信号和其他汽车。
在包含人脸和其他图像的训练集上训练好线性分类器后,对于新的测试图像,可通过在整个图像上滑动一个(通常是)正方形的窗口来寻找人脸。在滑动窗口的每个位置,对内部的图像内容进行测试,查看它位于分类器的哪一侧(如图1-11所示)。如果图像内容(的特征表示)位于学习分类器“人脸这一侧”,那么它就被分类为人脸。
注:在实际应用中,为了确保在测试图像中检测到与照相机具有不同距离的所有人脸,通常会采用不同大小的窗口来扫描图像。如果多个检测都是围绕单个人脸进行的,那么它们就会被组合成一个高亮显示的窗口,将检测到的人脸包围起来。
▲图1-11 为了确定测试图片中是否存在人脸(该示例图片中,飞机的发明者莱特兄弟并排坐在他们于1908年发明的第一个机动飞行器上),一个小窗口扫描了图片的全部区域。在每个位置上,通过检查特征表示位于分类器的哪一侧来确定小框中的内容是否为人脸。作为示例,右图中的直线上方和下方区域分别表示学习分类器的人脸一侧和非人脸一侧
例5 情感分析
社交媒体的兴起极大地放大了消费者的声音,为他们提供了一系列良好的渠道来评论、讨论、评估产品和服务。这促使很多公司寻找数据密集型方法来评估消费者对新发布的产品、广告活动等的感受。
通过使用基于文本的内容(如产品评价、推文和评论)来确定大量客户群的总体感受,通常称为情感分析。分类模型通常用于情感分析,学习辨别消费者的正面或负面情绪数据。
例6 作为医学诊断工具的分类
各种各样的癌症仍然是诊断和治疗中最具挑战性的疾病。
今天,人们相信许多癌症的罪魁祸首在于突变基因的积累,或者换句话说,是个人DNA序列的错误复制。利用DNA微阵列技术,遗传学家现在可以同时从健康和肿瘤组织中查询成千上万个基因的表达水平。这些数据可以用于自动识别癌症遗传易感性患者的分类框架。该问题和例3所讨论的基因与数量生物性状的关联性有关。
在医学界,利用人脑功能性核磁共振成像(fMRI),分类也越来越多地用于诊断神经系统疾病,如自闭症和注意缺陷多动障碍(ADHD)等。这些fMRI脑部扫描可以在病人执行简单的认知活动(如追踪一个小的视觉对象)时,随着时间的推移,捕获大脑不同区域的神经活动模式。
这里的最终目标是训练一种诊断分类工具,仅基于fMRI扫描就能区分具有特定神经系统疾病的患者和没有此疾病的患者。
03 特征设计
正如我们在前面章节中所描述的,特征是定义给定数据集的特性,从而允许最优的学习。事实上,精心设计的特征对回归和分类方案的性能都是至关重要的。
然而,从广义上说,我们所能设计特征的好坏,从根本上取决于我们对所研究现象的知识水平。我们越了解(在智力和直觉上)手头数据的生成过程,设计的特征就越好,或者在理想情况下,教会计算机自己完成这项设计工作。在极端情况下,我们几乎完全理解数据的生成过程,这些知识来自于大量直观的、实验性的以及数学上的思考,我们设计的特征也会有近乎完美的性能。
然而,通常情况下,我们对正在分析的数据只了解一点,甚至一点也不了解。宇宙巨大而复杂,关于它如何运行的确切理解,我们知道的还只是凤毛麟角。
下面我们举一些例子,说明我们对现象的理解程度(从对现象的十分了解到只了解一些基本事实)是如何指导特征设计的。本节的一个主旨是详细阐述机器学习技术处理这个问题的现状。
机器学习的一个最终目标是开发有效的工具来处理任意类型的数据(发现其中的模式)。该目标现在还远未得到充分实现,从根本上来说,它要解决的问题与寻找好的特征有关。
例7 伽利略和匀加速
1638年,伽利略因被天主教会驱逐而臭名昭著。他被驱逐的原因是,在他最后出版的书《Dialogues Concerning Two New Sciences》中,他大胆宣称地球是绕太阳转的,而不是太阳绕地球转(当时的主流观点)。在这本书中,他以亚里士多德传统的三人对话形式,为匀加速物理运动的概念描述了他的实验和哲学证据。
具体而言,伽利略(和其他人)直觉上认为,由于(我们现在所知道的)重力,物体的加速度在时间上是一致的。换言之,物体下落的距离与它运动时间的平方成正比(即线性相关)。该关系是伽利略用以下巧妙而简单的实验经验性地得到的。
如图1-12所示,反复让一个金属球从一个5.5米长的带槽倾斜木头上滚下,伽利略记录小球到达木头斜面的1/4、1/2、2/3、3/4以及斜面底端的时间。
注:这里使用斜面而不是将球垂直地扔下来的原因是,在伽利略所处的年代,计时器不够精确,不能精确测量球的下落时间。
▲图1-12伽利略斜面实验装置,用于探索物体因重力下落的距离与时间的关系。为了完成这个实验,他反复将球滚下斜坡,并记录小球到达斜坡1/4、1/2、2/3、3/4以及斜坡底端的时间
通过现代实验重现(30次试验的平均值)得到了一些数据,结果如图1-13的6个数据点所示。但是,这里我们没有显示原始的输入(时间)和输出(相应的经过斜面的比例)数据,而是显示输出和对应的特征,即时间的平方。在伽利略的原始实验中,时间是用水的毫升数估计的。
注:按时间顺序排列的表(像我们今天这样记录小时、分钟和秒的个人计时器)在伽利略年代并不存在。相反,时间是通过计算每一个球滚下斜坡时从壶嘴滴落到小杯里的水量来计算的。这种聪明的计时装置被称为“水钟”。
通过把时间的平方当成特征,数据集变得非常线性相关,可以近乎完美地用线性回归来拟合。
▲图1-13 伽利略的实验数据由6个点组成,它们的输入是时间,输出是经过斜面的比例。图中显示的是带有时间平方特征的输出及其线性拟合。在机器学习中,我们将变量“时间的平方”称作原始输入变量“时间”的一个特征
例8 视觉目标检测的特征设计
一个更为现代的特征设计示例是视觉目标检测任务(在例4中引入)。在该任务中,我们对数据生成的底层过程只有部分了解。与之前讨论的伽利略和匀加速例子不同,我们在实验和哲学意义上对视觉认知的基本过程知之甚少。然而,即使在一知半解的情况下,也可以为目标检测设计出有用的特征。
在视觉分类任务的特征设计过程中,最重要且最常见的一个事实是,一幅自然图像中的辨别信息很大程度上被包含在图像内相对较少的边缘中。自然图像中的人可能会置身于森林或者户外场景、城市风光、其他人群、动物以及建筑物等中。
图1-14的例子中包含一幅自然图像以及一幅由其最突出边缘组成的图像。自然图像中的大部分像素不属于任何边缘,但是在只有边缘的情况下,我们仍然能辨别出图像中包含什么。
▲图1-14(左图)一张自然图像,图片中包含电视节目《South Park》的两个创始人/作家(这张图片是在Jason Marck的许可下复制的)。(右图)左图的边缘检测版本,突出的像素表示大的边缘内容,只用原始图像中的一部分信息,仍然可以很好地描述图像的场景(从这个意义上说,我们仍然能识别出图中有两个人)
通过在青蛙、猫和灵长类动物身上进行的大量视觉研究(对研究对象进行视觉刺激,同时记录处理视觉信息的大脑区域的电脉冲),神经系统科学家已经确定所涉及的单个神经元大致通过识别边缘来发挥作用。
因此,每个神经元充当一个小的“边缘检测器”,定位图片中特定方向和宽度的边缘,如图1-15所示。一般认为,通过组合和处理这些边缘检测图像,人类和其他哺乳动物就能“看到”。
▲图1-15视觉信息是在大脑的一个区域中进行处理的,每个神经元在观察到的场景中检测特定方向和宽度的边缘。我们(和哺乳动物)所看到的被认为是这些边缘检测图像经过处理的插值
关于作者:杰瑞米·瓦特(Jeremy Watt),获得美国西北大学计算机科学与电气工程专业博士学位,研究兴趣是机器学习、计算机视觉和数值优化。
雷萨·博哈尼(Reza Borhani),获得美国西北大学计算机科学与电气工程专业博士学位,研究兴趣是面向机器学习和计算机视觉问题的算法设计与分析。
阿格洛斯·K.卡萨格罗斯(Aggelos K. Katsaggelos),美国西北大学计算机科学与电气工程系教授,Joseph Cummings名誉教授,图像与视频处理实验室的负责人。