机器学习(第2版)
上QQ阅读APP看书,第一时间看更新

1.3 机器学习应用的典型领域

机器学习能够显著提高企业的智能水平,增强企业的竞争力。人工智能对各行业的影响越来越大,随着海量数据的累积和硬件运算能力的提升,机器学习的应用领域还在快速地延展,并对经济和社会发展起到深远的影响。下面介绍几个机器学习应用的典型领域。

1.图像处理

通过模拟人类视觉处理过程,辅以计算机视觉处理技术,机器学习在图像处理领域应用广泛,除了图像识别、照片分类、图像隐藏等,特别是CNN等对图像进行处理具有天然的优势。近年来图像处理方面的创新应用已经涉及图片生成、美化、修复和图片场景描述等。

2015年出现的一款可以描述图片内容的应用,可通过对图片中背景、人物、物品及场景的描述来帮助视觉障碍人士了解图中的内容。其中主要应用的技术是图像识别,基于现有图片库中已经标记过的图片作为模型的训练集,经过学习,逐渐实现对图片中对象的识别,但是其对内容的描述主要以列表方式返回,而非以故事的方式返回,因此这类应用的难点之一是自然语言生成,也是目前人工智能领域中的难点之一。

信手涂鸦一直是很多人的梦想,得益于深度神经网络,人们可以通过合成的方式绘制一幅充满艺术气息的画。其原理是使用 CNN 提取模板图片中的绘画特征,并应用马尔可夫随机场(Markov Random Field,MRF)对输入的涂鸦图片进行处理,最后合成一幅新的图画。图1-3所示为Neural Doodle项目的应用效果,其中图1-3(a)是油画模板,图1-3(b)是用户涂鸦的作品,图1-3(c)是合成之后的新作品。

(a) (b) (c)

图1-3 应用深度神经网络生成艺术画

除了在上述项目应用中生成全新的图片外,神经网络还可以用于图像修复,将GAN和CNN进行结合,并应用MRF理论对现有图片中的缺失部分进行修复。此外,使用已经训练好的VGG网络作为纹理生成网络,可以对现有图片中的干扰物体进行移除。这类技术应用范围较广,除了照片美化外,还可集成于图片处理软件,用于智能修图,或者对现有的图片进行扩展绘制等。在某些训练集中,已标记图片数量较少时,可以使用GAN生成大量伪图片,用于模型训练,不仅可以极大地减少人工标记的工作量,而且可以动态迭代优化模型。

谷歌公司的PlaNet神经网络模型可以识别照片中的地理位置(并非使用照片的Exif位置信息)。在模型的训练过程中,使用了大约1.26亿张网络图片,使用图片的Exif位置信息作为标记,将地球上除南北极和海洋之外的地区进行网格化,使图片对应于某一网格单元,然后使用其中大约9100万张图片进行训练,用大约3400万张图片进行验证,并用Flickr中大约2300万张带位置的照片进行测试,大约有3.6%的照片可以准确识别到街道级别,28%的照片可以准确识别位于哪一国家,48%的照片可以准确识别位于哪一个大陆板块。识别的误差距离大约为1131km,而同等情况下,人类对于图片位置的识别误差距离为2320km。虽然训练样本数量很大,但最终的神经网络模型的大小只有377MB。

2.金融

金融与人们的衣食住行等息息相关。与人类相比,机器学习在处理金融行业的业务方面更加高效,可同时对数千只股票进行精确分析,在短时间内给出结论;没有人类的缺点,在处理财务问题时更加可靠和稳定;通过建立欺诈或异常检测模型提高金融安全,可有效检测出细微模式差别,结果更加精确。

在信用评分方面,应用评分模型评估信贷过程中的各类风险,并对其进行监督,基于客户的职业、薪酬、所处行业、历史信用记录等信息确定客户的信用评分,不仅可以降低风险还可以加快放贷过程,减少尽职调查的工作量,提高效率。

