摘要

许多现实世界的分析问题涉及两个重大挑战:预测和优化。 由于每个挑战的典型复杂性,标准范式是预测然后优化。 总的来说,机器学习工具旨在最大限度地减少预测误差,并没有考虑在下游优化问题中将如何使用预测。 相比之下,我们提出了一个新的非常通用的框架,称为智能“预测,然后优化”(SPO),它直接利用优化问题的结构,即它的目标和约束,来设计更好的预测模型。 我们框架的一个关键组成部分是 SPO 损失函数,它测量由预测引起的决策误差。
训练关于 SPO 损失的预测模型在计算上具有挑战性,因此我们使用对偶理论推导出一个凸替代损失函数,我们称之为 SPO+损失。 最重要的是,我们证明了 SPO+ 损失与温和条件下的 SPO 损失在统计上是一致的。
我们的 SPO+ 损失函数可以轻松处理任何具有线性目标的多面体、凸面甚至混合整数优化问题。 最短路径和投资组合优化问题的数值实验表明,SPO 框架可以在预测然后优化范式下带来显着的改进,特别是当正在训练的预测模型被错误指定时。 我们发现使用 SPO+ 损失训练的线性模型往往会主导随机森林算法,即使基本事实是高度非线性的。
关键词:规范分析; 数据驱动的优化; 机器学习; 线性回归

引言

