你好,游客 登录
背景:
阅读新闻

人工智能、机器学习和深度学习:人们需要知道的一切

[日期:2020-01-08] 来源:企业网D1Net  作者: [字体: ]

  在人工智能应用方面,企业需要获取商业利益、构建技术框架和模型,以获得更好的商业成果。

  在人工智能、机器学习和深度学习方面,目前有很多市场热议和技术探讨。大多数问题有的过于松散,有的过于数学化,有的过于笼统,有的过于专注于特定的应用程序,与业务成果和指标脱节,有的没有方向性。

  本文通过以下方式概述这些相关技术:

  •定义人工智能、机器学习和深度学习,解释与传统方法的区别,描述何时使用它们,并指出它们的优缺点。

  •解释它们如何补充业务框架并实现业务成果和指标。

  •描述常见类型的机器学习和深度学习模型培训、算法、架构、性能评估和良好性能的障碍。

  •提供工作中的机器学习模型和算法的示例。

  •为业务成果的人工智能实施提出潜在的框架。

  商业环境中的人工智能

  很多的组织都致力于实现特定的结果,他们同时兼顾了一些业务指标和流程来实现这一目标,例如收入、成本、上市时间、流程准确性和效率。但他们的资源有限(费用、时间、人力和其他资产)。因此,问题归结为对资源配置做出正确的决策(什么样的资源、多少资源、应该做什么、需要什么能力等等),并且比竞争对手更快、比市场变化更快地做出正确的决策。

  做出这些决定很困难,但是很明显,当可以获得数据、信息和知识时,它们变得非常容易。假设这些输入信息可用,则需要对它们进行汇总和挖掘。分析人员需要时间获得行业专家的专业知识和经验,以适应不断变化的业务规则,在可能的情况下针对个人偏见进行校准,并找出模式并产生见解。在理想情况下,分析人员和管理人员应该(在时间允许的情况下)评估多种情况并进行多次实验,以增强对其建议和决策的信心。最后,需要将决策付诸实践。

  输入人工智能、机器学习和深度学习,其中:

  •根据观察为组织建模。

  •通过同时审查许多因素和变量来产生见解(远远超出在合理的时间段和成本约束下所能达到的水平)。

  •在提供新的观察结果时不断学习。

  •量化结果的可能性(即预测可能发生的事情)。

  •规定具体行动,以优化业务目标和指标。

  •通过更快的再培训与传统的较慢的重新编程,快速适应新的业务规则。

  使人工智能、机器学习和深度学习成为可能的是数据量和数据类型的激增,加上计算和存储硬件和工具的成本降低。Facebook、Google、Amazon和Netflix等公司已经证明了它的有效性,很多行业的组织都在紧随其后。结合商业智能,人工智能、机器学习、深度学习三者克服了决策的障碍,从而促进组织实现其商业目标。

  人工智能、机器学习和深度学习适用于指标驱动型组织和企业中的每个人。

  麦肯锡全球研究院在其2011年5月出版的《大数据:创新、竞争和生产力的下一个前沿》一书中指出,美国对于使用分析结果的管理人员和分析师的需求为150万人,超过了对分析人员(例如数据分析师和数据科学家)的需求。

  换句话说,数据价值链中的瓶颈不是数据或分析,而是能够根据场景和智能方式利用数据/分析实施的能力。对于业务和流程专业人员来说,这是一个将人工智能、机器学习和深度学习与已经很好理解的业务框架和概念结合起来的机会。这是一个在这些框架和概念中定义问题和假设的机会,然后使用人工智能、机器学习和深度学习来发现模式(洞察)和测试假设,这些假设需要太长时间才能测试,否则识别和测试成本太高,或者对人们来说太难执行。

  组织越来越多地转向人工智能、机器学习和深度学习,而业务正变得越来越复杂。组织一次要处理的事情太多了。也就是说,有太多数据点(相关的和不相关的)需要整合。这样看,处理太多的数据可能是一个责任。

  但是,人工智能、机器学习和深度学习可以通过系统地确定数据的重要性、预测结果、规定具体行动和自动化决策,将这堆数据变成一种资产。简而言之,人工智能、机器学习和深度学习使组织和企业能够承担驱动业务复杂性的因素,其中包括:

  •价值链和供应链更加全球化,相互交织,并专注于微细分市场。

  •快速变化的业务规则,以与竞争对手以及客户的需求和偏好保持同步。

  •正确预测和部署稀缺资源,以优化竞争项目/投资和业务指标。

  •需要同时提高质量和客户体验,同时降低成本。

  在许多方面,人工智能、机器学习和深度学习要优于显式编程和传统统计分析:

  •一般不需要真正了解业务规则即可达到预期的结果,一般只需对机器进行样例输入和输出方面的培训即可。

  •如果业务规则发生变化,使得相同的输入不再导致相同的输出,则只需对机器进行重新培训(而不是重新编程)即可,从而可以缩短响应时间,并减轻人们学习新业务规则的需要。

  •与传统的统计分析相比,人工智能、机器学习和深度学习模型的建立相对较快,因此可以通过尝试学习重试方法快速迭代多个模型。

  然而,人工智能、机器学习和深度学习确实有不利之处。其中,仍以统计数据为依据,因此产出存在不确定性因素。这使得将人工智能、机器学习和深度学习集成到工作流中变得棘手,因为机器决策中的高度模糊性很可能由一个人来处理。为了提高机器的准确性,错误或正确的答案应该反馈给机器,用于额外的训练(学习)。

  此外,人工智能、机器学习和深度学习模型的解释也较少;也就是说,可能不清楚他们如何做出决定。对于具有许多“层”和“神经元”的复杂深度学习模型尤其如此。在高度管制的行业中,这种不清晰可能会特别令人担忧。应该注意的是,有很多研究集中在这一领域,因此也许将来不会成为不利条件。

  考虑到这些优点和缺点,那么什么时候使用人工智能、机器学习和深度学习是合适的?以下是一些想法:

  •值得一提的是:取得高潜力的业务成果,但传统的方法过于繁琐、耗时,或者根本不合适。

  •相关数据可用且可访问。

  •主题专家认为数据包含有意义的信号(也就是说,可以从数据中获得洞察力)。

  •问题定义与机器学习或深度学习问题相关,例如分类、聚类或异常检测。

  •用例的成功可以映射到机器学习和深度学习模型的性能指标,例如有效调用和准确性。

  人工智能定义:从商业智能到人工智能的自然演进

  人工智能、机器学习和深度学习是商业智能的自然发展。在商业智能描述和诊断过去事件的地方,人工智能、机器学习和深度学习试图预测未来事件的可能性,并规定如何增加这些事件实际发生的可能性。说明这一点的一个简单示例是GPS可以引导车辆从A点行驶到B点:

  •描述:车辆行驶了哪条路线,行驶了多长时间?

  •诊断:为什么车辆在特定的交通信号灯下花费很长时间(假设GPS平台/工具跟踪事故和车流情况等)?

  •预测:如果车辆从A点到B点,预计到达时间是多少?

  •规定:如果车辆从A点驶向B点,则该车辆应在哪条路线行驶可以预期到达?

  人工智能的预测

  预测的一个例子是情感分析(某人喜欢某事的概率)。假设组织可以跟踪和存储任何用户发布的文本内容(例如推文、博客文章和论坛消息)。然后,组织可以建立一个模型,根据用户发布来预测其情绪。

  另一个例子是提高客户转化率:如果人们有机会获得他们想要的奖品,人们更有可能注册订阅,因此就可以预测哪些奖品会带来很高的转化次数。

  人工智能中的处方

  人工智能的处方是关于在营销、销售和客户服务等各个流程中优化业务指标的,它是通过告诉规范分析系统应优化哪些指标来实现的。这就像告诉GPS要优化的内容,例如很少的油耗、很快的时间、很低的行驶里程,或者经过的快餐店。在业务环境中,组织可以将转化率提高10%,销售额提高20%或将推广者得分(NPS)提高5点。

  从那里,说明性分析系统将规定一系列操作,这些操作可以导致组织想要的相应业务成果。

  假设要实现10%的转化率提升。系统可能会规定:

  •将直接邮件营销的频率降低15%。

  •同时将Twitter和Facebook的参与度分别提高10%和15%。

  •当企业的社交媒体总参与度达到12%时,开始将公众引导到组织的客户社区门户以实现客户的参与。

  这些说明性操作就像GPS系统建议组织在旅途中进行的转弯以优化其设定的目标一样。

  商业智能、统计数据和人工智能之间的关系

  这是定义商业智能、统计信息和人工智能之间差异的一种方法:

  •传统上,商业智能是面向查询的,并且依靠分析师来确定模式(例如最赚钱的客户,为什么他们很赚钱,它们与众不同的属性(例如年龄或工作类型)。

  •统计数据还依赖于分析人员了解数据的属性(或结构)以在数据中找到有关总体的信息,但它在推断一般化方面增加了数学上的严谨性(例如,实际生活中的这些客户群体与样本数据中的客户群体之间是否存在差异)。

  •人工智能、机器学习和深度学习依靠算法(而非分析师)来自主找到数据中的模式并启用预测和处方。

  请注意,商业智能和人工智能,机器学习和深度学习可以做的更多。

  虽然一方面使用统计建模,另一方面使用机器学习和深度学习来建立业务状况模型,但两者之间存在一些关键差异,尤其是:

  •统计建模需要在输入和输出之间建立一个数学方程式。相比之下,机器学习和深度学习并不会尝试使用该数学方程;与其相反,它们只是尝试在给定输入的情况下重新创建输出。

  •统计建模需要了解变量之间的关系,并对数据总体的统计属性进行假设。机器学习和深度学习则没有。

  通常,由于统计建模需要数学方程式,并且需要了解数据之间的关系,因此统计模型在建立统计模型以研究和处理数据时需要花费相对较长的时间。但是,如果成功完成(即找到方程式并且很好地理解数据之间的统计关系),则该模型可能会致命。

  另一方面,机器学习和深度学习模型的构建速度非常快,但启动时可能无法获得高性能。但是由于它们很容易在早期阶段构建,因此可以同时尝试许多算法,并不断尝试很有希望的算法,直到模型性能变得非常好为止。

  机器学习和深度学习模型还具有额外的优势,即可以“独立”不断地从新数据中学习,从而提高其性能。

  如果数据的性质发生变化,机器学习和深度学习模型只需对新数据进行再培训;而统计模型通常需要全部或部分重建。

  机器学习和深度学习模型在解决高度非线性问题方面也很出色(人们很难做到这一点,因为这些方程太长了)。随着微细分成为规范(例如细分的客户群、大规模定制、个性化客户体验、个人和有效医疗),并且流程和根本原因分析变得越来越多方面和相互依赖,机器学习和深度学习的这一属性真的很有用。

  人工智能、机器学习和深度学习有何不同

  到目前为止,把人工智能、机器学习和深度学习结合在一起。但它们并不完全相同。

  一般来说:

  人工智能是机器执行人类智能特征任务的地方。它包括计划、理解语言、识别物体和声音、学习和解决问题。这可以是人工通用智能(AGI)或人工狭义智能(ANI)的形式。

  •人工通用智能(AGI)具有人类智慧的很多特征,包括人们的感官(甚至更多)和推理能力,因此可以像人们一样思考。有些人将其描述为“认知”,例如C3PO等。

  •人工狭义智能(ANI)具有人类智能的某些方面,但不是全部。它用于执行特定任务。例子包括Pinterest等服务中的图像分类和Facebook上的人脸识别。人工狭义智能(ANI)是大多数业务应用程序当前关注的焦点。

  机器学习是指机器使用算法来学习和执行任务而无需进行显式编程(也就是说,不必向它们提供特定的业务规则来从数据中学习;换句话说,它们不需要诸如“如果看到X,就做Y”)。

  深度学习是机器学习的子集,通常使用人工神经网络。深度学习的好处是,从理论上说,无需告知哪些数据元素(或机器学习中的“特征”很重要),但是大多数时候,它需要大量数据。

  以识别手写数字为例,可以更好地理解显式编程、机器学习和深度学习之间的差异。对于人们来说,识别手写数字并不难。多年来,人们已经从父母、老师、兄弟姐妹和同学学到很多知识和技能。

  现在假设让一台机器通过显式编程执行相同的操作。在显式编程中,须告诉机器要查找的内容。例如,圆形对象为零,竖线为1,依此类推。但是,如果对象不是完美的圆形,或者末端没有连接而并不是一个完整的圆形,会发生什么?当直线不是竖直线而是向侧面倾斜时,或者该行的顶部有一个钩子(例如“ 1”)时,会发生什么?是数字7吗?手写字母的多种变体使编写一个明确的程序变得困难。组织将不断添加新的“业务规则”以说明差异。在机器学习方法中,将显示机器示例1s,2s等,并告诉它要寻找什么“特性”(重要特征)。特征工程很重要,重要特征的示例可以是圆的数量、直线的数量、直线的方向、直线相交的数量以及直线相交的位置。不重要特征的示例可能是颜色、长度、宽度和深度。假设组织为机器提供了正确的功能,并提供了示例和答案,则机器最终将自行了解这些功能对于不同数字的重要性,然后希望能够正确区分(或分类)数字。

  需要注意,使用机器学习时,须告诉机器重要的功能(即要查找的内容),因此机器与确定适当功能的人员一样好。

  深度学习的承诺是,几乎无需工作人员告诉机器要使用哪些功能(即哪些功能很重要),它就会自动发现这一点。需要做的就是为它提供很多功能,它会从中自动选择重要的功能。尽管这是一个明显的优势,但它是以高数据量要求和长时间培训的形式付出的代价,而这需要大量的计算处理能力。

  人工智能模型概念综述

  机器学习和深度学习模型背后的思想是,它们从给定的数据(他们以前看到的东西)中学习,然后可以概括为对新数据(他们以前没有看到的东西)做出正确的决策。

  但是什么构成模型?模型的一种定义是由三个部分组成:

  •数据:历史数据用于训练模型。例如,在学习弹钢琴时,输入的数据是不同的音符、不同类型的音乐、不同的作曲家风格等。

  •算法:模型用于学习过程的一般规则。在钢琴示例中,组织的内部算法可能会告诉寻找音符,如何在琴键上移动手指、如何以及何时按下踏板等。

  •超参数:这些是数据科学家为改善模型性能而进行调整的“旋钮”,它们并不是从数据中学习到的。再次以钢琴为例,超参数包括人们练习音乐作品的频率、练习的位置、一天中的练习时间,用于练习的钢琴等。这种想法是,调整这些“旋钮”可以提高其学习如何演奏音乐的能力。

  将所有这些放在一起,便会构建一个钢琴演奏模型。从理论上讲,根据其训练水平,可以创作以前从未弹奏过的新音乐作品,并且可以演奏它们。

  机器学习的类型

  机器就像人一样可以通过不同的方式学习。在此将再次使用钢琴训练的例子进行解释:

  •有人监督:钢琴教师向弹奏者展示或告诉其正确的演奏方法,以及纠正错误的演奏方法。在理想的情况下,将提供相同数量的示例,说明如何正确和错误地演奏方法。实质上,训练数据由要从一组预测变量(独立变量)中预测的目标/结果变量(或因变量)组成。使用这些变量集,将生成一个将输入映射到所需输出的函数。训练过程一直持续到模型在训练数据上达到期望的性能水平为止。监督培训的业务示例显示了已获批准或被拒绝(目标结果和决策)的贷款申请的系统示例(由信用历史、工作历史、资产所有权、收入和教育等预测变量组成)。

  •无人监督:如果演奏者自己一个人在演奏,也就是说没有人教他如何弹钢琴,因此他可以根据自己的想法来决定对与错,以优化对其重要的参数,例如完成乐曲的速度,高音符与柔和音符的比率,或触按琴键的数量。本质上,数据点没有与之关联的标签来告知是对还是错。与其相反,目标是以某种方式组织数据或描述其结构。这可能意味着将其分组,或者寻找查看复杂数据的不同方法,从而使其看起来更简单或更有组织。通常,无监督学习在训练模型方面不如无监督学习有效,但是当没有标签存在时(换句话说,“正确”的答案是未知的),这可能是必要的。一个常见的商业例子是市场细分:通常不清楚什么是“正确”的市场细分,但每个营销人员都在寻找自然亲缘关系的细分,以便他们能够以正确的信息、提议和产品接近这些细分。

  •半监督:受监督和无监督的组合。在没有足够监督数据的情况下使用此方法。在钢琴示例中,就会得到一些指导,但不会得到很多指导(可能是因为课程昂贵或老师人数不足)。

  •强化:系统不会告知演奏者正确和错误的演奏方式,也不知道要优化的参数是什么,但是会告诉何时做对或错。在进行钢琴训练的情况下,当弹错音符或以不正确的节奏演奏时,钢琴教师可能会纠正,并且当演奏者弹奏得很好时,就会给予鼓励。强化学习现在非常流行,因为在某些情况下,每种情况下没有足够的监督数据,但是已知“正确”的答案。例如,在国际象棋游戏中,要记录到文档(标签)的移动过多。但是强化学习仍然可以告诉机器何时做出对与错的决定,进而赢得胜利(比如在国际象棋中捕捉棋子和强化位置)。

  •转移学习:演奏者已经掌握了一些可转移的技能(例如阅读笔记的能力,甚至掌握了手指的敏捷性),因此可以利用自己的弹奏钢琴知识来学习另一种乐器,以此来学习如何吹小号。之所以使用转移学习,是因为它减少了学习时间,对于使用深度学习架构的模型而言,这可能很重要(数小时甚至数天)。

  通用机器学习算法

  常见的算法类型包括:

  •回归只是通过数据点绘制曲线或直线。

  •分类是确定某物属于哪个组。二进制分类(两组)正在确定某物是否属于一类,例如图片中的动物是否是狗。以动物为例,多种分类(两个以上类别)是动物是狗、猫、鸟等。

  •聚类类似于分类,但是并不会提前知道分类。再次以识别动物图片为示例,可以确定存在三种类型的动物,但是不知道这些动物是什么,因此只需将它们分为几类即可。一般而言,当没有足够的受监管数据时,或者当想在数据中找到自然分组而不受限于特定组(例如狗、猫或鸟)时,可以使用聚类。

  •时间序列假定数据顺序很重要(随着时间的推移获取的数据点具有应考虑的内部结构)。例如,可以将销售数据视为时间序列,因为可能希望随时间变化收入趋势,以检测季节性并将其与促销活动相关联。

  深度学习模型

  深度学习基于人工神经网络(ANN)的概念。这样可以就像人类的大脑一样工作,在这种情况下,根据某种反馈,突触变得更强或更弱,而神经元则根据特定条件激发。通过深度学习模型解决了难题,其中包括自动驾驶汽车、图像检测、视频分析和语言处理。

  为了避免认为深度学习模型是唯一应该使用的东西,这里有一些注意事项:

  •首先,它们需要大量数据,通常比机器学习模型要多得多。如果没有大量数据,深度学习通常会表现不佳。

  •其次,由于深度学习模型需要大量数据,因此训练过程需要很长时间,并且需要大量的计算处理能力。这一点正被越来越强大和更快的CPU和存储器以及更新的GPU和FPGAs(现场可编程逻辑阵列)所解决。

  •第三,深度学习模型通常比机器学习模型更难解释。可解释性是深度学习研究的主要领域,因此也许会有所改善。

  如何衡量机器学习模型的性能

  模型就像人类一样,可以对其性能进行评估。这里有几种方法可以衡量相对简单的回归模型的性能。

  这些都可以被认为是一种成本函数,它可以帮助模型知道它是否离“正确”答案越来越近,或者距该答案“足够近”。成本函数告诉模型需要多长时间才能获取之前少见见过的新数据,并以足够高的概率输出正确的预测。训练模型时,目标是较小化成本函数。

  分类模型中的精度与召回率

  一旦成本函数完成了根据训练数据(正在显示的数据)帮助模型朝着“正确答案”方向发展的工作,就需要评估模型在尚未处理的数据上的表现如何看过。在分类模型的场景中进行解释(分类模型可以确定某物是否属于一组或另一组,例如图片是狗、猫、老鼠等)。

  要评估分类模型的性能,请使用方程式以提高准确性。但是,通常认为,当训练数据显示等级不平衡时,准确性指标可能会误导,因此可以使用称为精度和召回率的指标。这些术语的含义如下:

  •等级不平衡:数据在一个方向相对于其他方向偏斜。考虑预测信用卡交易是否为欺诈的示例。绝大多数交易不是欺诈性的,数据集将朝这个方向倾斜。因此,如果预测给定的交易不是欺诈,那么即使对交易本身一无所知,也可能是对的。在此示例中应用准确性指标会使人们误以为在预测非欺诈性交易方面做得很好。

  •精确性是相关性的衡量标准。假设使用搜索引擎来了解人们喜欢网球运动的程度。精确测量返回的项目中有多少与此有关,而链接则表示人们喜欢网球的程度,人们喜欢网球活动的方式等等。

  •召回是衡量完整性的标准。以喜欢网球运动为例,召回率可以衡量搜索引擎捕获所有可用参考的程度。缺少零引用是令人惊讶的,缺少一两个参考值还可以,缺少数千个参考值将是可怕的。

  不幸的是,在现实世界中,精确性和召回率是相互抵消的;也就是说,当一个指标提高时,另一个指标就会降低。所以,须确定哪个指标更重要。

  以一个约会应用程序为例,该应用程序将某人与异性匹配。如果相貌端正、富有并且个性十足,那么可能会倾向于更高的精度,因为知道会有很多潜在的匹配,但只想要真正合适的匹配,并且筛选潜在对手的可能性很高。为了评估模型在精度和召回率之间的平衡程度,使用了F1评分。

  这些指标可以绘制在图表上;一个称为ROC曲线(接收者工作特性曲线),另一个称为PR曲线(精度召回曲线)。一条完美的曲线(除非作弊,否则永远得不到它)是Y轴到1,然后越过顶点的曲线。在ROC曲线的情况下,对角线上的一条直线是不好的,这意味着模型以50%的比率平均预测正值和负值(不比随机猜测好)。这些指标经常转换为曲线下的面积(AUC),因此将看到AUC ROC和AUC PR等术语。

  为什么建立机器学习模型会很困难

  既然了解了什么是模型以及如何判断模型的性能,那么探讨一下为什么构建一个性能良好的模型会很困难。这有几个原因,其中包括:问题表述、数据问题、选择合适的模型算法和结构、选择合适的特征、调整超参数、训练模型、代价(误差)函数、欠拟合(偏差)和过拟合(方差)。

  要知道,数据科学和其他任何科学一样,既是一门艺术,也是一门科学。当然,做事情总是有一些简单的方法,但是这些方法可能会很费时,可能会减少洞察力,而且很可能适得其反。当前的数据科学方法是汇集行业专家(如业务线、运营、转型和改进专家)和数据科学家的知识,以创建满足业务需求的模型。

  过拟合与欠拟合

  过拟合与欠拟合是颇受欢迎的问题结果,因此对其进行深入研究。它们涉及偏差和方差。

  过拟合(高方差)意味着该模型对数据的变化反应过多,因此它并未真正了解其真正含义,而是“记忆”了数据。就像学习一本数学书一样,当接受测试时,只知道书中给出的三个例子的答案。当老师问你这些数学问题时(例如2+1=3,7+2=9,和4+2=6),会发现它们是正确的。但是当她问一些不同的东西(例如7×9 =?)时,就可能不知道答案。这是因为即使了解例子的答案,但并没有掌握算法。

  欠拟合(高偏差)是相反的问题,因为拒绝学习新知识。也许你学会简单的算法。但是现在情况已经改变了,要求实施更难的算法。如果表现出很高的偏见,则将继续学习简单的算法而不学习更难的算法的话,那么就会得到错误的答案。

  这两者都是问题,数据科学具有帮助缓解这些问题的机制。

  机器学习模型示例

  可以了解一下使用两种算法的机器学习示例:急切算法和懒惰算法。

  急切算法不使用显式训练,而懒惰算法是显式训练。由于急切算法未经过明确训练,因此它们的训练阶段很快(实际上不存在),但是其执行(或推断阶段)比经过训练的懒惰算法慢。急切算法也使用更多的内存,因为需要存储整个数据集,而一旦训练完成,用于训练懒惰算法的数据可以被丢弃,而占用的总内存更少。

  示例:使用TF-IDF进行文档搜索

  在应用于文本分析的急切算法的第一个示例中,使用的是称为TF-IDF的算法。将在短期内解释TF和IDF的含义,但首先明确一下这个示例的目标。有五个简单的简短文档(文档1至5)。这些文档还有一个关键字词典;该词典用于关键字搜索。还有一个用户查询,目的是检索颇适合用户查询的文档。在这个例子中,要按优先级相关性顺序返回五个文档​​。

  首先解释一下TF和IDF的缩写。TF代表术语频率或术语出现的频率(即该术语在文档中的密度)。人们关心的原因是,假设当“重要”术语出现得更频繁时,它所在的文档更相关;TF帮助将用户查询中的术语映射到颇相关的文档。

  IDF代表反文档频率。这几乎是相反的想法,在所有文档中频繁出现的术语的重要性较低,因此希望减少这些术语的重要性。显而易见的词是“a”、“an”和“the”,但对于特定的主题或领域,还有许多其他词。可以把这些常见的术语看作是干扰搜索过程的噪音。

  为文档和查询计算出TF和IDF值后,只需计算用户查询与每个文档之间的相似度即可。相似性评分越高,文档越相关。然后,按照相关性顺序将这些文档呈现给用户。

  现在已经了解了如何完成操作,一般只需要进行计算即可。

  可以看看计算结果。将会看到几个矩阵。机器学习和深度学习模型使用矩阵数学进行大量计算。与数据科学家合作时,需要意识到这一点,需要帮助他们以对业务问题有意义的方式将数据转换为这些类型的格式。这并不难,但这是数据科学预处理阶段的一部分。

  在第一个TF矩阵中,计算每个文档的每个关键字(在字典中指定)的规范化(“相对”)频率。分子表示该文档中的单词计数频率,分母表示单词在很多给定文档中出现的较大次数;换句话说,它是所有分子之间的较大值。

  在第二个矩阵中,为字典中的每个术语在最后一行添加一个IDF向量。只需应用已经给出的方程:IDF(t)=log(N/N(t)),其中

  •N =推荐文件数

  •n(t)=出现关键字t的文档数

  下一步是通过将文档的每一行乘以IDF的最后一行来为文档创建TF-IDF矩阵。现在,已经完成了文档矩阵。重复相同的过程以创建用户查询矩阵。

  最后,将两个矩阵组合起来,并计算每个文档和用户查询之间的相似度。在这种情况下,可以使用方程式来计算相似度,称为余弦相似度(也可以使用其他相似度计算)。注意,用户查询和自身之间的相似度值是1,因为它应该是1,因为它正在与自身进行比较。

  从这里,可以将相似度值(在矩阵的最后一列)从高到低排序,从而向用户呈现从高到低的相关文档。现在完成了。但要注意的是,该模型没有“训练”,只应用了一些方程式。

  示例:使用基于内容的协作方法推荐宠物

  再了解一下推荐引擎中使用的急切机器学习算法的另一个例子,类似于人们在许多网站上看到的内容。在这种情况下,假设你有四名宠物爱好者的数据,并且可以了解他们喜欢的宠物的类型以及他们对特定宠物的喜欢程度。假设有第五个宠物爱好者(Amy),你对他的偏爱知之甚少。

  你的目标有两个:预测Amy对特定宠物的评价,并预测Amy喜欢宠物的偏好。应该看到,这与相似性问题非常相似,这是在你认识的人与不太了解的的人之间使用属性相似性来实现的。

  有两种方法可以确定推荐系统中的相似性:协作和基于内容,协作可以进一步定义为基于用户或基于项目。

  在协作方法中,需要对社区中的用户进行评级。通过基于用户的方法来应用此功能,可以根据社区中相似用户的喜欢来预测用户喜欢什么。相比之下,使用基于项目的方法,可以根据社区喜欢的项目之间的相似性来预测用户喜欢什么。

  基于内容的方法不使用社区中用户的评分。取而代之的是,它基于商品本身的特征,而分配给这些特征的值(或标签)则由领域专家提供。

  每种方法都有其优点和缺点。

  考虑这个例子:在协作方法中,使用其他用户的宠物等级来预测个人对宠物的未知等级。

  首先,尝试基于用户的方法。因为正在比较可能因人为偏见而歪曲的总体个人评级(他们的基准可能会有所不同),所以使用了一个称为Pearson相似性的相似性函数,该函数试图通过规范化评分(即通过从每个用户评分中减去评分的平均值)。在该示例中,就会发现Alice的评分与Bill的评分尤为相似,因此可以假设Amy的缺失评分与Bill的评分相同。

  现在尝试基于项目的方法。通过这种方法,不必关注个人的评分,而是关注项目的评分。而且,由于项目的评分是由几个人提供的评分的综合,因此不必担心偏差,因此可以使用余弦相似度函数。在这里,你会看到猫和刺猬最相似,因此可以推断出Amy对猫的评分与她对刺猬的评分相同。

  最后,尝试基于内容的方法。这种方法不需要对社区成员进行评分。取而代之的是,专家标记了数据,在这种情况下,数据是每种宠物类型的属性(可爱、整洁、忠诚)。如果知道某人对每种属性的偏好,则可以使用余弦相似度函数来预测该人很可能喜欢的宠物。在此示例中,Amy很有可能按照偏好降序依次选择刺猬、兔子、狗、猪、猫。

  以下学习一些数学。举例来说,要确定Amy对刺猬的评分,会发现刺猬的宠物属性与Amy对宠物属性的重要性等级之间存在相似之处:

  •刺猬的向量是(4,3,1,1)

  •Amy的向量是(3,3,2,1)

  •需要找到这两个向量之间的相似性

  •余弦相似度= [4(3)+(3)(3)+(1)(2)+(1)(1)]/[SQRT(4^2 + 3^2 + 1^2 + 1^2)* SQRT(3^2 + 3^2 + 2^2 + 1^2] = 0.96

  对于协作方法,可以使用Pearson方程,因为它可以标准化各个用户的评分(他们的评分可能不一致)。如果具有客观等级((比如不是基于不同等级的人的评分),可以使用余弦相似度。以下是方程式中的变量:

  •u:用户

  •i:需要评级的项目

  •N:#个最近的邻居

  •j:邻居

  •rj,I:j对i的评分

  •rj bar:j的平均值

  •ru bar:用户评分的平均值

  •alpha:等级的缩放比例; 1表示按原样使用(没有正确的alpha值;这是那些超参数之一),有经验的数据科学家可以根据问题的目标和背景进行调整,以得出更好的结果。

  示例:使用支持向量机(SVM)的懒惰算法

  最后,这里是一个称为支持向量机(SVM)的懒惰机器学习算法的例子。在这种方法中,需要确定一个项目属于哪个组,例如一个新客户最终是一个利润高还是低的客户。要使用支持向量机完成此操作,需要计算两个参数:

  •每个属性的权重(重要性)(属性的示例可能是客户的收入、家庭成员的数量、职业和教育成就)

  •支持向量,它是颇接近将各组分开的曲线(称为超平面)的数据集。

  然后使用这两个参数并将它们插入方程式。

  计算这些参数的方法是使用可用的数据集,这就是所谓的训练数据。

  在训练阶段计算出的值是:

  •用于较小化成本函数的权重(alpha和theta)。

  •支持向量xi,它是训练数据的子集。

  一旦模型得到训练,就可以插入x的新值(例如新客户的属性),然后预测x的这些新值所属的类h(x)(例如它们是否预期是高利润客户)。

  人工智能项目失败的原因

  人工智能项目在业务环境中失败的常见方式很多。任何人工智能框架都应解决这些问题。

  失败的第一个驱动因素或者是选择了错误的用例,或者是在没有足够能力和基础设施的情况下使用了太多的用例。可以使用前面描述的条件来确定更好地适合于人工智能解决方案的问题。此外,明智的做法是建立一系列用例,以使功能和知识以渐进的方式构建,并随着技术的成熟程度的提高而提高。

  选择正确的用例与以下人员协作比较好:

  •企业员工,他们知道业务问题、环境和约束,以及他们想要测试的假设。

  •分析师,他们可以提出问题以阐明业务意图和要求,并且可以识别数据源和转换。

  •可以制定机器学习和深度学习问题的数据科学家,以便模型可以为企业的假设提供答案。

  •可以提供对数据访问权限的数据工程师和IT资源。

  正确地预先组织和安排这些类型的活动需要经验丰富的跨职能领导者,他们需要了解并可以平衡业务影响,运营驱动因素、工作流障碍和机遇、数据需求和约束以及技术支持因素。

  失败的第二个驱动程序错误地自己构建了人工智能模型。这包括两个元素:

  •尽管数据科学和其他科学一样,在本质上是实验性的(在使用数据之前,并不真正知道数据会告诉你什么),但数据科学的方法应该定义明确,应该具有纪律性,并且应该加快价值时间。

  •优秀的数据科学家可以快速进行实验和迭代,从他们的实验中学习,区分有前途和无效的方法,并在必要时研究和调整前沿方法。优秀的数据科学家以快速、并行的方式构建较小可行产品(MVP)。

  失败的第三个驱动因素是缺乏同时快速构建和改进多个人工智能模型的规模。通常,这归结于数据科学家能够协同工作,重用数据管道、工作流和模型/算法,并重现模型结果。此外,他们还需要能够捕获并快速合并操作反馈(在测试、登台或生产环境中),以进一步构建规模。实现这一点既需要正确的基础设施环境,也需要正确的模型治理方法。

  失败的第四个驱动因素是无法实现人工智能模型的运营和货币化。一般来说,开发人工智能模型是出于以下两个目的之一:

  •发现以前未经确认的见解

  •自动化决策(以降低成本和提高效率/生产率)。

  很明显,从来没有出过实验室的模型不能完成这些任务。

  此外,不仅需要部署模型(即使人们或系统可以访问模型),而且还须以在操作和异常中“使用”它们的方式将它们合并到工作流中。无法做出具有较高正确性概率的决策,须进行优雅的管理(例如通过人工干预、模型重新训练和模型回滚)。人工智能的运营和货币化需要逐步但完整的模型工作流集成,数据输入和模型性能参数的监视以及频繁模型部署的管理。

  如何使用人工智能?端到端的人工智能解决方案框架

  最后,将这些与人工智能解决方案框架结合在一起。

  有四个组成部分:

  •数据管理。

  •模型开发。

  •模型操作。

  •确保使用模型,影响业务并改善业务指标。

  第一个组件是数据管理,是当前商业智能环境的常规组成部分。

  第二部分是模型开发,包括两个广泛的领域:

  •定义适合机器学习模型的用例并确定其优先级。

  •大规模构建机器学习模型。

  第三个组成部分,模型操作化,不仅需要模型部署,还需要持续的再培训和重新部署过程,模型与操作工作流的集成,以及集成操作反馈以改进模型。

  这些目的是通过模型的功能获利。

  最后,组织和业务影响的第四部分很简单(很明显),但对组织的人工智能能力的未来成熟至关重要。这个组件的功能是确保人工智能模型被业务线实际使用(也就是说,他们信任人工智能模型并从中获取价值),并且它们正在影响业务结果。如果没有业务的支持,人工智能将不会迅速发展。

  这四个组件之上是协作组:IT、数据工程师、数据科学家、业务部门。人工智能是一项团队工作。

  可以采用这些组件并在其周围放置参考体系结构,添加一个称为模型治理的组件,以确保实现模型的可再现性,数据科学的可重用性以及数据科学家的协作,并确保对模型进行重新训练/回滚需要时可能。

  设计和实施类似这个参考体系结构的解决方案将以健壮性、上市速度和业务成果来支持人工智能解决方案框架。

 

  本文作者Jerry Hartanto是Trace3公司人工智能和自助服务商业智能业务的领导者,Trace3公司是一家技术解决方案提供商,该公司咨询业务不断增长,其中包括数据智能、云计算解决方案、网络分析、Devops和数据中心解决方案。Hartanto拥有管理咨询、公司/商业战略、营销和销售、运营和流程改进、产品开发和工程的背景。他拥有麦吉尔大学电气工程学士学位、约翰霍普金斯大学电气工程硕士学位和密歇根大学工商管理硕士学位。

收藏 推荐 打印 | 录入:admin | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款