在欺诈检测方面,基于收集到的历史数据训练得到机器学习模型,用其来预测欺诈发生的概率。与传统检测相比,这种方法用时更少,且能检测出更复杂的欺诈行为。在训练过程中需要注意样本类别不均衡的问题,防止出现过拟合情况。

在股票市场的趋势预测方面,通过机器学习算法分析上市公司的资产负债表、现金流量表等财务数据和企业经营数据,可提取与股价或指数相关的特征进行预测。另外,利用与企业相关的第三方信息,如政策法规、新闻或社交网络中的信息,通过自然语言处理技术分析舆情观点或情感指向,为股票价格预测提供支持,从而使预测结果更准确。应用有监督学习方法建立两个数据集之间的关系,从而使用一个数据集来预测另一个数据集结果,如用回归来分析通货膨胀对股市的影响等;无监督学习方法可以用于股票市场的影响因素分析,发现其背后的主要规则;深度学习适合非结构化大数据集的处理,提取不易于显式表达的特征;强化学习的目标是通过算法探索来找到最大化收益的策略。应用LSTM等深度学习方法,基于股票价格波动特征及可量化的市场数据对股票价格进行实时预测,可用于股票市场的高频交易等领域中。

在客户关系管理方面,从银行等金融机构现有的海量数据中挖掘信息,通过机器学习模型对客户进行细分,从而支持业务部门的销售、宣传和市场推广活动。此外,应用聊天机器人等综合人工智能技术可以全天候服务客户,提供私人财务助理服务,例如个人财务指南、跟踪开支等。在处理各种客户请求,如客户通知、转账、存款、查询、常见问题解答和客户支持等方面,经过长期积累用户的历史记录,可以向客户提供合适的理财方案。

3.医疗

机器学习可以用于预测患者的诊断结果、制定最佳疗程甚至评估风险等级。此外,机器学习还可以减少人为失误。在2016年JAMA杂志报道的一项研究中,机器学习系统通过对大量历史病理图片的训练,得到的模型验证准确度达到了96%。这一数字表明,人工智能在对糖尿病视网膜病变进行诊断方面已经与医生水平相当。此外,对超过13万张皮肤癌的临床图片进行深度学习后,机器学习系统在皮肤癌检测方面超过了皮肤科医生。

对脑外科医生而言,术中病理分析往往是诊断脑肿瘤的最佳方式之一,但这一过程耗时较长,容易延误正在进行的脑部手术。科学家开发的机器学习系统,能够将未经处理的大脑样本进行“染色”,提供精准的信息,效果与病理分析的一样,通过它诊断脑瘤的准确率和使用常规组织切片诊断的准确率几乎相同,这对身处手术中的脑瘤患者来说至关重要,因为它极大地缩减了诊断的时间。

在临床试验方面,每次临床试验都需要大量的数据,如患者的历史病历信息、卫生日志、App数据和医疗检查数据等。机器学习通过汇总挖掘这些数据,从而获得有价值的信息。例如,生物制药公司根据个体患者的生物特征进行建模,并根据患者的药物反应,对试验人群分类,对患者生物体征和反应进行全程监控。一家英国公司利用机器学习技术分析大量图像资料,通过分析建立模型,辨别和预测早期癌症,还为患者提供个性化的治疗过程。研究人员从大量心脏病患者的电子病历库调取了患者的医疗信息,如疾病史、手术史、个人生活习惯等,将这些信息在机器学习算法下进行分析建模,预测患者的心脏病风险因素,该模型在预测心脏病患者人数以及预测是否会患心脏病方面均优于现在的预测模型。

4.自然语言处理

自然语言处理属于文本挖掘的范畴,融合了计算机科学、语言学、统计学等基础学科。自然语言处理涉及自然语言理解和自然语言生成,其中自然语言理解包括文本分类、自动摘要、机器翻译、自动问答、阅读理解等,目前在这些方面均取得了较大的成就,但是在自然语言生成方面成果不多,具备一定智能且能商用的产品很少。自然语言处理涉及的内容具体介绍如下。

