随机无梯度Frank-Wolfe方法的统一分析

INTERNATIONAL
TRANSACTIONS
IN OPERATIONAL
RESEARCH
Intl. Trans. in Op. Res. 00 (2020) 1–24
DOI: 10.1111/itor.12889
A unifified analysis of stochastic gradient-free Frank–Wolfe methods
Jiahong Guo, Huiling Liu and Xiantao Xiao∗

School of Mathematical Sciences, Dalian University of Technology, Dalian 116023, China

E-mail: gjh0722@mail.dlut.edu.cn [Guo]; lhl9797@mail.dlut.edu.cn [Liu]; xtxiao@dlut.edu.cn [Xiao] Received 25 December 2019; received in revised form 29 July 2020; accepted 5 October 2020

 

摘要

在本文中,我们考虑一类受约束的随机程序,其中假设目标中随机函数的梯度以及对可行集的投影被禁止。 我们提出了一类无小批量梯度的Frank-Wolfe方法。 在温和条件下,我们对凸和非凸问题都进行统一的收敛分析。

关键词:随机Frank-Wolfe法; 无梯度 约束随机规划 收敛分析

介绍

在本文中,我们考虑以下约束随机优化问题

minx∈Cf(x):=Eξ[F(x,ξ)](1)

及其以

minx∈Cφ(x ):= f(x)+ r(x),(2)

