【数据法学】OECD (2017):算法的工作原理及其应用
B D A I L C
欢 迎 关 注
Charlotte-ager
译 / 姜开锋
1 概念和定义
“算法”的概念在很早之前就已有人提出,其提出的时间要远远早于第一台计算机出现的时间,然而直到现在,“算法”仍缺少一个能够被普遍接受的定义。直观地来讲,算法是一系列规则,这些规则应该按照确切的顺序执行,以完成某项特定的任务。因此,算法是一项逻辑流程,它能够从给定的输入项生成一定的输出项;无论该算法是一个解决数学问题的方法、一个食物配方、或者是音乐表,其性质都是如此。考虑到这些直观概念缺乏精确性,本文使用学术文献中提出的更正式的定义:
算法是一组精确、清楚的简单运算,它将被机械地和系统地应用于一组记号或对象(例如,棋子、数字、蛋糕原料等)。这些记号的初始状态是输入,其最终成为的状态则是输出。算法可以用多种方式表示,比如说简单的语言、图表、代、甚至是可以由机器读取和执行的程序。随着计算机科学的发展,算法已经可以用于执行涉及复杂计算和数据处理的重复任务,这些任务对于人类来说可能是费事的。人工智能和机器学习的最新发展使算法达到了一个新的水平,它能够让计算机比人类更为有效地解决复杂问题、做出预测和决策,帮助人类社会达成理想的政策目标。
人工智能是指研究和设计智能工具的一项范围广阔的计算机科学分支,这些智能工具能够以一种被认为是“智能”的方式执行相当困难的任务。这个概念是由John McCarthy于1956年提出的,他将人工智能定义为“制造智能机器的科学与工程学”。在人工智能的初始阶段,包含大量详细指令的程序被编入机器之中,以试图复制人类的思想,这种做法很容易变成一个繁重的过程。在教授机器学习的算法被开发出来之后,人工智能成为了一种更有效的工具,这种算法的思想源于对模式识别和学习理论的研究,它建立起了机器学习的新分支。
机器学习是人工智能的一个分支学科,它通过使用迭代学习数据和经验的算法来设计智能机器。根据Samuel的观点,机器学习使“计算机无需明确的编程即可进行学习”。根据学习模式,机器学习算法可分为三大类:
1
有指导的学习(Supervised learning),算法使用带有标记的数据样本来学习从输入推导输出的一般规则。
2
无指导的学习(Unsupervised learning),算法尝试从无标记的数据中识别隐藏的结构和模式。
3
强化学习(Reinforcement learning),算法在动态环境中执行任务,例如驾驶车辆或者玩游戏(参见示例1),并通过反复试验来学习。
无论采用哪种学习方法,传统的机器学习系统处理原始数据的能力都存在一些局限性。实际上,原始数据库的规模非常庞大,在运行机器学习算法之前,通常需要从原始数据中提取与基本问题相关的特征值——这一过程称为“特征工程”(“feature engineering”)。这些特征值可以是数值变量或字符串,它们可能是原始数据集的子集,也可能是由原始变量的组合所构成的集合。识别和编排相关的特征值是一个费时费力的过程,而且这一过程还必须由人工手动执行。深度学习模型的出现使人们有了一个可替代的选项,该学习模型可以自动提取原始数据的特征值。
示例1 扑克机器人Libratus
Libratus是由卡内基梅隆大学的Tuomas Sandholm和Naom Brown设计的一个机器学习程序,该程序可以玩无上限的德州扑克(the no –limit Texas hold’em)——一种相当复杂的扑克游戏。为了掌握扑克策略,Libratus的算法使用了强化学习方法,其学习过程可以分解为三个阶段:
在第一阶段,该扑克游戏的规则先被输入Libratus的算法之中,之后Libratus将自己与自己对战数万亿手。每一次对战中,第一手都是随机打出的;之后Libratus会基于一种反复试验的方法来快速改进其算法。这意味着Libratus实际上并不依赖于观察到的数据来学习。
在第二阶段,Libratus与人类玩家进行对战。它会根据他们相应的出牌方式,选择在第一阶段中学到的最适合击败对手的策略。
最后,在第三阶段,当人类玩家分析出Libratus的玩法模式并调整他们的策略时,Libratus会通过随机改变某些出牌手法来掩盖之前的玩法模式。换句话说,它学会了如何虚张声势。
Libratus在2017年1月进行了测试,测试中它与世界顶级玩家进行了一场锦标赛,共打出了12万手牌。比赛期间,它白天和人类玩家对战;晚上则根据新收集的数据,改进它被人类玩家所看出来的失误,从而完善自己的出牌策略。Libratus的成功是前所未有的,它赢得了总额为1,776,250美元的筹码,而所有其他玩家都以负余额结束了比赛。该游戏的大盲注设定的是100美元,这意味着Libratus每100手牌就能赢得14.7个大盲注,这是相当好的成绩。
长期以来,游戏程序一直被当作改进和评价人工智能新发展的工具。不过,人工智能在扑克游戏中的成功也意味着它可以应用于其他地方。作为一种有着数百万手组合可能的充满变数的游戏,扑克在一定程度上反映了现实世界问题的复杂性和不确定性。值得特别指出的是,Libratus能够在不确定的场景中进行复杂的推理、解读可能具有误导性的信息并预测其自身行为对其他玩家决策的影响,这表明人工智能可用于开展更复杂的、类似人类行为的互动和决策。
深度学习是机器学习的一个分支,它使计算机系统能够运用复杂的软件进行学习,这类软件试图通过创建人工神经网络来复制人类神经元的活动。Goodfellow等人指出深度学习具有对数据进行抽象和建模的强大的能力。传统的机器学习算法是线性的,但深度学习算法的结构具有越来越高的复杂性和抽象性。因此,深度学习相较于传统的机器学习而言,能够使计算机学得更快、更准确。
虽然深度学习取得了最新的进展,显现出解决复杂问题的巨大潜力。但其学习过程中没有特征值的步骤,这意味着人们无法知道算法将输入转换为输出的时,使用了哪些特征值或相应的信息。换句话说,无论所产生的结果的质量如何,深度学习算法都不会向程序员提供有关产生这种结果的决策过程的信息。
2 算法在商业中的应用
不论是在线上商业中,还是在其他的高科技行业中,算法都越来越多地得到了相关公司的使用,这使得其对社会的重要性日益增强。在此背景下,Stucke和Ezrachi提出了“算法商业”(“algorithmic business”)的概念,以指代使用复杂算法来改进业务决策和自动处理竞争差异化流程的现象。尽管一些企业在使用算法方面仍处在早期阶段,但现在已有越来越多的企业依靠算法进行预测分析和优化商业过程。
1
预测分析。进行预测分析意味着要开发出能通过分析历史数据来估算预期结果的可能性的算法。预测模型可用于估算需求、预测价格变化、预估客户行为和偏好、评估风险并预测可能影响市场环境的内在或外在冲击(例如新公司的进入、汇率的变化甚或自然灾害)。所有这些信息对于完善公司的决策非常有价值,这将使公司能够更有效地规划其经营策略,并发展出通过其他方式无法实现的新型的、个性化的服务。
2
优化商业过程。算法可以使公司通过降低生产和交易成本、细分消费者类型或者根据市场环境设定最优价格,进而获得竞争优势,以优化其商业活动。算法优化商业过程的特殊能力得益于其自动化的性质和强大的计算能力,这使得它们能够处理大型数据集并快速做出反应;而且与执行相同任务的人工花费相比,算法的成本更低。
很多行业中均有使用算法进行预测分析和优化商业过程的应用实例,例如预防欺诈、优化供应链、定向广告、产品推介、企业安全和动态定价等。此外,还有一些特定的行业运用特别的算法(特别是基于机器学习和深度学习原理的算法),取得了突破性的数据驱动创新,它们正在对现有的市场进行着彻底的革新(参见示例2)。
示例2 深度学习的现代应用
虽然最早开发深度学习算法的尝试可以追溯到二十世纪中叶,但数十年来深度学习的实际应用非常有限,其原因可能是计算机处理的速度还不够快、研究资金的投入也不够多。然而,随着计算机因数字化的发展而变得更快且近年来有更多数据可用,计算机科学家们已经开发出了任务执行能力比人类还要强的算法,这些任务曾被认为不可能由机器来完成。最近开发出的最先进的深度学习算法的应用领域包括:
健康领域:在医疗领域,人们开发了图像识别算法,它能够通过分析痣和病变的早期阶段来检测黑色素瘤,还能通过观测癌细胞协助进行脑癌手术。健康领域中的其他应用还包括通过分析胎儿超声图像,协助进行产前护理;检查X光片以量化膝关节骨关节炎的严重程度。
土木工程和机械工程领域:人工神经网络已被用于多种目的,例如预测钻井作业中粉尘的分散、预测地震中建筑物的结构响应,以及预测交通路况等。
金融领域:在金融市场中,人们设计了神经网络和遗传算法,用于为股票投资组合提示买入和卖出的信号或者预测公司的破产。在这些任务中,它们显现出了比传统技术更高的准确性,而且有时使用起来也更为方便。
生物学领域:有的科学家已经在测试或者使用一些复杂的算法,例如,用算法对深海动物进行自动检测和分类,或者是估算药用植物和芳香植物叶片中叶绿素的浓度。
声音和图像:深度学习算法可以通过识别照片中的物体及其所处的环境来自动为黑白图像着色,更了不起的是,它还能通过分析无声电影的场景中所发生的事情,为其添加配音。
公司对算法的广泛使用不仅改变了公司的运营和互动方式,而且还对市场向全球数字化的演变产生了显著的影响。而这种演变又促进了行业中更广泛的算法应用,形成了多米诺骨牌效应。正如Stucke和Ezrachi所论证的那样,当一些公司使用算法提高了效率之后,其他公司会感受到压力,进而开发类似的算法,将公司的运营数字化。如此一来,随着越来越多的公司依赖自动化系统,计算机科学家将更有动力去开发新的、先进的程序规则,公司也会有更强烈的动机将算法应用于新的业务之中。
3 算法在政府中的应用
算法不仅在商业领域中得到了越来越多的青睐,政府机构对算法的使用也越来越感兴趣,尤其是在侦查犯罪方面。在一些国家中,如美国,对犯罪行为类型进行分析的手段在朝着更加数据化的方向发展。麻省理工学院的博士生们在近期的一项研究中,同犯罪分析师们合作开发了名为“系列查找器”(“Series Finder”)的机器学习算法,该算法能够使用历史犯罪数据来分析入室盗窃的类型和作案手法。它被认为是可以帮助警方侦查犯罪并识别可能嫌疑人的有力工具。
示例3 韩国围标分析系统(bid-rigging indicator analysis system,以下简称BRIAS)
BRIAS是一个自动定量分析系统,它通过分析韩国公共机构的大量招投标数据来预测出现围标的可能性。自2013年以来,该系统共收集了51个中央政府机构、246个地方政府和26个公共企业的招投标信息。该系统通过权衡投标的成功率、参与拍卖的公司数、投标价格等各类信息来分析围标的可能性,并给出量化的结果。BRIAS的运作从收集数据、输入信息,到生成结果,可以分为三个阶段:
在第一阶段,BRIAS会收集与中央和地方部门的大规模招标合同相关的所有投标数据和信息。这些数据和信息均在批出标书(tender award)后的30天内收集完毕。
在第二阶段,系统会分析收集到的数据,通过评估各个相关因素,自动生成代表围标可能性大小的得分数。这些相关因素会被加权处理,加权后的各项得分相加即为最终分数。
在最后的阶段,BRIAS将根据得分数的大小对中标几率进行筛查。系统会标记出得分高于某一阈值的投标,韩国公平贸易委员会(Korean Fair Trade Commission ,以下简称KFTC)在之后会根据其标记对这类投标实施进一步的审查。
为了设计这一系统并确定潜在围标的筛查标准,KFTC以其之前的执法经验作为依据,预先设定了进行标记的基准。在此基础上,该系统会对以下情况下评出更高的分数:(1)某一公司的成功率很高;(2)招标过程中的投标方很少;(3)若干投标方的出价高于预估价格;(4)使用了非竞争性招标程序;(5)中标方和落标方的出价之间存在较大差距。当然,只有在各个因素的加权值得到正确平衡的情况下,该系统才有效。
除用于侦查犯罪之外,数据驱动的手段还被提议用来发现共谋行为。这一提议在有些领域已经进行了实践,尤其是使用筛查的方法对共谋行为进行监测。虽然市场竞争管理机构通常采取被动回应式的方式来检测和调查卡特尔,但人们认为被动回应和主动出击(包括筛查的方法)相结合的手段是更为有效的方式。许多竞争管理机构已经开始使用筛查的方法来检查围标的行为,这得益于公开招投标所积累的广泛、可靠的数据以及能够从大型数据集中检测出异常投标和可疑投标模式的算法。韩国公平贸易委员会(KFTC)就是其中的一例,该委员会曾多次通过筛查采购招投标数据成功检查出围标的阴谋(参见示例3)。
尽管人们发现其中存在一定的困难,但随着筛查技术的改进和可获取数据的增多,这一领域很可能会在不久的将来取得重大的进展。例如,Akhgar等人论述了利用机器学习算法来识别隐秘关系的可能性,这种关系的存在意味着公开招标中可能会有共谋。他们认为,通过特征工程,可以为机器学习算法提供足够丰富的特征集,从而使其能够检测哪怕是相当复杂的合谋投标方案。这涉及对不同的共谋投标模式进行标记,并将它们与机器学习算法可以计算和使用的相应特征值进行一一关联。算法在检测共谋竞标行为以及其他更为一般性的卡特尔行为中的应用,为公共部门应用技术手段开展反垄断执法揭示了前所未有的可能性。
本文仅作学习交流之用
Peto Poghosyan
往期荐读
编辑:钟柳依
欢迎点击“阅读原文”