(1)分词

分词(Word Segmentation)主要基于词典对词语进行识别,最基本的方法是最大匹配法,效果取决于词典的覆盖度。此外,常用基于统计的分词方法,利用语料库中的词频和共现概率等统计信息对文本进行分词。消解切分歧义的方法包括句法统计和基于记忆的模型,前者将自动分词和基于马尔可夫链的词性自动标注结合起来,利用从人工标注语料库中提取出的词性二元统计规律来消解切分歧义;而基于记忆的模型,对机器认为有歧义的常见交集型歧义进行切分,如将“辛勤劳动”切分为“辛勤”“勤劳”“劳动”,并把它们的唯一正确切分形式预先记录在一张表中,其歧义消解通过直接查表实现。

(2)词性标注

词性标注(Part of Speech Tagging)是对句子中的词标记词性,如动词、名词等。词性标注本质上是对序列中各词的词性进行分类判断,早期用隐马尔可夫模型,后来用最大熵、条件随机场、支持向量机等模型进行标注。随着深度学习技术的发展,出现了很多基于深层神经网络的词性标注方法。

(3)句法分析

在进行句法分析时,人工定义规则费时、费力,且维护成本较高。近年来,自动学习规则的方法成为句法分析的主流方法,目前主要是应用数据驱动的方法进行分析。通过在文法规则中加入概率(如词共现概率)值等统计信息,实现对原有的上下文无关文法分析方法的扩展,最终实现概率上下文无关文法(Probabilistic Context Free Grammar,PCFG)分析方法,在实践中取得了较好效果。句法分析主要有依存句法分析、短语结构句法分析、深层文法句法分析和基于深度学习的句法分析等。

(4)自然语言生成

自然语言生成(Natural Language Generation,NLG)的主要难点在于,在知识库或逻辑形式等方面需要进行大量基础工作,人类语言系统中又存在较多的背景知识,而机器表述系统中一方面较难将背景知识集成(信息量太大),另一方面,语言在机器中难以合理表示,因此目前自然语言生成的相关成果较少。

现在的自然语言生成方法大多用模板。模板源于人工定义、知识库,或从语料库中进行抽取,这种方式生成的文章容易出现“僵硬”的问题。目前也可以用神经网络生成序列,如Seq2Seq、GAN等深度学习模型等,但由于训练语料的质量各异,容易出现结果随机且不可控等问题。

自然语言生成的步骤包括内容规划、结构规划、聚集语句、选择字词、指涉语生成、文本生成等,目前比较成熟的应用主要还是一些从数据库或资料集中通过摘录生成文章的系统,例如一些天气预报生成、财经新闻或体育新闻的写作、百科写作、诗歌写作等,这些文章本身具有一定的范式,类似八股文,具有某些固定的文章结构,语言的风格变化较少。此外,此类文章重点在于其中的内容,读者对文章风格和措辞等要求较低。综合来看,目前在人工智能领域中,自然语言生成的难题还未真正解决,可谓“得语言者得天下”,毕竟语言代表着较高级的人类智能。

(5)文本分类

文本分类(Text Classification)是将文本内容归为某一类别的过程,目前相关研究成果层出不穷,特别是随着深度学习的发展,深度学习模型在文本分类任务方面取得了巨大进展。文本分类的算法可以划分为以下几类:基于规则的分类模型、基于机器学习的分类模型、基于神经网络的方法、CNN、RNN。文本分类技术有着广泛的应用。例如,社交网站每天都会产生大量信息,如果由人工对这些文本进行整理将会费时费力,且分类结果的稳定性较差;应用自动化分类技术可以避免上述问题,从而实现文本内容的自动化标记,为后续用户兴趣建模和特征提取提供基础支持。除此之外,文本分类还作为基础组件用于信息检索、情感分析、机器翻译、自动文摘和垃圾邮件检测等。

(6)信息检索