在运筹学的许多实际分析应用中,机器学习和优化的组合被用来做出决策。 通常,优化模型用于生成决策,而机器学习工具用于生成预测模型,该模型预测优化模型的关键未知参数。 由于这两项任务固有的复杂性,分析实践中经常采用的广泛用途方法是预测然后优化范式。
例如,考虑一天可能要解决多次的车辆路径问题。
首先,预先训练的预测模型根据当前交通、天气、假期、时间等,对道路网络所有边缘的行程时间进行预测。
优化求解器使用预测的旅行时间作为输入提供接近最优的路线。
我们强调,现实世界分析问题的大多数解决方案系统都涉及预测和优化的某些组成部分(参见 Angalakudati 等人(2014 年)、Chan 等人。
(2012), Deo 等人。 (2015 年),加利恩等人。 (2015),科恩等人。 (2017), Besbes 等人。 (2015), Mehrotra 等人。 (2011),陈等人。 (2013 年),费雷拉等人。 (2015 年)Simchi-Levi(2013 年)、den Hertog 和 Postek(2016 年)、Deng 等人最近的例子和最近的论述。 (2018)、Mišić 和 Perakis (2020))。 除了一些有限的选项外,机器学习工具并没有有效地说明预测将如何用于下游优化问题。 在本文中,我们提供了一个称为智能“预测,然后优化”(SPO)的通用框架,用于训练有效利用名义优化问题结构(即其约束和目标)的预测模型。 我们的 SPO 框架从根本上设计为生成旨在最小化决策错误而非预测错误的预测模型。
我们的 SPO 方法的一个主要好处是它保持了顺序预测然后优化的决策范式。 然而,在训练我们的预测模型时,显式使用了名义优化问题的结构。 预测的质量不是基于预测误差(例如最小二乘损失或其他流行的损失函数)来衡量的。 相反,在 SPO 框架中,预测的质量由决策误差来衡量。 也就是说,假设使用历史特征数据(x1,…,xn)和相关参数数据(c1,…,cn)训练预测模型。 让 (ˆc1, . . ., cˆn) 表示训练模型下参数的预测。 例如,最小二乘 (LS) 损失用平方范数 kci − cˆik 2 2 测量误差,完全忽略由预测引起的决策。 相比之下,SPO 损失是由 c^i 引起的决策的真实成本减去真实参数 ci 下的最优成本。 在车辆路线规划的背景下,SPO 损失衡量由于在预测的而不是真实的边缘成本参数上解决路线问题而导致的额外旅行时间。
在本文中,我们专注于预测上下文随机优化问题的未知参数,其中参数在目标函数中线性出现,即任何线性、凸或整数优化问题的成本向量。 我们的 SPO 框架的核心是用于训练预测模型的新损失函数。 由于 SPO 损失函数难以使用,因此大量工作围绕着导出替代损失函数 SPO+ 展开,该函数是凸的,因此可以有效地优化。 为了证明有效性替代 SPO+ 损失,我们证明了非常理想的统计一致性属性,并表明与标准的预测然后优化方法相比,它在经验上表现良好。
本质上,我们证明了最小化与 SPO+损失相关的贝叶斯风险的函数是回归函数 E[c|x],它也最小化了 SPO 损失的贝叶斯风险(在温和的假设下)。 有趣的是,在相同条件下,E[c|x] 还最小化了与 LS 损失相关的贝叶斯风险。 因此,SPO+ 和 LS(或两者的任何凸组合)本质上是“平等​​的”——对于损失函数,它们在理论上都是有效的(一致的)和计算上易于处理的选择。 然而,当最终目标是解决下游优化任务时,SPO+ 损失是自然的选择,因为它是为优化问题量身定制的,并且在实践中比 LS 好得多。
根据经验,我们观察到,即使由于模型指定错误而导致预测任务具有挑战性,SPO 框架仍然可以产生接近最优的决策。 我们注意到 SPO 框架的一个基本属性是要求将预测直接“插入”到下游优化问题中。 替代程序可能会以某种方式改变决策过程,例如通过增加稳健性或通过考虑整个数据集(而不仅仅是预测)。 我们的 SPO 方法的一个强大优势是,即使在朴素的预测问题具有挑战性时,它也具有良好的性能,请参见第 3.1 节中的说明性示例。 另一个优点是下游优化问题通常比更复杂的替代程序在计算上更易于处理并且对从业者更具吸引力。 另一方面,替代决策程序可以提供其他优势,例如通过引入偏差和/或鲁棒性提高泛化性能。 然而,在存在上下文数据的情况下设计此类程序更具挑战性,将它们与 SPO 方法相结合将是值得未来研究的。 总的来说,我们相信我们的 SPO 框架为设计可在现实世界优化设置中使用的操作驱动的机器学习工具提供了清晰的基础。
我们的贡献可以总结如下: 1. 我们首先正式定义了一个新的损失函数,我们称之为 SPO 损失,它测量预测具有线性、凸或整数约束的名义优化问题的成本向量时的误差。 损失对应于次优差距 - 相对于真实/历史成本向量 - 由于实施了由预测成本向量引起的可能不正确的决策。 不幸的是,SPO 损失函数可能是非凸的,并且预测不连续,这意味着在 SPO 损失下训练 ML 模型可能具有挑战性。
2. 鉴于 SPO 损失函数的难处理性,我们开发了一个替代损失函数,我们称之为 SPO+ 损失。 该替代损失函数是使用由对偶理论(命题 2)、数据缩放近似和一阶近似激发的一系列步骤推导出来的。 由此产生的 SPO+ 损失函数在预测中是凸的(命题 3),这使我们能够设计一种基于随机梯度下降的算法,以最小化 SPO+ 损失(命题 8)。 而且,在训练线性回归模型来预测线性程序的客观系数时,只需要解决一个线性优化问题即可最小化 SPO+损失(命题 7)。
3. 我们在 SPO 框架的一个非常简单和特殊的实例下证明了与经典机器学习的基本联系。 也就是说,在这种情况下,SPO 损失恰好是 0-1 分类损失(命题 1),而 SPO+ 损失恰好是铰链损失(命题 4)。 铰链损失是流行的 SVM 方法的基础,是近似最小化 0-1 损失的替代损失,因此我们的框架将这个概念推广到一个非常广泛的具有约束的优化问题系列。
4. 我们证明了 SPO+ 损失函数的关键一致性结果(定理 1、命题 5、命题 6),这进一步激发了它的使用。 也就是说,在完整的分布知识下,如果两个温和的条件成立,最小化 SPO+ 损失函数实际上等效于最小化 SPO 损失:成本向量的分布(给定特征)是连续的并且关于其均值对称。 例如,标准高斯噪声近似满足这些假设。 这种一致性属性被广泛认为是统计和机器学习文献中任何替代损失函数的基本属性。 比如著名的hinge loss和logistic loss函数就符合0-1分类损失。
5. 最后,我们通过最短路径和投资组合优化问题的数值实验来验证我们的框架。 我们根据标准的预测然后优化方法测试我们的 SPO 框架,并评估与 SPO 损失相关的样本外性能。 一般来说,我们的 SPO 框架的价值随着模型错误指定程度的增加而增加。 这正是因为 SPO 框架做出了“更好”的错误预测,本质上是“欺骗”优化问题以寻找接近最优的解决方案。 值得注意的是,使用 SPO+ 训练的线性模型甚至在最先进的随机森林算法中占主导地位,即使基本事实是高度非线性的。
1.1应用
需要从上下文(特征)数据预测优化问题的输入参数(成本向量)的设置很多。 现在让我们重点介绍 SPO 框架的一些应用领域,其中可能有很多。
车辆路线。 在许多应用中,需要在做出路由决策之前预测图每条边的成本。 边的成本通常对应于车辆穿越相应边所需的预期时间长度。 为了清楚起见,让我们关注一个重要的例子——最短路径问题。 在最短路径问题中,给定一个带权有向图,以及一个起点节点和终点节点,目标是以最小的成本找到从起点到终点的一系列边。 一个众所周知的事实是,最短路径问题可以表述为线性优化问题,但也有替代的专门算法,例如著名的 Dijkstra 算法(参见,例如,Ahuja 等人(1993))。 用于预测边缘成本的数据可能包括长度、速度限制、天气、季节、日期以及来自谷歌地图和 Waze 等移动应用程序的实时数据。 简单地最小化预测误差可能不够也不合适,因为高估或低估对整个网络的影响截然不同。 SPO 框架将确保预测的权重导致最短路径,并且自然会强调对这一决策至关重要的边估计。 有关深入示例,请参见第 2 节中的图 3
Inventory Management. 在库存计划问题中,例如经济批量大小问题(Wagner 和 Whitin(1958))或联合补货问题(Levi et al.
(2006)),需求是优化模型的关键输入。 在实际环境中,需求是高度不稳定的,可能取决于历史和上下文数据,例如天气、季节性和竞争对手的销售额。 何时订购库存的决定由线性或整数优化模型捕获,具体取决于问题的复杂性。 在一个常见的公式下(见 Levi et al. (2006), Cheung et al. (2016)),需求在目标中线性出现,这对于 SPO 框架来说很方便。 目标是设计一个预测模型,将特征数据映射到需求预测,进而产生良好的库存计划。
投资组合优化。 在金融服务应用中,潜在投资的回报需要以某种方式从数据中估计出来,并且可能取决于许多特征,通常包括历史回报、新闻、经济因素、社交媒体等。 在
typically include historical returns, news, economic factors, social media, and others. In 投资组合优化,目标是在投资组合的总风险或方差的约束下找到具有最高回报的投资组合。 虽然回报通常高度依赖于辅助特征信息,但方差通常要稳定得多,而且预测起来并不困难也不敏感。 我们的 SPO 框架将导致预测,从而导致满足所需风险水平的高性能投资。 最小二乘损失方法更加强调估计更高价值的投资,即使相应的风险可能并不理想。 相比之下,SPO 框架在训练预测模型时直接考虑了每项投资的风险。
1.2相关工作
也许最相关的工作是 Kao 等人的工作。 (2009),他还直接寻求训练一个机器学习模型,该模型可以最大限度地减少名义优化问题的损失。 在他们的框架中,名义问题是一个无约束的二次优化问题,其中未知参数出现在目标的线性部分。 他们的工作并没有扩展到名义优化问题有约束的设置,而我们的框架会这样做。 唐蒂等人。 (2017) 提出了一种启发式方法来解决比 Kao 等人更一般的设置。 (2009),并且还关注二次优化的情况。
这些工作还绕过了名义问题解的非唯一性问题(因为它们的问题是强凸的),必须在我们的设置中解决这些问题以避免退化的预测模型。
在 Ban 和 Rudin (2019) 中,训练 ML 模型以直接从数据预测报摊问题的最佳解决方案。 显示了该方法的可处理性和统计特性以及它在实践中的有效性。 但是,在存在限制的情况下如何使用这种方法尚不清楚,因为可能会出现可行性问题
Bertsimas 和 Kallus (2020) 中的一般方法考虑了使用机器学习模型准确估计未知优化目标的问题,特别是 ML 模型,其中预测可以描述为训练样本的加权组合,例如最近邻和决策树。 在他们的方法中,他们通过将 ML 模型生成的相同权重应用于这些样本的相应目标函数来估计实例的目标。 只有当目标函数在未知参数中为非线性时,这种方法才不同于标准的先预测后优化。 请注意,1.1 节中提到的所有应用程序的未知参数
线性地出现在物镜中。 此外,与 SPO 框架相比,ML 模型的训练不依赖于名义优化问题的结构。
Tulabandhula 和 Rudin (2013) 中的方法依赖于最小化损失函数,该函数将预测误差与模型在未标记数据集上的操作成本相结合。
但是,运营成本与预测参数有关,而不是与真实参数有关。 Gupta 和 Rusmevichientong (2017) 考虑在没有特征/上下文的设置中结合估计和优化。 我们还注意到,我们的 SPO 损失虽然在数学上不同,但在精神上与 Lim 等人中引入的相对遗憾的概念相似。 (2012) 在具有历史回报数据和没有特征的投资组合优化的特定背景下。 从数据中寻找接近最优解的其他方法包括操作统计(Liyanage 和 Shanthikumar(2005)、Chu 等(2008))、样本平均近似(Kleywegt 等(2002)、Schütz 等(2009), Bertsimas 等人 (2018b)) 和稳健优化(Bertsimas 和 Thiele(2006 年)、Bertsimas 等人(2018a)、Wang 等人)。
(2016))。 最近在样本的子模块优化方面也取得了一些进展(Balkanski et al. (2016, 2017))。 这些方法通常没有明确的使用特征数据的方式,也没有直接考虑如何训练机器学习模型来预测优化参数。
另一个相关的工作流是数据驱动的逆向优化,其中观察到优化问题的可行或最佳解决方案,并且必须学习目标函数(Aswani 等人(2018)、Keshavarz 等人(2011)、Chan 等人(2014 年)、Bertsimas 等人(2015 年)、Esfahani 等人(2018 年)。 在这些问题中,通常有一个未知的目标,并且没有提供目标的先前样本。 我们还注意到,最近有一些正则化方法(Ban 等人(2018 年))和模型选择(Besbes 等人(2010 年)、Den Boer 和 Sierag(2016 年)、Sen 和 Deng(2017 年))在 一个优化问题。
最后,我们注意到我们的框架与结构化预测的一般设置有关(参见,例如 Taskar 等人(2005)、Tsochantaridis 等人(2005)、Nowozin 等人(2011)、Osokin 等人( 2017)和其中的参考资料)。 受计算机视觉和自然语言处理问题的启发,结构化预测是多类分类的一种版本,它涉及从特征数据中预测结构化对象,例如序列或图形。 SPO+ 损失在本质上与结构化 SVM (SSVM) 相似,并且确实是 SPO 损失的凸上界,类似于 SSVM。 然而,有与我们的方法和 SSVM 方法有根本区别。 在 SSVM 方法中,要预测的结构化对象是直接从特征 x 中得到的决策 w(Taskar et al. (2005))。 在我们的设置中,我们可以访问关于 c 的历史数据,这比对决策的观察更丰富,因为成本向量自然会导致最优决策。
在我们框架的一种特殊情况下,我们证明 SPO 损失相当于 0/1 损失,而 SPO+ 损失相当于铰链损失。 因此,我们的框架可以看作是 SSVM 的一种泛化。 最后,我们注意到,我们对替代 SPO+ 损失的推导依赖于使用对偶理论的全新想法,这有助于解释强大的经验表现。

预测再优化框架

我们现在描述“预测,然后优化”框架,它是实践中许多优化应用的核心。 具体来说,我们假设存在一个具有线性目标的标称优化问题,其中决策变量 w ∈ R d 和可行区域 S ⊆ R d 是明确定义的并且是确定性的。 但是,目标的成本向量 c ∈ R d 在必须做出决定时不可用; 相反,一个相关的特征向量 x ∈ R p 是可用的。 设 Dx 是给定 x 的 c 的条件分布。
决策者的目标是解决任何以 x 为特征的新实例的上下文随机优化问题

预测然后优化框架依赖于使用对 Ec∼Dx [c|x] 的预测,我们用 cˆ 表示,并基于 cˆ 解决优化问题的确定性版本,即 minw∈S cˆ ⊤w。 我们在本文中的主要兴趣在于为预测然后优化框架定义合适的损失函数,检查它们的属性,以及开发使用这些损失函数训练预测模型的算法。
我们现在正式列出我们框架的关键成分:
1.名义(下游)优化问题,其形式为

其中 w ∈ R d 是决策变量, c ∈ R d 是描述线性目标函数的问题数据, S ⊆ R d 是一个非空的、紧凑的(即,封闭和有界),并且
表示可行区域的凸集。由于我们这里关注的是线性优化问题,因此不失一般性的假设 S 是凸的和封闭的。实际上,如果 (2) 中的 S 可能是非凸的或非封闭的,那么用其封闭的凸包替换 S 不会改变最优值 z ∗© (Jaggi 中的引理 8 (2011))。因此,线性优化问题的这种基本等价性意味着我们的方法可以应用于组合和混合整数优化问题,我们将在 3.2 节中进一步阐述。由于假设 S 是固定的并且是确定的,每个问题实例都可以用相应的成本向量来描述,因此依赖于 (2) 中的 c。在求解 c 未知的特定实例时,将改为使用 c 的预测。我们假设可以访问一个实际上有效的优化预言机 w ∗ ©,它为任何输入成本向量返回 P© 的解决方案。例如,如果 (2) 对应于线性、圆锥或混合整数优化问题,那么商业优化求解器或专门的算法就足以满足 w ∗(C)。

2.形式为 (x1, c1),(x2, c2), 的训练数据。. .,(xn, cn),其中 xi ∈ X 是表示与 ci 关联的上下文信息的特征向量。

的成本矢量预测模型
3.一种假说H级F:X → [R d,其中c := F(X)被解释为与特征矢量x关联的预测成本矢量。

4.一种损失函数ℓ (· ,· ):R d × [R d → R +,由此ℓ (C,C)量化在使预测c中的误差时所实现的(真)成本向量实际上为c。

给定损失函数ℓ ( · , · ) 和训练数据 (x1, c1), . . .,(xn, cn),经验风险最小化 (ERM) 原则指出,我们应该通过求解优化问题来确定预测模型 f ∗ ∈ H

提供预测模型f ∗并给定特征向量x,预测然后优化决策规则是针对预测的成本向量选择最优解,即w ∗ (f ∗ (x))。附录 A 中的示例 1 将我们的框架置于网络优化问题的上下文中。

在“预测,然后优化”框架的标准应用中,如示例 1 所示,所使用的损失函数完全独立于名义优化问题。

换句话说,优化问题 P( · )的底层结构不会影响损失函数,因此不会影响预测模型的训练。例如,当ℓ (C,C)= 1 2 KC - CK 2 2,这对应于最小平方(LS)的损失函数。此外,如果 H 是一组线性预测变量,则 (3) 简化为标准最小二乘线性回归问题。相比之下,我们在第 3 节中的重点是构建损失函数,该函数通过利用问题结构来衡量预测成本向量中的决策错误。

有用的符号。设 p 为特征向量的维度,d 为决策向量的维度,n 为训练样本的数量。令 W ∗ © := arg minw ∈ S c T w表示 P( · )的最优解集,让 w ∗ ( · ) : R d → S 表示用于解决 P( · )的特定预言机。也就是说,w ∗ ( · ) 是一个固定的确定性映射,使得 w ∗ © ∈ W ∗ ©。请注意,对于映射 w ∗ ( · )没有任何特殊假设,因此 w ∗ © 可以被视为 W ∗ ©的任意元素。令ξ S( · ) : R d → R 表示 S 的支持函数,其定义为ξ S© := maxw ∈ S{c Tw}。由于 S 是紧致的,ξ S( · ) 处处都是有限的,定义中的最大值对于每个 c ∈ R d都达到,并注意ξ S© = − z ∗ ( − c) = c Tw ∗ ( − c) 对于所有 c ∈ R d 。还记得ξ S( · ) 是一个凸函数。对于给定的凸函数 h( · ) : R d → R, 回想一下 g ∈ R d 是 h( · ) 在 c ∈ R d处的子梯度,如果 h(c ′ ) ≥ h© + g T (c ′ − c) 对于所有的 c ′ ∈ R d ,h( · ) 在 c 处的子梯度集由∂ h© 表示。对于两个矩阵 B1, B2 ∈ R d × p ,迹内积表示为 B1 • B2 := trace(BT 1 B2)。最后,我们注意到框架名称的灵感来自 Farias (2007)。

SPO损失函数

在这里,我们引入了几个属于预测然后优化范式的损失函数,但它们也很聪明,因为它们在测量预测误差时考虑了名义优化问题 P( · )。我们将这些损失函数称为智能“预测,然后优化” (SPO)损失函数。作为起点,让我们考虑一个真正的 SPO 损失函数,它可以准确测量由于成本向量预测不精确而做出次优决策时产生的超额成本。继PO范例,给定一个成本矢量预测Ç ,决定w ^ * (C)是基于解决P(实现的C)。判决后W * (三)实施后,所发生的费用相对于实际被实现的成本向量c。

多余的成本,由于这样的事实,w ^ * (C)可能不是最优的相对于c是那么C繁体* (三)- Z ^ * (C),我们称之为SPO损失。在图 1 中,我们展示了具有相同预测误差的 c 的两个预测值如何导致不同的决策和不同的 SPO 损失。

事实上,图1示出了SPO损失可以是0,当S是一个多面体如果- Ç对应于极端点w在于锥体* (C),或者当S是椭圆和c是在相同的方向并平行于 c. 定义1形式化与使预测C相关联这个真实SPO损耗时的实际成本向量为c,给定特定的Oracle瓦特* (· )为P(· )。
注释 在这两个图中,我们考虑了二维多面体和椭圆的可行域 S。 我们绘制了真实成本向量 C 的(负值)以及与 C 等距且具有相等 LS 损失的两个候选预测 A 和 Hu。 可以看出,ĉA的最优决策与c的最优决策是一致的,因为w∗(A)=w∗©。 在多面体示例中,任何不在灰色区域内的负预测成本向量都会导致错误决策,而在椭圆示例中,任何与 c 不完全平行的预测成本向量都会导致错误决策。
定义 1(SPO 损失)。鉴于成本向量预测Ç和实现成本矢量c,真正的损失SPO ℓ瓦特* SPO( C,C)WRT优化oracle的瓦特* (· )定义为ℓ瓦特* SPO( C,C): =(C T)瓦特* (C) - ž * (c)中。

请注意,定义 1 有一个不幸的缺陷,即依赖于用于解决 (2)的特定预言机 w ∗ ( · )。实事求是地讲,这方面的不足不是主要的问题,因为我们通常应该期待w ^ * (C)是一种独特的最佳解决方案,即,我们应该期待w ^ * (C)是一个单例。请注意,如果选自W的任何溶液* (c)可以由损耗函数,则损耗函数实质上成为minw使用∈ w ^ * (C)ÇTw的- ž * (c)中。因此,一个预测模型将被诱因总是使简并预测Ç因为W = 0 * (0)= S。然后,这将意味着,SPO损失为0。

在任何情况下,如果人们希望解决定义 1 中对特定预言机 w ∗ ( · )的依赖性,那么通过假设已实施的决策具有关于 c 的最坏情况行为来“打破联系”是最自然的。定义 2 是另一种 SPO 损失函数,它不依赖于优化预言机 w ∗ ( · )的特定选择。

定义 2(明确的 SPO 损失)。鉴于成本向量预测Ç和实现成本矢量c中,(明确的)真SPO损失ℓ SPO( C,C)被定义为ℓ SPO( C,C):= maxw ∈ w ^ * (c)中c Tw − z * ©。

需要注意的是定义2只提出了一个版本的真实SPO损失的是上限从定义1,即版本,它认为ℓ w ^ * SPO(C,C) ≤ℓ SPO(C,C)的所有C,C ˆ ∈ R d 。如前所述,定义 1 和定义 2 之间的区别仅与退化情况相关。

在此处的结果和讨论中,我们使用定义 2 给出的明确的真实 SPO 损失。通过回忆定义 2 上限定义 1 和2个损失函数几乎总是除了退化情况,其中W等于* (c)中具有多个最优解。

注意,ℓ SPO( C,C)是不透到c的缩放,换句话说,它认为ℓ SPO(α C,C )= ℓ SPO( C,C)的所有α > 0。这属性是直观的,因为与预测C相关联的真实损失应该只依赖于P(的最优解· ),其不依赖于C的缩放。 此外,二元分类问题中的 0-1 损失函数也共享此属性。即,标签可以取的值在集合{ - 1,+ 1}和预测模型在预测R.值如果预测的值具有相同的符号作为真值,损耗为0,否则损失是1。即,给定的预测值c ∈ R和标签ç ∈ { - 1,+ 1},则0-1损失函数定义为ℓ 0 - 1(C,C):= 1(SGN(c) = c) 其中 sgn( · ) 是符号函数,1( · ) 是一个指示函数,如果其输入为真则等于 1,否则等于 0。

因此,0-1 损失函数也与预测的尺度无关。这种相似性并非巧合;事实上,命题 1 说明二元分类是 SPO 框架的一个特例。所有证明都可以在附录 B 中找到。

命题 1(SPO 损失概括 0-1 损失)。当S = [ - 1/2,+ 1/2]和c ∈ { - 1,+ 1},则ℓ SPO(C,C)= 1(SGN(C)= C),即,SPO损失函数与二元分类相关的 0-1 损失函数完全匹配。

现在,给定训练数据,我们有兴趣确定具有最小真实 SPO 损失的成本向量预测模型。因此,给定真实 SPO 损失ℓ SPO( · , · )的先前定义,预测模型将按照(3)中的经验风险最小化原则确定,从而导致以下优化问题:

不幸的是,上述优化问题在理论上和实践中都难以解决。事实上,对于一个固定的C,ℓ SPO(· ,c)可以连在C连续自瓦特* (C)(和整个集合W的* (C))可以不C连续。 此外,由于命题 1 表明我们的框架捕获了二元分类,因此求解(4)至少与优化 0-1 损失函数一样困难,这在许多情况下可能是 NP-hard(Ben-David 等人,2017 年)。

2003)。因此,我们有动力开发产生“合理”近似解决方案的方法(4),(i)优于标准 PO 方法,以及(ii)适用于训练样本数量为 n 和/或维度的大规模问题假设类 H 的数量可能非常大。

3.1举例说明

为了建立直觉,我们现在通过一个说明性示例将 SPO 损失与经典最小二乘 (LS) 损失函数进行比较。考虑一个非常简单的最短路径问题,有两个节点 s 和 t。从 s 到 t 有两条边,边 1 和边 2。因此,在此设置中,成本向量 c 是二维的,目标是简单地选择成本较低的边。我们不会在决策时直接观察 c,而只是观察与向量 c 相关的一维特征 x。我们的数据由 (xi , ci) 对组成,ci 是作为 xi 的函数非线性生成的。

决策者的目标是使用简单的线性回归模型从特征中预测每条边的成本。两条线的交点(对应每条边)

将在预测然后优化框架中发出决策边界信号。决策者应同时尝试 SPO 和 LS 损失函数来进行线性回归。在图 2 中,我们通过可视化一个特定数据集的残差和用于预测边 1 和边 2 成本的线性模型来说明 LS 和 SPO 之间的差异。在 LS 回归中,最小化残差平方和,这由图 2(a) 中的绿色和红色虚线表示。当使用 SPO 损失时,我们考虑“决策残差” ,它仅在预测导致选择错误边缘时发生。在这些情况下,SPO 成本是边 1 和边 2 的两个真实成本之间的幅度差异,如图 2(b) 所示。

在图 3 中,我们考虑了另一个数据集,但这次绘制了最优 LS 和 SPO 线性回归模型。在图 3 的第一个面板中,我们绘制了数据集和最佳决策边界。在第二个面板中,我们绘制了数据的最佳 LS 拟合,在最后两个面板中,我们绘制了 SPO 线性回归的两个不同的最佳解决方案。(事实上​​,SPO 拟合模型对于我们在第 3.2 节中推导出的 SPO+ 损失也是最佳的。)请注意,图 3 中的 SPO 损失为 0,因为没有图 2 中描述的决策错误。

从图 3 中可以看出,LS 线非常接近非线性数据,尽管 LS 的决策边界与最佳决策边界相距甚远。对于黑色和红色虚线之间的任何 x 值,决策者都会选择错误的边。相比之下,SPO 线根本不需要很好地近似数据,但其决策边界几乎是最佳的。事实上,尽管根本没有拟合数据,但 SPO 线的训练误差为 0。关键的直觉是,只要选择了错误的边,就会产生 SPO 损失,在这个例子中,可以构建在正确决策边界处交叉的线,这样就永远不会选择错误的边,从而导致 SPO 损失为零。请注意,唯一重要的考虑因素是线相交的位置,因此 SPO 线性回归不一定最小化预测误差。当然,可以使用 SPO 和 LS 损失的凸组合来克服生成的异常线条。实际上,对于 SPO 损失的 ERM 问题有无限最优解,所有这些都只需要线的交点出现在 x 值 0.8 和 0.9 之间

3.2 SPO+损失函数

在本节中,我们专注于推导出一个合理地逼近ℓ SPO( · , · )的易处理的代理损失函数。我们的替代函数ℓ SPO+( · , · ),我们称之为 SPO+ 损失函数,可以通过几个步骤推导出来,我们将在下面仔细证明这些步骤。理想情况下,当找到使用 SPO+ 损失最小化经验风险的预测模型时,该预测模型还将近似最小化(4),即使用 SPO 损失的经验风险。
笔记。 圆圈对应于边 1 的成本,正方形对应于边 2 的成本。 红线和点对应于最小二乘拟合和预测,而绿线和点对应于 SPO 拟合和预测。 垂直虚线对应真实模型和预测模型下的决策边界。 此程式化示例中的 SPO+ 决策边界与 SPO 决策边界一致。
为了开始推导 SPO+ 损失,我们首先观察到对于任何α ∈ R,SPO 损失可以写为

,由于Z * (C)= C ^ Tw的所有瓦特∈ w ^ * (c)中。显然,在更换约束瓦特∈ w ^ * (c)与瓦特∈在一个(5)的结果上界。由于这对于α 的所有值都成立,那么

事实上,用对偶理论可以证明不等式(6)实际上是一个等式,而且α的最优值趋于∞ 。直观地说,可以看到,如α变大,则该术语(C T)w的内最大化目标变得可忽略并且将溶液趋于瓦特* (α C ^ )= W * (c)中。因此,如α趋于∞ ,经S上的内最大化可以与最大化超过W¯¯替换* (c)中,用于回收(5)。我们在下面的命题 2 中将这种等价形式化。

提案 2(SPO 损失的双重表示)。对于任何成本向量预测Ç ∈ R d和实现成本矢量c ∈ [R d,函数α 7 → maxw ∈小号(C T)瓦特- α Ç Tw的+ α ž * (c)是单调R上递减,并真正的 SPO 损失函数可以表示为


第一个等式来自以下事实:对于任何α i > 0 , z ∗ ( α if(xi)) = α iz ∗ (f(xi)) 。第二个等式来自所有α i 变量都趋向的观察到相同的值,所以我们可以用一个变量替换它们,我们称之为α 。第一个不等式来自命题 2,特别是在(6)中设置α = 2 导致 SPO 损失的上限(我们将在下面重新讨论这个特定选择)。最后,第二个不等式源于 w ∗ (ci) 是 P(2f(xi)) 的可行解。

(9) 中的被加数表达式正是我们所说的 SPO+ 损失函数,我们在定义 3 中正式声明了它。

定义 3(SPO+ 损失)。鉴于成本向量预测Ç和实现成本矢量c中,SPO +损耗定义为ℓ SPO +(C,C):= maxw ∈小号ÇTw的- 2 c ^ Tw的+ 2 ÇTw的* (C)- z * ©。

回想一下,ξ S( · ) 是S的支持函数,即ξ S© := maxw ∈ S{c Tw}。使用此表示法中,SPO +损失可等效地表示为ℓ SPO +(C,C)= ξ秒(C - 2 C)+ 2 ÇTw的* (C)- Ž * (c)中。

在继续之前,我们将推理为什么用于推导 SPO+ 的不等式 (8) 和 (9) 确实是合理的近似值。尽管不等式 (8) 可以在没有之前的中间步骤的情况下导出,但我们现在声称这个不等式实际上是许多假设类的等式。也就是说,对于任何假设类 H,其中 f ∈ H 意味着对于所有α ≥ 0 的α f ∈ H ,那么不等式是严格的,因为最小化α f 等效于最小化 2f。例如,线性模型的假设类满足此属性,因为线性模型的所有标量倍数也是线性的。请注意,α被吸收到假设类别中是可能的,因为每个被加数中的α i 项可以被单个α替换,因为它们都趋于无穷大。我们特别选择α = 2(而不是任何其他正标量),因为 SPO+ 损失(在某些条件下)的贝叶斯风险最小化值恰好是 E[c|x],而不是 E[c|x] 的倍数。这个概念将在第 4 节中正式化。

最后一步,(9),在我们的凸代理 SPO+ 损失函数的推导中,涉及用一阶扩展逼近凹(非凸)函数 z ∗ ( · )。即,我们应用界限 z ∗ (2f(xi)) = 2z ∗ (f(xi)) ≤ 2f(xi) Tw ∗ (ci),这可以看作是 z ∗ (f(xi) ) 基于在 ci 计算的超梯度(即,它成立 w ∗ (ci) ∈ ∂ z ∗ (ci))。请注意,如果 f(xi) = ci ,则ℓ SPO(f(xi), ci) = ℓ SPO+(f(xi), ci) = 0 这意味着当最小化 SPO+ 时,直观地我们试图得到 f(xi) ) 接近 ci 。因此,人们可能期望 w ∗ (ci) 是 P(2f(xi)) 的近乎最优解,因此不等式 (9) 将是一个合理的近似值。事实上,第 4 节在某些假设下提供了一致性属性,这表明如果预测模型在足够大的数据集上训练,预测 f(xi) 确实合理地接近 ci 的预期值。

接着,我们说明下列命题形式上表明SPO +损失是在SPO损失上限及它的功能是在C凸。 注意,尽管在SPO +损失是凸起在C ,一般来说它是不可微的,因为ξ S(· )是不一般微的。

然而,命题3还示出了2(W * (C)-瓦特* (2 Ç - C))是SPO +损失,这被用在显影中第5节的计算方法的一个梯度。

命题 3(SPO+ 损失属性)。给定一个固定的成本实现矢量c,它认为:1. ℓ SPO(C,C) ≤ℓ SPO +(C,C),用于所有的C ∈ [R d,2. ℓ SPO +(C,C)是成本矢量预测℃的凸函数,和3。对于任何给定ç ,2(W * (C)-瓦特* (2 ç - C))是一个梯度ℓ SPO +(·在c)中的,即,2(W * (C)-瓦特* (2 ç - C))∈∂ℓ SPO +(C,C)。

SPO+损失函数的凸性也由铰链损失函数共享,它是0-1损失函数的凸上界。回想一下,给定的预测c中的铰链损失为MAX {0,1 - ç }如果真标签1和max {0,1 + c ^}如果正确标签是- 1。更简明地,铰链损失可以写为max {0,1 - CC }其中c ∈ { - 1,+ 1}是真正的标签。铰链损失是支持向量机 (SVM) 方法的核心,它被用作凸代理以最小化 0-1 损失。回想一下,在二元分类的此设置,SPO损失准确地描绘了0-1损失在命题1形式化在相同的设置,事实证明,所述SPO +损耗等于在2评估的铰链损失C,即,预测值的两倍,这在下面的命题 4 中被形式化。这种轻微的差异是由于我们在上述 SPO+ 损失的推导中选择了α = 2;α = 1的替代选择将准确地产生铰链损失。

命题 4(SPO+ 损失概括铰链损失)。在相同条件下为命题1时,即当S = [ - 1/2,+ 1/2]和c ∈ { - 1,+ 1},则认为ℓ SPO +(C,C)= MAX {0, 1 - 2CC },即,SPO +损失函数等效于与二元分类相关联的铰链损失函数。

备注 1(连接到结构化预测)。值得指出的是,前面描述的 SPO+ 损失的构造与结构化铰链损失的构造有一些相似之处(Taskar 等人(2004 年,2005 年),Tsochantaridis 等人。

(2005),Nowozin 等人。(2011)) 在结构化支持向量机 (SSVM) 中。此外,我们的问题设置通过利用目标扩展了结构化预测的问题

自然定义 SPO 损失函数的名义优化问题的成本。也就是说,如果我们定义 w ∗ i := w ∗ (ci),那么修改后的数据集 (x1, w ∗ 1 ),(x2, w ∗ 2 ), 。. .,(xn, w ∗ n ) 可以看作是结构化预测问题的训练数据。然而,这种减少丢弃了关于成本向量 ci 的有价值的信息,而 SPO+ 损失函数自然地利用了这些信息并限制了 SPO 损失的上限。因此,我们的框架(和替代 SPO+ 损失函数)可以被视为 SSVM 问题(和结构化铰链损失)的一种改进,用于存在自然成本结构的设置。

请注意,作为特殊情况,SPO+ 损失和结构化铰链损失都恢复了二元分类的常规铰链损失。铰链损失满足关于 0-1 损失的关键一致性属性(Steinwart 2002),这证明了它在实践中的使用是合理的。在第 4 节中,我们展示了在一些温和条件下 SPO+ 损失与 SPO 损失的相似一致性结果。另一方面,结构化铰链损失通常是不一致的(参见,例如,Zhang (2004) 中关于方程 (11) 的讨论),尽管在多类分类和结构化预测中表征一致损失函数的特性已经取得了结果( Zhang 2004、Tewari 和 Bartlett 2007、Osokin 等人 2017)。

备注 2(当 P( · ) 是组合或混合整数问题时)。正如前面提到的,S 是凸的和闭的假设不失一般性,因为人们可以简单地用(2)中的闭凸包替换一个可能非凸或非闭的集合,而无需改变最优值 z * (c )。更具体地说,假设 S ˜ ⊆ R d 是一个有界但可能是非凸或非闭集,并且 S 是 S ˜的闭凸包。进一步假设预言机 w ∗ ( · ) 在 S ˜ 中返回一个最优解,即 w ∗ © ∈ arg minw ∈ S ˜ c Tw ⊆ arg minw ∈ S c Tw 对于所有 c ∈ R d 。例如,如果 S ~表示组合或混合整数优化问题的可行区域,那么预言机将对应于该问题的实际有效算法。然后,利用 S ~上的线性优化等价于 S 上的线性优化这一事实,很容易看出,针对 S ~定义的 SPO 和 SPO+ 损失函数与针对 S定义的相应损失函数完全相等。 最后,使用命题 3,可以使用预言机 w ∗ © ∈ arg minw ∈ S ~c Tw 来计算 SPO+ 损失函数的次梯度,这可以在第 5 节中描述的计算方法中使用。

将 (4) 中的 ERM 原理应用于 SPO+ 损失会产生以下用于选择预测模型的优化问题:

论文的大部分剩余部分描述了有关问题 (10) 的结果。在第 4 节中,我们展示了前面提到的 Fisher 一致性结果,在第 5 节中,我们描述了解决问题 (10) 的几种计算方法,在第 6 节中,我们证明了 (10) 通常比标准 PO 方法提供更好的实际性能。接下来,我们提供了使用 SPO+ 损失的理论上的理由。

SPO和损失函数的一致性

在本节中,我们证明了一个基本的一致性属性,称为 Fisher 一致性,用于描述何时最小化 SPO+ 损失等同于最小化 SPO 损失。代理损失函数的 Fisher 一致性意味着在完全了解数据分布且对假设类别没有限制的情况下,最小化代理损失的函数也会最小化真实损失(Lin 2004,Zou 等人 2008)。也可以说替代损失是用真实损失校准的(Bartlett 等人,2006 年)。我们的结果类似于关于 0-1 损失的铰链损失和逻辑损失函数的众所周知的一致性结果——在全知的情况下最小化铰链和逻辑损失也最小化 0-1 损失——并为他们提供理论动机在实践中取得成功。

更正式地,我们让 D 表示 (x, c) 的分布,即 (x, c) ∼ D,并考虑真实 SPO 风险(贝叶斯风险)最小化问题的总体版本:


请注意,我们对 f( · )没有限制,这意味着 H 由任何可测量的函数映射特征到成本向量组成。

定义 4(Fisher 一致性)。损失函数ℓ (· ,· )被说成是费希尔相对于所述SPO损失一致如果arg MINF E(X,C) 〜d [ ℓ (F(X),C)](该组的极小的ℓ ) 的贝叶斯风险也最小化 (11)。

为了获得一些直觉,让 f ∗ SPO 和 f ∗ SPO+ 分别表示 (11) 和 (12) 的任何最优解。从(1)可以看出,f ∗ SPO(x)的理想值就是 E[c|x]。事实上,只要 P(E[c|x]) 的最优解是唯一的,概率为 1(在 x ∈ X的分布上),即几乎可以肯定,那么情况确实是 E[c|x ] 是 (11) 的最小值(见下面的命题 5)。此外,几乎肯定等于 E[c|x] 的任何函数也是(11)的极小值。在定理 1 中,我们表明,在假设 1 下,SPO+ 总体风险 (12) 的任何最小值都必须几乎肯定满足 f ∗ SPO+(x) = E[c|x],因此也使 SPO 风险 (11) 最小化。总之,在假设 1 下,SPO+ 损失与 SPO 损失一致。

假设 1. 这些假设意味着 SPO+ 损失函数的 Fisher 一致性。

  1. 几乎可以肯定,W ∗ (E[c|x]) 是单例,即 Px(|W ∗ (E[c|x])| = 1) = 1。

  2. 对于所有 x ∈ X ,c|x 的分布关于其均值 E[c|x] 中心对称。

  3. 对于所有 x ∈ X ,c|x 的分布在所有 R d 上是连续的。

12.可行域S内部非空。

定理 1(SPO+ 的费雪一致性)。假设假设 1 成立。那么,任何 SPO+ 风险 (12) 的最小值几乎肯定(在 x ∈ X的分布上)等于 E[c|x] 并且也是 SPO 风险 (11) 的最小值。因此,SPO+ 损失函数相对于 SPO 损失是 Fisher 一致的。

证明定理 1 的关键结果在 4.1 节中提供,最终证明在附录中给出。我们注意到假设 1.1 只需要证明 E[c|x] 是 SPO 风险的最小化。该假设相当温和,因为具有多个最优解的点集通常具有度量 0。事实上,如果使用使用给定优化预言机的 SPO 损失的定义 1,则可以删除假设 1.1。假设 1.2 确保 E[c|x] 是 SPO+风险的最小化。请注意,如果 d − E[d] 在分布上等于 E[d] − d,或者等价地在分布上等于 2E[d] − d ,则随机向量 d 是关于其均值中心对称的。例如,当假设数据的形式为 f(x) + ǫ其中ǫ是具有半正定协方差矩阵的零均值高斯分布时,满足这种对称条件。最后,假设 1.3 和 1.4 都是标准的,用于表明 E[c|x] 唯一地最小化 SPO+风险,除非可能在一组概率测度为零。请注意,假设 1.2 和 1.3 可以放宽到几乎可以肯定地针对 x ∈ X的概率测度成立;但为了便于表述,我们对所有的 x ∈ X说明它们。在第 4.1 节中,我们讨论了一些示例(在附录中提供),这些示例说明如果违反其中一个假设,我们的结果可能如何不成立。

如前所述,最小二乘 (LS) 风险的任何最小化器也几乎肯定等于 E[c|x],因此最小二乘损失也与 SPO 损失费雪一致。因此,先验地,一个人不能声称 LS 或 SPO+ 比另一个更好。事实上,我们直接从 SPO 损失推导出了一个自然的替代损失函数 SPO+,它保持了事实上的标准 LS 损失函数的基本一致性属性。

其实很容易看出,在假设1下,LS和SPO+损失函数的任何凸组合都是Fisher一致的。由于这种一致性属性适用于完全分布信息且没有模型错误指定(对假设类别没有限制),我们在第 6 节中表明 SPO+ 在几个实验设置中确实优于 LS,因为它能够根据优化任务定制预测。

4.1证明FIsher一致性的关键结果

在本节中,我们考虑了一个非参数设置,其中在不失一般性的情况下放弃了对特征 x 的依赖。要看到这一点,首先观察 SPO 风险满足 E(x,c) ∼ D[ ℓ SPO(f(x), c)] = Ex [Ec [ ℓ SPO(f(x), c) | x]],同样适用于 SPO+ 风险。

由于对 f( · )没有约束(假设类由所有预测模型组成),解决问题(11)和(12)等效于针对所有 x ∈ X单独优化每个函数值 f(x) 。因此,对于本节的其余部分,除非另有说明,否则我们将放弃对 x 的依赖。因此,我们现在假设分配d是仅在c和SPO和SPO +风险被定义为RSPO(C):= EC 80 ℓ SPO(C,C)〕和RSPO +(C):=的Ec [ ℓ SPO +(C,C)]中。为方便起见,让我们定义c¯ := Ec[c](注意我们隐含地假设c¯是有限的)。

接下来,我们在此设置中充分表征真实 SPO 风险问题 (11) 的最小化器。

命题 5 表明,对于RSPO( · ) 的任何极小值 c ∗ ,其所有对应于标称问题 W ∗ (c ∗ ) 的解也是 P( ¯ c) 的最优解。

换句话说,最小化真正的 SPO 风险也优化了名义问题中的预期成本(因为目标函数是线性的)。命题 5 也证明了反过来也是正确的——即任何具有唯一最优解的成本向量预测也是针对预期成本进行优化的,也是真实 SPO 风险的最小化。

提案 5(SPO 最小化器)。如果成本向量 c ∗是 RSPO( · )的最小值,则 W ∗ (c ∗ ) ⊆ W ∗ ( ¯ c)。相反,如果 c ∗是一个成本向量,使得 W ∗ (c ∗ ) 是一个单例且 W ∗ (c ∗ ) ⊆ W ∗ ( ¯ c),则 c ∗是 RSPO( · )的最小化器。

实施例2在附录A中表明,为了确保将c *是RSPO(的最小化· ),它是不足以允许Ç *为任意成本矢量的W * (C * )⊆ w ^ * (&OverBar C)。事实上,c ∗是c ¯可能还不够。这源于 SPO 损失函数的明确性,它在预测允许多个最佳解决方案的情况下选择最坏情况的最佳解决方案。

接下来,我们提供命题6示出了对于C的充分条件¯是SPO +风险的最小化,因此,SPO风险的最小化,这意味着费舍尔一致性。

我们还提供了当c条件¯是SPO +风险,这减轻了任何担心,有可能是SPO +风险不属于费舍尔一致的交替极小的唯一极小。

提案 6(SPO+ 最小化器)。 假设 c 的分布 D 是连续的,并且关于其均值 c¯ 中心对称(即,c 在分布上等于 2¯c − c)。
a) 然后 c¯ 最小化 RSPO+(·)。
b) 另外,假设 S 的内部是非空的。 则 c¯ 是 RSPO+(·) 的唯一最小值。
命题 6 中的两个重要假设是 D 关于其均值和连续中心对称,这两个假设单独不足以确保其自身的一致性。 附录 A 中的示例 3 演示了 c 在 R d 上连续且 SPO+ 的最小值是唯一的情况,但它并未将 SPO 风险降至最低。 附录 A 中的示例 4 展示了一种情况,其中 c 的分布关于其均值对称,但存在 SPO+风险的最小化器,而该最小化器并未使 SPO 风险最小化。
附录 A 中的示例 5 演示了一种情况,如果 S 为空而 c 是连续的并且关于其均值中心对称,则 SPO+ 的最小值不是唯一的。

计算方法

在本节中,我们考虑解决 SPO+ERM 问题 (10) 的计算方法。在这里,我们关注线性预测变量的情况,H = {f : f(x) = Bx for some B ∈ R d × p},使用正则化器Ω ( · ) : R可能将正则化合并到目标函数中d × p → R。(这相当于使用假设类 H = {f : f(x) = Bx 对于某些 B ∈ R d × p , Ω (B) ≤ ρ } 对于某些ρ > 0。)例如,我们可以使用脊惩罚Ω(B) = 1 2 kBk 2 F ,其中 kBkF 表示 B 的 Frobenius 范数,即 entry-wise ℓ 2 范数。其他可能性包括入口ℓ 1 惩罚或核范数惩罚,即对 B 的奇异值的ℓ 1 惩罚。 无论如何,这些假设导致以下版本的(10):

其中λ ≥ 0 是一个正则化参数。由于如命题3所述,SPO损失是凸的,那么只要Ω ( · )是凸函数,上述问题就是凸优化问题。

我们主要考虑两种解决问题 (13) 的方法:(i) 基于建模ℓ SPO+( · , c) 使用对偶的重构,以及 (ii) 基于随机梯度的方法,而不是仅依赖于问题 (2) 的优化预言机. 基于重构的方法 (i) 需要对可行区域 S 进行明确描述,例如,如果 S 是多胞体,则该方法需要使用描述 S 的不等式约束的明确列表。

另一方面,基于随机梯度的方法 (ii) 不需要对 S 的明确描述,而是仅依赖于迭代调用优化预言机 w ∗ ( · ) 来计算 SPO+ 损失的随机次梯度(参见命题 3 )。因此,将随机梯度下降方法应用于具有复杂约束的问题要简单得多,例如备注 2 中提到的非线性问题以及组合和混合整数问题。 虽然方法 (i) 的要求更具限制性,它确实提供了一些优势。根据 S 的结构,例如,如果 S 是具有已知线性不等式约束的多面体,则方法 (i) 可能能够利用现成的圆锥优化求解器,例如 CPLEX 和 Gurobi,它们能够生成高精度解对于中小型问题实例(参见第 5.1 节)。但是,对于 d、p 和 n 可能非常大的大规模实例,基于内点方法的圆锥求解器也不能按比例缩放。另一方面,随机梯度方法可以更好地扩展到 n 可能非常大的实例,也可能扩展到 d 和 p 很大但优化预言机 w ∗ ( · ) 由于其特殊结构而有效计算的情况S. 方法 (ii) 的详细信息可在附录 C 中找到。

5.1重新制定方法

我们现在讨论重新制定方法 (i),该方法旨在以适合流行优化求解器的形式重铸问题 (13)。为了描述这种方法,我们假设 S 是由已知线性不等式描述的多面体,即,对于某些给定的问题数据 A ∈ R m × d 和 b ∈ R m ,S = {w : Aw ≥ b} 。同样的方法也可以应用于特定类别的非线性可行区域,尽管由此产生的重新制定问题的复杂性会有所不同。关键思想是,当S是一个多面体,然后ℓ SPO +(· ,c)是(分段线性)凸预测的C函数,并因此的铭文ℓ SPO +(· ,c)中可以用线性地tractably建模通过采用线性规划对偶来约束。

提案 7 正式化了这种方法。(回想一下,对于 w ∈ R d 和 x ∈ R p ,wxT 表示 d × p 外积矩阵,其中 (wxT )ij = wixj 。) 命题 7(为 SPO+ 重新制定 ERM)。假设 S = {w : Aw ≥ b} 是多胞体。那么正则化的SPO+ERM问题(13)等价于如下优化问题:

因此,正如我们所见,问题 (14) 几乎是一个线性优化问题——唯一可能是非线性的部分是正则化器Ω ( · )。对于Ω ( · ) 的几个自然选择,问题(7) 可以转化为圆锥优化问题,可以用内点方法有效地解决。例如,对于Ω (B) = kBk1的 LASSO 惩罚,则 (14) 等价于线性规划。如果Ω ( · ) 是脊惩罚,Ω (B) = 1 2 kBk 2 F ,则 (14) 等价于二次规划。如果Ω ( · ) 是核范数惩罚,Ω (B) = kBk ∗ ,则(14) 等价于半定规划。

计算实验

在本节中,我们展示了合成数据实验的计算结果,其中我们使用最短路径问题和投资组合优化作为我们的示例问题类别,凭经验检验了 SPO+ 损失函数用于训练预测模型的质量。

在第 5 节之后,我们专注于线性预测模型,可能带有 ridge 或 entrywise ℓ 1 正则化。我们比较了四种不同方法的性能: 1. 前面描述的 SPO+ 方法,(13)。

13.最小二乘法与替换(13)中的SPO +损失函数ℓ (C,C)= 1名2 KC -每当SPO +确实CK 2 2,并且也使用正则化。

14.绝对损失函数(即,ℓ 1),其与替换(13)中的SPO +损失函数方法ℓ (C,C)= KC - CK1,并且也使用正则每当SPO +一样。

15.一个随机森林接近独立地列车ð不同随机森林型号为成本向量的每个分量,利用标准参数设置⌈ P / 3 ⌉在每个分裂和100种树木随机特征。

请注意,上面的方法 (2.)、(3.) 和 (4.) 不以任何方式利用 S 的结构,因此可以将其视为相对于成本向量的每个分量的独立学习算法。对于上面的方法 (1.)、(2.) 和 (3.),我们在 B 中包含一个未正则化的截距列。为了最终测量和比较四种不同方法的性能,我们在大小为 10, 000 的独立测试集上计算了四个先前训练模型中每一个的 SPO 损失的“归一化”版本。具体来说,如果 ( ~ x1, c ~ 1), ( ~ x2, c ~ 2), . . ,( 〜xntest,C 〜NTEST)表示试验组,那么我们定义一个先前训练的模型的归一化测试SPO损失由NormSPOTest(F F):= Pntest I = 1个ℓ SPO(F (〜XI ),c ˜ i) Pntest i=1 z ∗ ( ˜ ci) 。请注意,在给定完整信息的情况下,我们自然地通过测试集的总最优成本进行归一化,对于此处研究的示例,这很有可能是正数。

6.1 最短路问题

我们考虑一个 5 × 5 网格网络上的最短路径问题,目标是从西北角到东南角,边缘只向南或向东。在这种情况下,可行区域 S 可以使用网络流约束建模,如示例 1 中所示。

我们利用提案 7 给出的重构方法来解决 SPO+ 训练问题 (13)。具体来说,我们使用 Julia (Dunning et al. (2017)) 中的 JuMP 包和 Gurobi 求解器来实现问题 (14)。方法 (2.) 和 (3.) 中所需的优化问题也直接使用 Gurobi 解决。在某些情况下,我们对方法 (1.)、(2.) 和 (3.)使用ℓ 1 正则化,在这种情况下,为了调整正则化参数λ ,我们尝试 10 个不同的λ值均匀分布在10 - 6 和 100之间的对数尺度。此外,我们使用验证集方法,在大小为 n 的训练集上训练 10 个不同的模型,然后使用大小为 n/4 的独立验证集来选择表现最佳的模型关于 SPO 损失。

合成数据生成过程。现在让我们描述用于为两个问题类别生成合成实验数据实例的过程。请注意,成本向量的维度 d = 40 对应于 5 × 5 网格网络中的边总数,并且 p 是给定数量的特征。首先,我们生成一个随机矩阵 B ∗ ∈ R d × p 来编码真实模型的参数,其中 B ∗ 的每个条目都是伯努利随机变量,它等于 1,概率为 0.5。我们生成训练数据 (x1, c1),(x2, c2), … . .,(xn, cn) 和测试数据 ( ~ x1, c ~ 1), ( ~ x2, c ~ 2), . . .,( ˜ xn, c ˜ n) 根据以下生成模型: 1. 首先,特征向量 xi ∈ R p 由具有 iid 标准正态项的多元高斯分布生成,即 xi ∼ N(0, Ip )。

  1. 然后,根据 cij = x0010 1 √ p (B ∗ xi)j + 3deg + 1 · ε ji for j = 1, … . 。,d,并且其中CIJ表示第j个词的组分和(B * ⅹⅰ)j表示第j B的个分量* XI。这里, deg 是一个固定的正整数参数,ε ji 是一个乘性噪声项,它是从 [1 − ε , ¯ 1 + ¯ε ]上的均匀分布中独立随机生成的,对于某些参数ε¯≥ 0。

请注意,用于生成成本向量的模型采用多项式核函数(参见,例如,Hofmann et al. (2008)),其中给定特征的成本向量的回归函数,即 E[c|x],是x 的多项式函数,参数 deg 表示多项式的次数。重要的是,我们仍然对上面的方法 (1.)-(3.) 使用线性假设类,因此参数 deg 控制模型错误指定的数量,随着 deg 的增加,我们预计 SPO+ 方法的性能相对于方法会有所提高( 2.) 和 (3.)。当 deg = 1 时,c 的期望值在 x 中确实是线性的。

此外,对于较大的 deg 值,最小二乘法将对成本向量生成过程中的异常值敏感,这也是我们与对异常值不太敏感的绝对损失方法进行比较的主要动机。另一方面,随机森林方法是一种非参数学习算法,将准确地学习任何 deg 值的回归函数。然而,随机森林的实际性能在很大程度上取决于样本大小 n,对于相对较小的 n 值,随机森林的性能可能很差。

结果。在我们描述的最短路径问题的以下一组实验中,我们始终将特征数量固定为 p = 5,并且如前所述,使用 5 × 5 网格网络,这意味着 d = 40。因此,总共有 pd = 200 个参数需要估计。

我们改变训练集大小 n ∈ {100, 1000, 5000},我们改变参数 deg ∈ {1, 2, 4, 6, 8},我们改变噪声半宽参数ε¯∈ {0, 0.5 }. 对于 n、deg 和ε¯ 的每个值,我们运行 50 次模拟,每个模拟都有不同的 B * ,因此具有不同的真实模型。对于 n ∈ {100, 1000} 的情况,我们对方法 (1.)(3.)使用ℓ 1 正则化,如前所述。当 n = 5000 时,我们不使用任何正则化(因为它似乎没有提供任何值)。如前所述,对于每次模拟,我们通过在 10,000 个样本的测试集上计算归一化 SPO 损失来评估训练模型的性能。对于 n ∈ {100, 1000, 5000},使用 SPO+ 损失解决一个 ERM 问题的计算时间分别约为 0.5-1.0 秒、5-30 秒和 1-15 分钟。其他方法可以使用完善的软件包在几秒钟内解决。

图 4 总结了我们的发现,并注意每个参数配置的箱线图跨越 50 次独立试验。

从图 4 中,我们可以看到,对于较小的 deg 参数值,即 deg ∈ {1, 2},绝对损失、最小二乘法和 SPO+ 方法的性能相当,最小二乘法在以下情况下略占优势ε¯ = 0.5 时的噪声。在这些情况下,最小二乘法(有时也是绝对损失)的轻微优势可能可以用最小二乘法损失的一些固有的鲁棒性属性来解释。同样合理的是,由于 SPO+ 损失函数比“简单”最小二乘损失函数更复杂,它可能会在有噪声和小训练集大小的情况下过度拟合。另一方面,随着参数 deg 的增加和模型错误指定程度的增加,SPO+ 方法通常开始在所有实例中表现最佳,除非 n = 5000,在这种情况下,随机森林的性能与 SPO+ 相当。这种行为表明 SPO+ 损失在利用额外数据和更强的非线性信号方面优于竞争对手。

有趣的是,随机森林通常表现不佳,除非 n = 5000,在这种情况下,它的性能与 SPO+ 相当,后者使用更简单的线性假设类。事实上,当 n ∈ {100, 1000} 时,随机森林几乎总是表现最差,除了当 n = 1000 和 deg ∈ {6, 8} 时,在这种情况下,随机森林的表现优于最小二乘法,与绝对损失方法相当,并且以 SPO+ 为主。实际上,n ∈ {1000, 5000} 和 deg ∈ {6, 8} 的情况表明最小二乘法容易出现异常值而绝对损失则不然,随机森林由于其非参数性质而收敛缓慢,并且即使数据量适中(即 n = 1000),SPO+ 也能最好地适应大量的模型错误指定。

6.2投资组合优化

在这里,我们考虑一个基于经典 Markowitz 模型(Markowitz 1952)的简单投资组合选择问题。如第 1 节所述,我们假设存在可用于预测 d 种不同资产收益的辅助特征,但资产收益的协方差矩阵不依赖于辅助特征。因此,我们考虑一个模型,其约束限制了投资组合的整体方差。具体来说,如果Σ ∈ R d × d 表示资产收益的(正半定)协方差矩阵,并且γ ≥ 0 是投资组合整体方差(风险水平)的期望界限,则(2)中的可行域 S由 S := {w : w T Σ w ≤ γ , eTw ≤ 1, w ≥ 0} 给出。这里 e 表示所有 1 的向量,因为我们只要求 e T w ≤ 1,所以(2)中的成本向量 c 表示资产在无风险利率之上的增量收益的负数。换句话说,它认为 c = − r ˜其中 r ˜ = r − rRFe,r 表示资产收益向量,rRF 是无风险利率。我们使用 SGD 方法(附录 C 的算法 1)来训练方法 (1.) 的 SPO+ 模型。对于每个 ERM 实例,训练 SPO+ 模型需要 3 到 5 分钟,而其他方法通常需要不到一秒钟。为简洁起见,我们将实验设置的细节推迟到附录 D。

图 5 显示了我们在此实验中的结果。通常我们观察到与最短路径实验相似的模式,尽管需要相对较大的 deg 值来证明 SPO+ 的相对优势。总之,在我们所有的实验中,我们的结果表明,只要存在某种程度的模型错误指定,那么 SPO+ 往往比竞争方法提供显着的价值,并且在有更多数据可用的情况下,该价值会得到进一步加强。SPO+ 方法要么总是接近最佳方法,要么主导所有其他方法,使其成为所有参数范围内相当合适的选择。

结论

在本文中,我们为在预测然后优化范式下开发预测模型提供了一个新框架。我们的 SPO 框架依赖于新类型的损失函数,这些函数明确地包含了感兴趣的优化问题的问题结构。

我们的框架适用于任何具有线性目标的问题,即使存在整数约束也是如此。

由于 SPO 损失函数是非凸的,我们还使用基于对偶理论的几个逻辑步骤推导出了凸 SPO+ 损失函数。此外,我们证明了 SPO+ 损失与 SPO 损失一致,这是任何损失函数的基本属性。

事实上,我们的结果也直接暗示了最小二乘损失函数对于 SPO 损失也是一致的。因此,当基本事实接近线性时,最小二乘法表现良好,尽管至少在经验上,当存在模型错误指定时,SPO+ 明显优于所有方法。在随后的工作中,我们展示了如何训练具有 SPO 损失的决策树(Elmachtoub 等人,2020 年)并开发了 SPO 损失函数的泛化边界(El Balghiti 等人,2019 年)。当然,未来的工作有许多重要的方向需要考虑,包括更多的经验测试和案例研究、处理约束中的未知参数以及处理非线性目标。


附录

示例1 (网络流)。名义优化问题的一个例子是最小成本网络流量问题,其中决策是在网络的每个边缘发送多少流量。我们假设提供给我们的底层图,例如,一个城市的道路网络。可行区域 S 表示基础网络上的流量守恒、容量和所需的流量约束。成本向量 c 不确定,但可以从数据 x 中估计,数据 x 可以包括时间、日期、边长、最近观察到的成本等特征。假设类的一个例子是一组由 H = {f : f (x) = Bx 给出的线性预测模型,对于一些 B ∈ R d ×p }。例如,可以根据均方误差损失函数来训练线性模型,即 l( ĉ , c) = 12 k ĉ − ck 22 。找到最佳 P 线性模型 B *的相应经验风险最小化问题变为 min B n 1 ni=1 2 1 kBx i - cik 22 。给定特征向量 x 找到最优网络流的决策规则是 w * (B * x)。

示例 2(假设 1.1 的必要性)。假设 d = 1, S = [ − 1/2, +1/2] 且 c 服从均值c̄ = 0 和方差 1 的正态分布。则 W ∗ (c ̄ ) = S 和 l SPO (c ̄ , c) = ξ S © - z ∗ © = |c| 对于所有 c。显然,l SPO (1, c) = − c/2 + |c|/2。此外,l SPO (1, c) 严格控制 l SPO (c ̄ , c),因为对于所有 c 和 l SPO (1, c),l SPO (1, c) ≤ l SPO (c ̄ , c) < l SPO (c ̄ , c) 对于 c > 0。因此,R SPO (1) < R SPO (c ̄ ) 并且因此 c ̄不是 R SPO ( · ) 的最小值。

示例 3(假设 1.2 的必要性)。将 S 定义为在 (0, 0)、(1, 0)、(1, 1) 和 (0, 1) 处具有极值点的二维单位正方形。令 c 在 R 2 上具有以下列方式定义的连续分布。c 在每个象限中出现的概率正好是 0.25。每个象限上的分布是折叠正态分布。折叠法线的平均值在第 1 象限中为 (9, 9),在第 2 象限中为 ( -1 , 1),在第 3 象限中为 ( -1 , -1 ),在第 4 象限中为 (1, -1 )。因此, c ̄ = (2, 2) 和 W ∗ (c ̄ ) = {(0, 0)}。请注意,象限 1 中的所有成本向量通过 (0, 0) 最小化,象限 2 通过 (1, 0) 最小化,象限 3 通过 (1, 1) 最小化,象限 4 通过 (0, 1) 最小化。因此,E c [w * ©] = (0.5, 0.5)。

现在我们声称 c * = (0, 0) 是 SPO+ 风险的唯一最小化器。由于 w ∗ © 仅取决于 c 位于哪个象限,并且 c 和- c 都以相等的概率位于四个象限中的每一个,因此它认为 E c [w ∗ (2c ∗ - c)] = E c [ w ∗ ( − c)] = E c [w ∗ ©] = (0.5, 0.5) 这意味着 c ∗是最优的。最后,观察 W ∗ (c ∗ ) = S 6 ⊆ {(0, 0)} = W ∗ (c ̄ ),这意味着根据命题 5,c ∗不是 SPO 风险的最小化。
示例 4(假设 1.3 的必要性)。将 S 定义为在 (0, 0)、(1, 0) 和 (0, 1) 处具有极值点的二维单纯形。令 c 在点 ( −2 , 1) 和 (0,−1)上具有两点分布,每个点的概率为 0.5。可以确认 c ̄ = ( − 1, 0), W ∗ (c ̄ ) = {(1, 0)}, E c [w ∗ ©] = (0.5, 0.5),并且 c 是对称的围绕其均值(c 在分布上等于 2c ̄ - c)。

现在我们声称 c * = ( − 0.25, − 0.5) 是 SPO+ 风险的最小化。这通过检查 E c [w * (2c * - c)] = E c [w * ©] = (0.5, 0.5) 得到证实。然而,W ∗ (c ∗ ) = {(0, 1)} 6 ⊆ {(1, 0)} = W ∗ (c ̄ )。

因此,根据命题 5,c *不是 SPO 风险的最小化。

示例 5(假设 1.4 的必要性)。令 S ⊆ R 2 为区间 S := {(w 1 , w 2 ) T : − 1 ≤ w 1 ≤ 1, w 2 = 0} 并让 c 根据标准二维高斯随机向量分布,均值为 ( 0, 0) T(和协方差矩阵等于 q 单位)。然后,可以很容易地证明 R SPO+ ( ĉ ) = E c [|c 1 − 2 ĉ 1 |] + π 2 。因此,很明显,(0, β ) T 是任何β ∈ R 的 SPO+ 风险的最小值。直观地说,这是因为第二维与优化问题无关。

b 省略的证明

b.1 命题 1 的证明

证明。设 d = 1,可行域为区间 S = [ − 1/2, +1/2]。这里的“成本向量” c 对应于一个二进制类标签,即 c 可以取两个可能值之一,− 1 或 +1。(但是,预测的成本向量可以是任何实数。)请注意,对于 c 的两个可能值,它都满足 z ∗ © = − 1/2。预测ĉ需要考虑三种情况: (i) 如果ĉ > 0 则 W ∗ ( ĉ ) = { − 1/2} 和 l SPO ( ĉ , c) = (1 − c)/2, (ii ) 如果ĉ < 0 则 W ∗ © = {+1/2} 和 l SPO ( ĉ , c) = (1 + c)/2,并且 (iii) 如果ĉ = 0 则 W ∗ ( ĉ ) = S = [ − 1/2, +1/2] 和 l SPO ( ĉ , c) = (1 + |c|)/2 = 1。因此,当ĉ和c 共享相同的符号,否则 l SPO ( ĉ , c) = 1。因此,l SPO 正是 0-1 损失函数。

b.2 命题 2 的证明。

证明。让我们首先证明函数 q(α) := ξ S (c − αĉ) + αz ∗ (ĉ) 在 R 上是单调递减的。显然 q(·) 是一个凸函数,而且是 q(· ) 对于任何 α,由 g := z ∗ (ĉ) − ĉ T w ∗ (αĉ − c) 给出。由于 z ∗ (ĉ) = min ĉ T w,对于 w∈S 任意 α,我们有 g ≤ 0。现在,对于任何 α ′ ≤ α,次梯度不等式意味着:

因为 g 和 α ′ - α 都是非正数。因此,q(·) 是单调递减的。

现在让我们证明

(15) 的证明采用了拉格朗日对偶性(参见例如 Bertsekas (1999) 和其中的参考文献)。首先,注意关于 ĉ, W ∗ (ĉ) := arg min w∈S ĉ T w 的最优解集可以表示为 W ∗ (ĉ) = S ∩ {w ∈ R d : ĉ T w ≤ z * (ĉ)}。因此,认为:

让我们在 (16) 的右侧引入与不等式约束“ĉ T w ≤ z ∗ (ĉ)”相关的标量拉格朗日乘数 α ∈ R +,然后形成拉格朗日:

因此 q(·) 恰好是对偶函数,即它满足:


为了证明 (15),我们通过应用 Borwein 和 Lewis (2010) 的定理 4.3.8 来证明强对偶性成立。在我们的设置中,原始问题是 (16) 右侧的问题。这个问题对应于 Borwein 和 Lewis (2010) 中的原始最小化问题,通过考虑由 −c T w + IS (w) 和约束函数 ĉ T w − z ∗ (ĉ) 给出的目标函数。(注意当 w ∈ S 和 +∞ 时 IS (w) 是等于 0 的凸指示函数。)由于 S 是一个紧凸集,我们满足 Borwein 和 Lewis 的定理 4.3.8 的所有假设( 2010),因此具有很强的二元性。最后,由于 q(·) 是单调递减函数,我们可以应用单调收敛定理将 (15) 中的 inf α≥0 替换为 lim α→∞ 。

b.3 命题 3 的证明。

证明。第 (1.) 部分正是不等式 (5)-(9) 的链。由于支持函数 ξ S (·) 是线性函数的最大值,因此它是凸的,因此 (2.) 部分如下。要看到 (3.) 部分成立,对于任何 c̃,我们有:

其中不等式如下,因为 w ∗ (2 ĉ − c) ∈ arg max w ∈ S {(c − 2 ĉ ) T w} = ∂ξ S (c − 2 ĉ ) (这是凸优化的标准结果,参见,例如,Boyd 等人 (2004))。因此,我们得出结论 2(w ∗ © − w ∗ (2 ĉ − c)) ∈ ∂ l SPO+ ( ĉ , c)。

b.4 命题 4 的证明。

证明。在与命题 1 相同的设置中,我们有 S = [−1/2, +1/2] 和 c ∈ {−1, +1} 对应于真实标签。注意 ξ S (c − 2ĉ) = 12 |c − 2ĉ|,对于 c ∈ {−1, +1} 我们有 w ∗ © = −c/2 和 z ∗ © = −1/ 2. 所以,

b.5 定理 1 的证明。

证明。让 x ∈ X 是固定的。对命题 6 应用假设 1.2、1.3 和 1.4 意味着向量 E[c|x] = arg min E c [l SPO+ (f (x), c) | x],即 E[c|x] f (x)∈R d 是 E c [l SPO+ (f (x), c) | 的唯一极小值。X]。因此,因为 E (x,c)∼D [l SPO+ (f (x), c)] = E x [E c [l SPO+ (f (x), c) | x]],任何 SPO+ 风险 (12) 的最小化器必须几乎肯定等于函数 x 7→ E[c|x]。

同样,令x∈X是固定的。如果W *(E [C | X])是一个单,然后命题5意味着E [C ^ | X]∈ARG分钟权证[升SPO(F(X)中,c)| X],即,E [C | X]为E C [升SPO(F(X),c)中的最小化器| X]。

F(X)∈Rd由于E(X,C)〜D [升SPO(F(X),C)] = E X [E C [升SPO(F(X)中,c)| X]]及设想1.1指出W *(E [C | X])是具有概率1之上X A单,我们有任何功能,几乎肯定等于函数x 7→E [C ^ | X]是一个极小的SPO风险(11)。特别地,如在前面的段落指出的,在SPO +风险(12)的任何最小化器必须是几乎肯定等于函数×7→E [C ^ | X],因此最小化了SPO风险。因此,我们已经表明,SPO +损失函数是费舍尔对于SPO损失一致。

b.6 命题 5 的证明。

证明。考虑一个成本向量 c*,它是 R SPO (·) 的最小化器。令 w̄ 为 P (c̄) 的最优解,即 w̄ ∈ W ∗ (c̄),并让 c̃ 被选择为使得 w̄ 是 P (c̃) 的唯一最优解,即 W ∗ (c̃) = { w̄}。(注意,如果w̄是P(c̄)的唯一最优解,那么选择c̃←c̄就足够了,否则我们可以把c̃当作c̄的轻微扰动)。然后它认为:

其中第一个不等式和第一个不等式是根据定义的,第二个不等式使用 W ∗ (c ̃ ) = { w ̄ },第三个等式使用期望线性,最后一个不等式是 Jensen不等式。最后,我们得出结论,对于任何 w ∈ W ∗ (c ∗ ),它成立 c ̄ T w ≤ c ̄ T w ̄ = z ∗ (c ̄ )。

因此,W ∗ (c ∗ ) ⊆ W ∗ (c ̄ )。

为了证明另一个方向上,考虑成本矢量c 的W * (C * )= {瓦特 (C * )}是一个单和W * (C * )⊆ w ^ * (C ̄ ),即瓦特* (C * )∈ w ^ * (C ̄ )。令c **为R SPO(的任意最小化· )。然后,

其中第二个等式使用 W ∗ (c ∗ ) = {w ∗ (c ∗ )},第三个等式使用 w ∗ (c ∗ ) ∈ W ∗ (c ̄ ),第一个不等式是 Jensen不等式。最后,我们得出结论,由于 c * *是 R SPO ( · ) 的最小化器,并且 c *至多具有相同的风险,因此 c *也是 R SPO ( · ) 的最小化器。

b.7 命题 6 的证明。

证明。(a) 首先,请注意,很容易证明 R SPO+ (ĉ) 对于所有 ĉ 都是有限值的,因为 S 是紧致的并且 c̄ := E[c] 是有限的。此外,根据命题 3,很明显 R SPO+ (·) 在 R d 上是凸的。特别地,对于任何点 ĉ 次微分 ∂R SPO+ (ĉ) 是非空的,并且由于 R SPO+ (ĉ) 是有限的,我们有 ∂R SPO+ (ĉ) = E c [ ∂ l SPO+ ( ĉ , c)] (参见 Strassen (1965), Bertsekas (1973)),后者指的是对随机集∂ l SPO+ ( ĉ , c) 的选择期望(参见 Molchanov (2005) 的第 2.1.2 节)。通过选择期望的线性,注意∂ R SPO+ ( ĉ ) = − 2E c [W ∗ (2 ĉ − c)]+ 2E c [w ∗ ©] = − 2E c [w ∗ (2 ĉ - c)] + 2E c [w ∗ ©],其中第二个等式遵循因为 c 的分布在所有 R d 上是连续的,这意味着 W ∗ (2 ĉ − c) 是概率为 1 的单例(参见,例如 Drusvyatskiy 和 Lewis (2011) 中的介绍性讨论。

现在,凸问题 min R SPO+ ( ĉ )的最优性条件表明,当且仅当 0 ∈ ∂ R SPO+ (c ∗ ) 时,c *是ĉ∈ R d 全局最小化器。通过上一段的讨论,最优条件可以等效地写为 E c [w * ©] = E c [w * (2c * - c)]。最后,由于 c 围绕其均值中心对称,因此 c 在分布上等于 2c ̄− c;因此 E c [w ∗ ©] = E c [w ∗ (2c ̄− c)]。因此 c ̄满足 0 ∈ ∂ R SPO+ (c ̄ ) 并且是 min R SPO+ ( ĉ ) 的最优解。

ĉ∈ R d (b) 考虑任何向量∆ 6 = 0,让我们将差值 R SPO+ (c ̄ + ∆ ) − R SPO+ (c ̄ ) 重写如下:

第一个等式来自 R SPO+ ( · ) 和 l SPO+ ( · , · ) 的定义,第二个来自期望的线性,第三个来自ξ S ( · ) 的定义。第四个等式源于 c 关于其均值对称的事实,因此 E c [w ∗ ©] = E c [w ∗ (2c ̄− c)] 并再次使用期望线性。第五个等式来自ξ S ( · ) 的定义。

因为 w ∗ (2c ̄ +2 Δ − c) 是 c − 2c ̄ − 2 Δ的最大值,所以我们有 (c − 2c ̄− 2 Δ ) T (w ∗ (2c ̄ + 2 Δ − c) − w ∗ (2c ̄ − c)) 是一个非负随机变量。此外,由于 c 在所有 R d 上的分布是连续的,并且 S 的内部是非空的,因此必须存在一些概率质量,其中 w ∗ (2c ̄ + 2 Δ - c) 与 w ∗ (2c ̄ - c),即它认为 P(w ∗ (2c ̄ + 2 Δ − c) 6 = w ∗ (2c ̄ − c)) > 0。还要注意 w ∗ (2c ̄ + 2 Δ − c) 是c − 2c ̄ − 2 ∆的唯一最大化器,概率为 1。因此,我们有 P((c − 2c ̄ − 2 Δ ) T (w ∗ (2c ̄ + 2 Δ − c) − w ∗ (2c ̄ − c)) > 0) > 0,因此

b.8 命题 7 的证明

证明。回想一下 l SPO+ (Bx i , ci ) = ξ S (ci − 2Bx i ) + 2(Bx i ) T w ∗ (ci ) − z ∗ (ci )。线性规划强对偶性意味着:

另请注意,2(w ∗ (ci )x Ti ) • B 只是将 2(Bx i ) T w ∗ (ci ) 重写为显式线性函数。因此,为每个 i ∈ {1, .引入变量 pi ∈ R m . . , n},显然 (14) 等价于 (13)。

C 随机梯度法

这种方法的想法是将随机梯度方法(例如,参见 (Robbins and Munro 1951)、Bottou 等人 (2018) 以及其中的参考文献)直接应用于原始格式的问题 (13)。对于这种方法,我们假设正则化器是凸的和可微分的(即,我们可以有效地计算 Ω(·) 的次梯度)。例如,岭惩罚 Ω(B) = 12 kBk 2 F 和 l 1 惩罚 Ω(B) = kBk 1 满足这个假设。虽然这里提出的算法是通用的并且可以应用于任何可微分的正则化器,但值得一提的是,对正则化器 Ω(·) 进行微分的另一种方法是应用近端梯度类型方法 Parikh 等人。(2014),它依赖于利用某些正则化器的特定功能形式。

现在让我们描述一些关于如何应用这种方法的更多细节。为方便起见,P 让我们将 (13) 的目标函数写为 L n SPO+ (B) := n 1 ni=1 φ i (B),其中 φ i (B) := l SPO+ (Bx i , ci ) + λΩ(B)。正如命题 3 中提到的,对于一个固定的 c,l SPO+ (·, c) 是凸的(但不一定是可微的),因此 φ i (·) 是一个凸函数。以下命题描述了如何计算 φ i (·) 的次梯度,并且也建立在命题 3 的基础上。

命题 8(SPO+ 线性回归的次梯度)。让 (xi , ci ) 为 i ∈ {1, . . . , n}, B ∈ R d×p , 和 Ψ ∈ ∂Ω(B)。然后,它认为 2(w ∗ (ci ) − w ∗ (2Bx i − ci ))x Ti + λΨ ∈ ∂φ i (B)。

证明。回顾命题 3,对于任何 ĉ,2(w ∗ (ci ) − w ∗ (2ĉ − ci )) ∈ ∂l SPO+ (ĉ, ci )。

因此,对于任何 B ′,让 ĉ ← Bx i 产生:

因此 2(w ∗ (ci ) − w ∗ (2Bx i − ci ))x Ti ∈ ∂ l SPO+ (Bx i , ci )。因此,2(w ∗ (ci ) − w ∗ (2Bx i − ci ))x Ti + λΨ ∈ ∂ l SPO+ (Bx i , ci ) + ∂Ω (B) = ∂φ i (B)。

算法 1 提出了将带有小批量的随机次梯度下降应用于问题 (13)。算法 1 是我们设置中随机次梯度下降的标准应用,紧随 Nemirovski 等人。(2009 年)。需要强调的是,算法 1 的主要计算要求是访问问题 (2) 的优化预言 w * ( · ),在该方法的每次迭代中使用 N 次。

因此,算法 1 可以应用于任何情况下,只要有实际有效的优化预言机可用,包括备注 2 中提到的一些组合和混合整数问题。需要设置的主要参数是批量大小参数 N 和步长-size 序列 { γ t }(除了正则化参数λ )。在第 6 节中,我们准确地描述了我们如何为我们的实验设置这些参数。通常,我们建议将批量大小参数设置为固定常数,例如 5 或 10。步长的选择取决于正则化器Ω ( · ) 的属性。对于一般凸Ω ( · ),或者简单地当λ = 0 时,我们建议遵循 Nemirovski 等人。(2009) 其中建议θ将步长序列设置为γ t = √ t+1 对于固定常数θ > 0。在脊惩罚Ω (B) = 12 kBk 2 F 的情况下,当λ > 0,因为这个函数是强凸的 1 可能 2 。由于 SPO+ 损失函数是凸函数,或者将步长序列设置为γ t = λ (t+2) 但不是平滑的(并且也是 Lipschitz 连续的),因此基本上只有这两个选项会导致精确的收敛速度保证。实际上,对于序列γ t = √ θ ,t+1 Nemirovski 等人。(2009 年)根据确保平均迭代在预期中 ε次优所需的迭代次数得出 O(1/ ǫ 2 ) 复杂性保证。还很容易看出,只要我们只希望在预言的准确度上收敛,这种保证可以扩展到优化预言 w * ( · ) 仅用加性近似误差近似计算的情况。另一方面,Lacoste-Julien 等人。(2012) 为 2 序列推导出类似的 O(1/( λǫ )) 复杂度保证。

值得注意的是,算法 1 是随机次梯度下降的标准和基本应用,人们可以考虑对该方法进行一些调整以提高其实际和可能的理论性能(参见,例如,Bottou (2012),和 Bottou 等人(2018 年)及其参考文献)。我们还提到,可以使用这种方法进行提前停止,由此我们维护一个验证集来监控(估计)算法运行时的样本外真实 SPO 损失,然后最终选择平均迭代B̄t与验证集上最小的真实 SPO 损失 l SPO 作为最终模型。

D 投资组合优化应用的实验细节

在本实验中,我们设置资产数量 d = 50,并根据与之前类似的过程综合生成返回向量和特征。和以前一样,我们生成一个随机矩阵 B ∗ ∈ R d×p 来编码真实模型的参数,其中 B ∗ 的每个条目是伯努利随机变量,等于 1,概率为 0.5。然后,对于某个噪声级参数 τ ≥ 0,我们生成一个因子加载矩阵 L ∈ R 50×4,使得 L 的每个条目均匀分布在 [−0.0025τ, 0.0025τ] 上,与其他所有内容无关。为了生成训练/测试对 (xi , ci ),我们首先从具有 iid 标准正态条目的多元高斯分布生成特征向量 xi ∈ R p ,即,xi ~ N (0, I p )。那么,增量收益向量 r̃ i 的生成过程如下: 1. 设置第 j 个资产收益的条件均值 r̄ ij 等于 r̄ ij := deg 0.05 √ (B ∗ xi ) j + (0.1) 1/deg ,其中 deg 是一个固定的正整数参数。

p 2. 观察到的返回向量 r̃ i 设置为 r̃ i := r̄ i + Lf + 0.01τ ε,其中 f ∼ N (0, I 4 ) 和 ε ∼ N (0, I 50 )。成本向量 ci 设置为 ci := -r̃ i 。

从上面的步骤 (2.) 可以看出,以观察到的特征 xi ∈ R p 为条件,收益的协方差矩阵是 Σ = LL T + (0.01τ ) 2 I 50 。我们将风险水平参数 γ 设置为 γ := 2.25 · w̄ T Σ w̄ 其中 w̄ := e/10 是等权组合。注意,在以上步骤(1)的条件平均回报的特定功能形式也是特征的多项式函数x和该参数被设置为使得率R ij∈[0,1]以高概率。在该实验中,特征p的数目被再次保持固定在5.我们改变训练集大小n∈{100,1000},参数度∈{1,4,8,16},并且噪声电平参数τ ∈{1,2}。对于这两个参数的每一种组合,我们又跑了50次独立的试验和使用的测试集大小10,000。

我们在这个实验中没有使用任何正则化,我们使用SGD方法(附录C的算法1)来训练方法(1.)的SPO+模型,和之前一样我们直接解决方法的优化问题( 2.) 和 (3.) 使用 Gurobi。

请注意,出于对其他方法的公平性,我们没有对 SGD 使用早期停止技术。

Smart “Predict, then Optimize”相关推荐

  1. SAP Analytics Cloud关于Smart Predict功能的说明

    从open SAP的课程能看出,SAP Analytics Cloud也是部署在SAP Cloud Platform上: https://open.sap.com/courses/cp6 关于Smar ...

  2. SAP Analytics Cloud里的Smart Predict

    1. Classification(分类,打标签) 预测一个事件发生的可能性, 最终结果只有一个 例子: (1) 判断邮件是否为垃圾邮件 (2) 判断在线交易是否存在潜在风险 (3) 判断肿瘤为良性还 ...

  3. 哪个更快:while(1)或while(2)?

    本文翻译自:Which is faster: while(1) or while(2)? This was an interview question asked by a senior manage ...

  4. 单光子探测技术应用_我如何最终在光学/光子学应用程序中使用机器学习作为博士学位

    单光子探测技术应用 A few years ago, I secured a scholarship to pursue a PhD in Photonics modelling. Modelling ...

  5. 最新网络监视工具列表

    Introduction 简介 The following Network Monitoring Tools grew out of a list that were reported to be i ...

  6. unity 2017介绍_介绍Unity 2017

    unity 2017介绍 We're excited to announce that Unity 2017.1 has been released and is now available for ...

  7. A transformer-based model to predict peptide– HLA class I binding and optimize mutated peptides for

    文章链接:https://www.nature.com/articles/s42256-022-00459-7.pdf DOI:10.1038/s42256-022-00459-7 期刊:Nature ...

  8. 【Paper】Short Term Electric Energy Consumption Prediction in in Smart Buildings Methods Survey

    论文原文:点击此处 论文年份:2019 论文被引:10(2020/08/06/) 43(2022/03/26) 文章目录 A Comparative Study of Time Series Fore ...

  9. Reversing Ethereum Smart Contracts: Part 2

    In my previous tutorial, we began reversing engineering the Greeter.sol contract. Specifically, we l ...

最新文章

  1. 波士顿动力一只48.8万,美女沙滩遛「狗」,网友直呼:壕
  2. mysql三台机群集_MySQL Cluster 3台机器搭建集群环境
  3. asp.net环境下的静态类以及静态变量
  4. hibernate映射关系的配置
  5. 21-MySQL-Ubuntu-快速回到SQL语句的行首和行末
  6. Linux C编程与Shell编程在开发实用工具方面的相同点总结
  7. [转]Birdfont 2.10 发布,字体编辑器
  8. php职业性格测试,三个职业测试方法,助你选择适合你的工作(附测试链接)
  9. 手机计算机隐藏图标,怎么隐藏图标-隐藏小米手机桌面图标文字,只需一小段代码...
  10. 中国电信向小米释放善意,高度认可它的5G性能领先而不是华为
  11. 为何老人与年轻人都更愿意选择OPPO?这些用户需求值得关注
  12. 10 个免费的高清图库网站,强烈推荐
  13. WebDay14 Linux高级+Nginx
  14. 【ES】ES搜索结果中各个字段介绍,hits,took,timeout
  15. h5在线制作html5,在线制作HTML5多媒体作品的技巧
  16. OpenMV入门(下)
  17. wincc web发布与PHP,西门子wincc组态软件的项目web发布操作步骤
  18. GTA4侠盗猎车手4:自由城之章 Mac
  19. 墨尔本大学计算机科学要求,墨尔本大学新开设计算机科学硕士(附详细学分要求)...
  20. 如何做才能降低团队人员流失率?

热门文章

  1. CMD命令进入退出文件夹
  2. 【c++】SPDLOG动态库和静态库、异步日志库hang 问题、registry核心类
  3. MATLAB强行终止正在执行的文件
  4. 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-933 汉诺四塔
  5. 屏幕显示输入信号超出范围解决详细方法
  6. PAT1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
  7. Flink读写系列之-读HBase并写入HBase
  8. 深度学习之卷积云的理解
  9. 铁三角在-PL60全自动皮带驱动转盘
  10. SpringBoot+vue实现前后端分离的高校图书馆座位预约系统