其中C⊂Rn是直径为D的凸紧集::maxx,y∈Cx − y,r:Rn→R是a(pos 几乎不可微的凸函数ξ:→是在概率空间(,F,P)和F上定义的随机向量:Rn×→R.我们假设期望E [F(x, ξ)]定义明确,每个x∈C的值都是有限的,解集X ∗是非空的。

最近,问题(1)(包括凸和非凸设置)引起了随机优化和机器学习的极大兴趣。在信号处理(Jensen等,2012)和统计数据(Hastie等,2009)中,正则化术语用于避免数据过拟合或保证稀疏性,这引起了对问题(2)的关注。

约束随机问题(1)和(2)已经被许多研究人员研究。解决约束随机问题(1)的普遍方法是随机投影梯度法(SPG)。在每次迭代中,SPG算法都需要计算目标函数的随机梯度以及对可行集的投影。

为了解决问题(2),提出并讨论了SPG的许多变体,例如Ghadimi等人(2016)讨论并分析了随机近端梯度法的收敛性和收敛速度。 通过在每次迭代中获取一小批样本进行大规模的非凸优化。然而,在许多问题中,随机函数F相对于x的梯度的显式难以计算或无法获得。

对于这种情况,无梯度方法已得到越来越多的应用,并且也得到了广泛的研究。例如,Ghadimi和Lan(2013)提出了一种用于非凸随机规划的随机无梯度随机方法,并证明该方法的收敛速度为O(√1k)。 Nesterov和Spokoiny(2017)使用高斯平滑技术提出了几种无随机梯度的方法,并针对不同类别的凸优化问题推导了一些复杂度边界。

在机器学习中,无梯度方法已应用于使用黑盒模型攻击深度神经网络的方法(Chen等人,2017; Vu等人,2017; Ji等人,2019; Tu等人2019) 。最近,Larson等人。 (2019)研究并讨论了无梯度优化方法,并给出了凸和非凸问题的一些关键结果。

对于科学和工程学中的某些问题,随机梯度的计算可能不昂贵,但投影步骤的成本可能很高。在这种情况下,Frank-Wolfe方法(也称为条件梯度方法)更为实用。它避免了投影步骤,只需要访问线性最小化预言。经典的Frank-Wolfe方法最初是由Frank和Wolfe(1956)提出的,最近在文献中进行了广泛的研究(Jaggi,2013; Harchaoui等,2015; Freund和Grigas,2016)。

在那些作品,它们都衍生的O(1K),用于适当选择stepsizes收敛的速率。 Hazan和Kale(2012)讨论了在线Frank-Wolfe方法,并应用这些方法解决了在线光滑和非光滑凸优化的随机问题,从而获得了非光滑情况下的收敛速度O(1k 13)。 Garber和Hazan(2016)考虑了一种新的Frank-Wolfe变体来解决随机非光滑和凸问题,并得出了更好的收敛速度O(√1k)。

该变体还被用于解决随机平滑和强凸优化问题,并获得了线性收敛速度。对于问题(1)的非凸情况,Lacoste-Julien(2016)和Reddi等人研究了确定性的Frank-Wolfe算法。 (2016年)使用方差减少技术提高了随机Frank-Wolfe方法的收敛速度。 Yu等。 (2017)研究了广义条件梯度算法,并建立了其收敛性以解决凸和非凸复合优化问题。 Mokhtari等人提出了一种随机Frank-Wolfe方法来解决随机优化问题(1)。 (2020)。他们应用了梯度平均技术,该技术每次迭代仅需进行一次随机梯度计算即可减少梯度近似的噪声。 Nesterov(2018)进一步扩展了Frank-Wolfe方法来解决复合凸优化问题,并提供了收敛性分析。此方法允许原始对偶解决方案。

Ghadimi(2019)建立了非凸组合优化问题的Frank–Wolfe型方法的收敛性,并提出了Frank–Wolfe方法的随机变量。Balasubramanian和Ghadimi(2018)以及Sahu等人(2019)将一些随机零阶Frank–Wolfe算法推广到非凸和凸优化问题。

在本文中,我们特别感兴趣的情况是:

(i)目标中随机函数的梯度求值是禁止的,甚至是不可能的;

(ii)投影到可行集C上的代价是昂贵的。

提出了一类求解问题(1)和(2)的无梯度随机Frank-Wolfe方法。在目标为Lipschitz连续且梯度为H¨older连续的条件下,建立了关于目标约简的几乎必然收敛和期望收敛速度,以及关于Frank–Wolfe间隙的非凸收敛结果。

本文的结果与Ghadimi(2019)和Balasubramanian and Ghadimi(2018)建立的收敛速度密切相关。然而,我们的论文和那些参考文献有一些不同之处。Ghadimi(2019)分析了基于随机梯度的随机Frank–Wolfe方法在H¨older梯度连续性和梯度方差有界条件下的收敛结果。

相比之下,我们的方法利用高斯平滑近似和随机函数值来构造近似的随机梯度。Balasubramanian和Ghadimi(2018)研究了问题(1)的随机零阶Frank–Wolfe方法在Lipschitz梯度连续性和梯度方差有界条件下的收敛性。我们的算法(算法1)是该方法的一个小批量变体(Balasubramanian和Ghadimi,2018),因此分析更为复杂。

本文的分析是在较弱的假设(H¨older梯度连续性)下进行的。特别是,如果我们选择H¨older参数δ=1,我们的收敛结果可以恢复参考文献中的收敛速度(Balasubramanian和Ghadimi,2018)。

最后,在保证几乎肯定收敛的前提下,建立了我们的收敛速度,这在相关文献中没有讨论。

总之,本文的主要贡献如下:

•现有的随机Frank-Wolfe方法大多是在随机函数F的梯度为Lipschitz连续的条件下进行分析的。我们的收敛性分析是在一个较弱的条件下建立的,即随机函数F的梯度是H¨older连续的。此外,在我们的分析中不需要标准梯度方差有界的假设。

•根据随机样本的总预算,在每次迭代中抽取小批量样本。

•对于光滑问题(1)和复合问题(2),我们的收敛结果在凸和非凸情况下都是统一的。

本文的其余部分组织如下。

第二节介绍了高斯平滑函数和一些关键引理。

在第三节中,我们提出了求解问题(1)和(2)的随机无梯度Frank–Wolfe方法,并分析了它们在凸环境下的几乎必然收敛性和收敛速度。

第四节讨论了非凸条件下的收敛结果。

最后,在第5节中,我们报告了一些初步的数值结果。

第二节略

3.凸优化收敛分析

在本节中,我们提出了求解问题(1)和问题(2)的随机无梯度Frank–Wolfe方法,并分析了在随机函数F的凸性条件下所提出方法的收敛性。
 
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
求解交通流量分配模型的有效方法 #include "stdafx.h" #include #include #include "os.h" #include "my_types.h" #include "md_alloc.h" #include "my_util.h" #include "message.h" #include "tui.h" #include "meta.h" #include "link_functions.h" #include "od_table.h" #include "od_flow.h" #include "mincostroutes.h" #include "ls_bisect.h" #include "fw_status.h" extern int no_zones, no_nodes, no_links; /* Gloabal variables */ my_float **ODflow, TotalODflow; /* Local Declarations */ /* void FW(void); Should there be a function for fw, or should it be included in main? */ static void Init(char *tuiFileName); static void Close(char *tuiFileName); static void InitODflow(void); static void CloseODflow(void); /* End of local declarations. */ void main(int argc, char **argv ) { my_float *MainVolume, *SubVolume, *SDVolume, Lambda; int **MinPathPredLink; struct fw_status_struct fw_status; char *tuiFileName; StatusMessage("General", "Ready, set, go..."); switch(argc){ case 2: tuiFileName=argv[1]; break; case 1: tuiFileName="control.tui"; break; default: ExitMessage("Wrong number of command line arguments (%d). \n" "Syntax: fw .", argc-1); } Init(tuiFileName); MainVolume = (my_float*)Alloc_1D(no_links, sizeof(my_float) ); SDVolume = SubVolume = (my_float*)Alloc_1D(no_links, sizeof(my_float) ); /* Compute search direction and sub-volume in the same place. */ MinPathPredLink = (int**)Alloc_2D(no_zones,no_nodes, sizeof(int)); InitFWstatus(&fw_status); FindMinCostRoutes (MinPathPredLink, NULL); Assign (ODflow,MinPathPredLink,MainVolume); FirstFWstatus(MainVolume, &fw_status); UpdateLinkCost(MainVolume); for ( fw_status.Iteration = 1; ContinueFW(fw_status); fw_status.Iteration++) { FindMinCostRoutes (MinPathPredLink, NULL); Assign (ODflow,MinPathPredLink,SubVolume); VolumeDifference( SubVolume, MainVolume, SDVolume); /* Which yields the search direction. */ Lambda = LinksSDLineSearch ( MainVolume, SDVolum
Frank-Wolfe算法(也称为条件渐进算法)是一种用于求解线性SVM(支持向量机)问题的优化算法。该算法是一种迭代优化算法,通过迭代逐步优化线性模型的参数。下面详细介绍Frank-Wolfe算法在SVM中的应用。 在SVM中,我们的目标是找到一个超平面,将类别分开得最好,同时最小化分类错误。这可以通过最小化损失函数来实现。而线性SVM的损失函数是一个凸函数,可以通过梯度下降法来求解最小值。Frank-Wolfe算法就是一种梯度下降法的变体。 具体来说,Frank-Wolfe算法在每次迭代中,首先计算当前模型在样本中的梯度。然后,在线性模型参数空间中,找到梯度方向上的最优点,并计算对应的步长。接着,更新线性模型的参数,得到下一轮迭代的模型。循环迭代至满足收敛条件。 Frank-Wolfe算法具有一些优点,比如在每次迭代中,不需要计算整个梯度,而是只计算梯度方向的一个极值点,这大大减少了计算量。此外,由于SVM是凸优化问题,因此算法可以保证收敛到全局最优解。 然而,Frank-Wolfe算法也存在一些缺点。首先,它的收敛速度相对较慢,特别是在高维数据集上。其次,算法对参数的初始值敏感,不同的初始值会导致不同的收敛结果。此外,算法对噪声敏感,当输入数据含有较多噪声时,算法可能会产生较差的结果。 总结来说,Frank-Wolfe算法是一种用于求解线性SVM问题的优化算法,它通过迭代优化模型参数来最小化损失函数。算法具有计算量小、收敛到全局最优解等优点,但是收敛速度相对较慢,对参数初始值敏感,并对噪声敏感。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值