且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《Scala机器学习》一一2.6 优化和交互

更新时间:2022-10-02 18:57:39

本节书摘来自华章计算机《Scala机器学习》一书中的第2章,第2.6节,作者:[美] 亚历克斯·科兹洛夫(Alex Kozlov),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.6 优化和交互

虽然收集的数据只能用于理解业务,但任何数据驱动业务的目标是通过基于数据和模型的决策来自动优化业务行为。人们希望将人为干预减少到最低限度。下面这个简图可以描述一个周期:
对于进入系统的新信息反复执行该循环。可以通过调整系统的参数来提高整个系统性能。
反馈回路
虽然大多数系统仍然需要人们的参与,但是近几年来出现了可以自己管理整个反馈循环的系统,其范围可从广告系统到自动驾驶汽车。
这个问题属于最优控制理论,也是一个让成本函数最小化的优化问题,人们用一组微分方程来描述该系统的成本函数。最优控制是通过一组控制策略来让成本函数在给定约束的情况下变得最小。例如,为了在一定时间内完成给定的路线,需要找到一种方法来驱动汽车,使其消耗的燃料最小;另外一个例子是在有限库存和有限时间的情况下,在网站上投放广告获得最大利润。用于***控制的大多数软件包是用高级语言(比如C或MATLAB(PROPT、SNOPT、RIOTS、DIDO、DIRECT和GPOPS))编写的,但它们能提供Scala的接口。
但在许多情况下,用于优化、状态转换和微分方程的参数是不确定的。马尔可夫决策过程(MDP)提供了一种用于建立决策模型的数学框架,这些决策的结果有一部分是随机的,有一部分是在决策者的控制下得到的。在MDP中,需要处理一组离散的可能状态和一组动作。“奖励”和状态转换取决于状态和动作。MDP可用来研究优化问题的求解,这些优化问题是基于动态规划和强化学习的。