信息检索(Information Retrieval)是从信息资源集合中提取需求信息的行为,可以基于全文或内容的索引。目前在自然语言处理方面,信息检索用到的技术包括向量空间模型、权重计算、TF-IDF(词频-逆向文档频率)词项权重计算、文本相似度计算、文本聚类等,具体应用于搜索引擎、推荐系统、信息过滤等方面。

(7)信息抽取

在信息抽取(Information Extraction)方面,从非结构化文本中提取指定的信息,并通过信息归并、冗余消除和冲突消解等手段,将非结构化文本转换为结构化信息。其应用方向很多,例如从相关新闻报道中抽取事件信息,如时间、地点、施事者、受事者、结果等;从体育新闻中抽取体育赛事信息,如主队、客队、赛场、比分等;从医疗文献中抽取疾病信息,如病因、病原、症状、药物等。它还广泛应用于舆情监控、网络搜索、智能问答等领域。信息抽取技术是中文信息处理和人工智能的核心技术。

(8)文本校对

文本校对(Text Proofreading)主要用于对自然语言生成的内容进行修复或对光学字符阅读器(Optial Character Reader,OCR)识别的结果进行检测和修复,采用的技术包括应用词典和语言模型等,其中词典是将常用词以词典的方式对词频进行记录。如果某些词在词典中不存在,则需要对其进行修改,选择最相近的词语进行替换。这种方式对词典要求高,并且在实际操作中,由于语言的变化较多且存在较多组词方式,导致误判较多,在实际应用中准确性不佳。而语言模型是基于词汇之间搭配的可能性(概率)来对词汇进行正确性判断的,一般以句子为单位对整个句子进行检测。

(9)问答系统

问答系统(Question Answering System)在回答用户问题之前,首先需要正确理解用户用自然语言提出的问题,这涉及分词、命名实体识别、句法分析、语义分析等自然语言理解相关技术。然后针对提问类、事实类、交互类等不同形式的提问分别应答,例如针对提问类问题,可通过从知识库或问答库中检索、匹配获得答案,除此之外还涉及对话上下文处理、逻辑推理、知识工程和语言生成等多项关键技术。因此,可以说问答系统代表自然语言处理的智能处理水平。

(10)机器翻译

机器翻译(Machine Translation)是由机器实现不同自然语言之间的翻译,涉及语言学、机器学习、认知语言学等多个学科。目前基于规则的机器翻译方法需要人工设计和编纂翻译规则,而基于统计的机器翻译方法能够自动获取翻译规则,近年来流行的端到端的神经网络机器翻译方法可以直接通过编码网络和解码网络自动学习语言之间的转换算法。

(11)自动文摘生成

自动文摘生成(Automatic Summarization)主要是为了解决信息过载的问题,使用户阅读文摘即可了解文章大意。目前常用抽取式和生成式两种方法。抽取式方法是通过对句子或段落等进行权重评价,按照重要性对之进行选择并组成文摘。而生成式方法除了利用自然语言理解技术对文本内容进行分析外,还利用句子规划和模板等自然语言生成技术产生新句子。传统的自然语言生成技术在不同领域中的泛化能力较差,随着深度学习的发展,生成式方法应用逐渐增多。目前主流还是采用抽取式方法,原因是这一方法易于实现,能保证摘要中的每个句子具有良好的可读性,并且不需要大量的训练语料,可跨领域应用。

5.网络安全

网络安全包括反垃圾邮件、反网络钓鱼、上网内容过滤、反诈骗、防范攻击、恶性代码检测、个人隐私保护和活动监视等,随着机器学习算法逐渐应用于企业安全中,各种新型安全解决方案如雨后春笋般涌现,这些模型在分析网络、监控网络、发现异常情况等方面效果显著,从而保护企业免受威胁。

