智能决策
这几年,人工智能有非常大的发展,比如图像识别、语言识别等技术,应用领域包括自动驾驶、智能诊断等。但机器学习或人工智能的本质到底是什么呢?这个问题有很多角度,但在我看来,机器学习或人工智能应用到具体问题中的话,它的核心也是两部分,一部分是模型,另一部分是算法。比如在自动驾驶中,我们需要通过模型判断如何识别障碍物或路况,有模型之后,我们需要通过算法求解这个模型。
这里的算法包括两个部分,首先模型中存在大量参数,我们需要通过算法找到模型中的参数,使得模型能最好地刻画想刻画的场景。另外,通过算法求解最优决策。在自动驾驶中,我需要决定车往左走多少度或往右走多少度;在游戏里要决定我下一步做什么。算法的第二部分就是在模型基础上做出最优决策。
我认为,机器学习和人工智能在解决实际问题的任何场景中,核心部分仍然是模型和算法两部分,虽然不同的场景有可能有不同模型和算法,这与上面介绍的运筹优化是一致的。
机器学习与运筹优化关系
很多时候,机器学习本身的核心也是运筹优化的一部分。机器学习中一个非常经典的问题:支持向量机问题,简称SVM问题。
这个问题的背景是这样的:我有很多数据点,我知道一些数据属于某种类别,另一些不属于,我需要找到方法区分这两类数据点,如果有新数据点进来,我就可以判断其是否属于某个类别,这可以用到智能诊断中。数据点对应病人的病历,通过历史数据,我们知道某些病人患有哪些疾病,通过这样的分类,我们对未来病人自动诊断。
这类问题的应用场景非常广泛,除去刚才提到的智能诊断之外,还比如垃圾邮件自动分类、模式识别等,甚至一些图像识别都可以用类似方法处理。这是非常基本、也是非常核心的机器学习问题,从数学角度来看,这个问题无非就是优化问题。
上面PPT的右上角坐标系中,我们希望找到一种分割方式,把红点和蓝点尽可能地区分开。假设先考虑简单的划分方法,比如找到一条直线尽可能将红点和蓝点区分,那么,决策就是找到这条线,这条线对应运筹优化中的决策。有了决策,即我们找到了这条线之后,未来有一个新的点,只需判断其在线上还是线下,就能判断它是红色还是蓝色。
我们的目标是尽可能使这条线把不同类别的数据点能够分开。在实际情况,显然不可能有一条线数据点彻底分开,必然存在误差,这种情况下,我们就要尽量减小误差。除此之外,实际中对于这些线也有约束,比如参数要满足特定条件。
这样,我们可以把这个问题写成优化问题,通过求解找到最优参数。如今,通过一些先进的优化算法,可以非常有效地求解这类优化问题,把这类问题转化线性规划问题或凸优化问题,现在算法可以非常有效地求解。对于上述问题,哪怕存在几百万变量求解也可以很容易,在笔记本电脑上求解可能只需要几秒或者几分钟。其中的核心是优化算法。
刚才我们是用直线划分,其实我们也可以用其他形状划分,比如椭圆、圆形等。不同情况对应不同的模型,不同的模型对应不同的优化问题,写优化问题的时候需要修改,修改后又会面临求解问题,其中会涉及到优化问题求解算法。其中,优化模型和算法是机器学习问题的关键。
实际上,基本所有机器学习问题都可以归类成优化问题,我们需要选择的是机器学习模型下的参数,用x表示;历史的数据用D表示,我们要寻找最优参数使其可以最好描述历史数据。f表示x和D的拟合程度,通常对于x,我们会加一些惩罚函数使得x满足某种条件,甚至有时对x加一些约束条件。
从这个角度来讲,所谓的机器学习问题,本质上都是优化问题,如果我们有优化算法方面的优势,意味着我们也有机器学习算法的优势。
研究机器学习或讨论机器学习时,一方面模型的选取非常重要,另外一方面,背后的优化算法也很重要,这些才是使你在面对新模型或复杂场景时都找到好的解决方案的基础。
机器学习、运筹优化、应用案例
一、在线匹配问题
我简单介绍一下静态匹配问题,在很多场景中我们都会面临这样的问题,即将供给和需求进行匹配,比如打车软件需要将出租车司机和乘客进行匹配;搜索引擎需要把搜索关键词和广告商进行匹配;在线交友网站需要把男生和女生进行匹配,其中每一个匹配都有其分数,即两端匹配程度。
在静态的匹配问题中,我们的目标是供给与需求如何匹配以最大化匹配总分数,这样的问题实际上就是典型的优化问题。我们按照刚才说的决策目标和约束,把它写成优化问题。
在实际场景中会存在一些约束,比如一个供给只能匹配给一个需求,一个需求只能配给一个供给,以及一些更复杂约束都有需要考虑,但是不管怎样,我们把这个问题写成优化问题,有好的算法之后就可以高效求解。
上面讲的是静态匹配问题,即假设匹配的两端都是在确定的情况下进行匹配的。但在实际场景中,我们通常面临动态或在线的问题,比如在打车过程中,车和乘客都是动态出现的;在搜索引擎场景下,匹配一端比如广告商是固定的,但关键词是逐个出现的,每出现一个关键词的时候都要决定把它匹配给哪个广告商。这些问题涉及不确定性,我们在匹配这个需求的时候,并不知道未来可能还会产生哪些需求或者供给,但目标仍是使得最终匹配分数最大,在某个时间段或长时间维度上获得最大价值。这就是一个不确定性下的优化问题。
这个问题就比静态匹配问题复杂不少,但我们仍然可以把它写成优化问题形式,只不过在这类优化问题中,系数不是事先给定而是动态生成的,我们可以用多种方式假设,比如这些系数可能是按某种概率分布生成的,甚至我们可能都不知道这些系数分布,只知道出现的顺序是随机的。我们可以有不同的假设,但在每一个点产生之后,我们要决定如何进行分配,是分配给某资源?或不匹配这个点,这就是实际中做决策的问题。
实际上,对于做运筹优化的人来说,我们要对这个问题设计一系列算法,即如何决策才能达到最优目标。经过一系列研究之后,人们提出一些算法。其中一种算法是,观察少量样本,求得每个右端资源j的“合理”价格,在优化里称之为“对偶变量”。当新的需求或匹配产生之后,将匹配分数和所需消耗资源的价值进行比较,看这个匹配是否带来了应有的价值,如果匹配的价值比计算出的合理价格高的化,我们就进行这个匹配,而且选择其中最有匹配使得价值比价格高最多。否则,就拒绝这个匹配请求,这就形成了可以实际运行的算法。
另外, 做运筹优化的人不仅是提出一个算法,还希望能证明一个算法确实能够达到最优的决策,实际上,通过一些数学方法也可以证明。
从某方面看,这个问题也有一个机器学习的成分,比如通过不断观察样本,机器可以学习每件商品的价值。本质上,这也是优化结合随机建模的问题,我们刚才讲到优化和随机建模是运筹学的两大核心内容,通过这样的算法和模型,我们可以面对这种实际的场景,达到长期最优的策略。
二、收益管理
第二个是关于收益管理的场景。简单来说,收益管理就是定价和销售问题,商家要决定其商品以什么形式什么价格卖给消费者,或者说希望以正确的时间将正确的商品以正确的价格卖给正确的人,通常在进行收益管理的决策的时候会有这样的过程。
首先是数据采集;然后根据数据对消费者进行分析,比如客户挖掘、对消费者进行标注、分析消费者对价格的敏感程度等;在此基础上进一步决策,比如用什么样的价格买哪些商品、什么时间卖等。实际上这部分与我们开始说的从数据到决策的链条是一致的。
其中一个很重要的问题叫组合定价问题。商家要管理很多商品,商品之间可能会有需求的关联性,比如同时销售可乐和百事的话,一种商品的价格可能会影响另一种商品的销量,在这种情况下,商家需要决定如何对多种商品进行组合定价。其中的决策就是每一种商品的具体价格,目标是未来最大化整体收益,这个过程也涉及建模和求解两个步骤。
这里也有很多模型,比如通过消费者选择模型刻画消费者对商品的选择,其中用到优化和机器学习选择最好的模型。有了模型之后,我们要决定如何定价以最大化利润或销量等,这就变成了非常经典的优化问题。除定价以外,商家还面临着像选品、商品展示区等问题,仍然需要考虑到商品之间互相影响情况,这些问题均可以写成优化问题,同样需要优化算法对这类问题求解。
三、动态定价
上述组合定价问题可以看做静态问题,在实际中我们经常遇到动态问题。一开始,我们对消费者的偏好不是非常了解,希望通过动态定价、数据收集来了解消费者对商品的偏好、或学习消费者的行为,这就涉及如何动态定价的问题。我们要确定到底要通过多少数据点、怎么设计这些价格以学习消费者行为,同时不能由于定价波动太大造成收益损失、或对消费者产生负面影响,我们要确定什么样的方案是长期最优方案,既能学习到消费者对商品的偏好,又能够获得最大收益,这个可以认为是机器学习问题,也可以看做运筹优化和机器学习结合问题。
同样,关于这类问题有大量算法,但重要的是,我们不仅要提出算法,还要证明这个算法是所有算法中最好的。
四、路径优化
我们之前也提到过,像电商、物流公司等企业在经营过程中都会面临这样的问题:比如每天要把货物送达几个消费者,想要设计一条在最短的时间或路程内完成任务的路线,这就是路径优化问题的基本形式。
有许多优化模型或算法可以求解这个模型,但实际生活中,基于这个基本的场景还有很多非常复杂的变化或需求,比如不仅要送货,还要取货;不仅是一个人送货,可能有很多人或车要送货或取货,这就涉及到车辆和人员的分配问题;或有些需求不是事先确定的,还有一些实时需求,比如快递员突然接到上门取件的订单;另外,在送货路途上花费的时间也有很大不确定性,这些情况下,就需要在线算法应对这样的需求。现在比较火的自动化仓库管理,机器人管理仓库时会遇到货物摆放问题、机器人如何取货问题等,这里要平衡不同机器人之间任务以及优化每一个机器人路径,其中也会面临复杂的建模和求解问题。
实际场景中的问题是非常复杂的,而把这些场景的要求转化为数学模型,之后进行求解,这是运筹优化最擅长的。
总结:
说了这么多,我希望大家能了解这几点:
总的来说,国内运筹优化的发展比美国要落后一些,美国很多的大企业,像亚马逊、谷歌或者一些物流企业,内部都有一大批运筹学背景的团队来解决公司生产可能面临的问题,比如亚马逊中有50~200个的运筹学博士做定价、库存、物流等方面的决策支持。这方面,国内要落后一些,但我认为,未来几年,国内很多企业会在这方面转型,过程中正需要运筹优化的技术,这些技术帮助企业将大数据转换为真正的决策。
相关文章:
大数据反欺诈+保险赔付:看互联网保险如何普惠
IBM人工智能技术商业化落地现状:目前已渗透到60多个职业领域
盘点 | 过去一年拿到融资的脑机接口玩家