在密码学方面,机器学习主要用于密码的加密和解密,例如通过分析通用符号密码的特征,以及目前常见密码的各种缺点,利用神经网络算法破解密码。近年来,谷歌大脑将GAN引入密码加密和解密中,随着迭代训练次数不断增加,加密模型和解密模型的性能同步提升,最终在没有提供密码学知识的情况下,获得性能很强的加密模型。在网络安全加固方面,利用机器学习探测网络安全的优势和劣势,并给出一些改进的建议。由于恶意请求通常会进行伪装,因此在网络入侵检测方面存在较大难度,并且攻击行为实例较少,需要处理样本不平衡问题,在模型评价时采用召回率作为性能度量标准。

在垃圾邮件过滤系统中,如何提升过滤的准确性一直是一个难题。传统的机器学习算法包括贝叶斯分类器、支持向量机等分类算法,对正常和垃圾邮件中的文本内容应用自然语言处理技术提取特征,并训练分类器判断垃圾邮件。

近年来,机器学习在恶性代码检测方面也有不少进展。围绕机器学习的稳健性,对抗机器学习也吸引了一些学者进行研究。针对个人隐私保护的机器学习——联邦学习正成为机器学习的热点。

6.工业

机器学习在工业领域的应用主要在质量管理、灾害预测、缺陷预测、工业分拣、故障感知等方面。通过采用人工智能技术,实现制造和检测的智能化与无人化,利用深度学习算法判断的准确率和人工判断的相差无几。

将深度学习算法应用到工业机器人上,可大幅提升作业性能,并实现制造流程的自动化和无人化。例如,分拣商品或者零件时,使用分类算法对商品进行识别,同时可以采用强化学习(Reinforcement Learning)算法来实现商品的定位和捡起动作。

在机器故障检测和预警方面,应用机器学习对物联网中各传感器提取的数据进行分析,并结合历史故障记录、硬件状态指标等信息建立预测模型,提前预知异常。或者从故障定位的角度,建立决策树等分类模型对故障原因进行判断,快速定位并提供维修建议,减少故障的平均修复时间,从而减少停机带来的损失。

机器学习在工业领域中也存在瓶颈,主要有以下几个方面。

(1)数据质量

有监督学习方式训练效果好,但是需要标注很多数据,其中数据的质量、归一化方法、分布等对模型的效果影响较大。例如,如果数据量太多,那么需要较高的计算能力和计算成本;如果数据量太少,模型的预测能力一般较差。

(2)工程师经验

机器学习的相关算法和方法具有一定的门槛,在对原理不清楚的情况下进行实验,很难取得较理想的效果,因此要求工程师不仅具有工程实现的能力,还需具备线性代数、统计学等数学基础知识,并理解数据科学和机器学习的常见算法。

(3)计算能力

由于在深度学习训练过程中需要不断调参,甚至重新设计网络结构,因此训练周期较长,并且随着模型复杂度增加,对计算能力要求提高,一般模型越大应用时效率越低。

(4)机器学习的不可解释性

在机器学习中,深度学习模型在解释模型中参数方面较差,如果在工业应用中除了对结果看重外还要求解释学习过程,就比较难实现。此外,深度学习对数据的质量要求较高,如果存在缺失值等问题,会有较大误差。

7.娱乐业

美国波士顿的Pilot Movies公司使用算法来预测票房,把要预测的电影和1990年以来的每部电影进行比较,预测准确度可以超过80%。另外,把人工智能与大数据应用到分析娱乐行业的其他方面,例如,分析观众愿意为哪些内容付费等。

芬兰的一家创业公司Valossa研发了一种人工智能平台,可以在视频中检测识别人物、视频上下文、话题、命名实体、主题以及敏感内容,使用计算机视觉、机器学习以及自然语言处理等技术,为每一秒视频都创建元数据。

IRIS.TV公司通过一个叫作广告计划管理器(Campaign Manager)的工具使观众在视频内容上的停留时间更长,还可以插播品牌视频广告,而视频浏览留存率平均提升了70%。其主要原理是在客户观看视频时收集各种相关数据,将其输入机器学习模块中以推荐更多的相关视频。通过大数据创建的智能视频分发模型,可帮助视频平台实现其视频内容精准分发,并且增加内容展现次数。