基于大规模机器学习的方差约减优化方法技术

技术编号:26067402 阅读:13 留言:0更新日期:2020-10-28 16:40
本发明专利技术公开了一种基于大规模机器学习的方差约减优化方法,主要解决现有技术中随机优化迭代过程中方差过大导致不收敛到最优值,且收敛速度不够快的问题,其技术方案包括:1)设定起始点并确定迭代次数;2)将初始点赋值给内循环作为起点,并进行全梯度计算;3)大样本中随机选取样本进行控制变量操作;4)在内循环的迭代过程中采用临近点算子来加速。本发明专利技术确保了函数在光滑和强凸条件下达到加速性质的线性收敛效果,实现快速、精确求解最优值,且主要的内循环迭代过程不需要求梯度,适用于大规模机器学习的应用场景。

【技术实现步骤摘要】
基于大规模机器学习的方差约减优化方法
本专利技术属于人工智能领域,进一步涉及机器学习技术,具体为一种基于大规模机器学习的方差约减优化方法,可用于在大规模机器学习应用场景中快速精准地求解最优值。
技术介绍
近些年来,人工智能的蓬勃发展越来越引起学术界和工业界的注意。从20世纪50年代开始,人们一直希望基于逻辑、知识表示、推理和规划的经典人工智能技术能够带来革命性的改变,新兴的人工智能技术能够理解人类的语言、控制机器人,并为人们的日常生活和工业生产提供决策和建议。许多研究人员致力于基于统计技术的系统设计上,例如在快速发展和扩大的机器学习领域。机器学习和由此产生的智能系统——如搜索引擎、推荐平台、语音和图像识别软件——已经成为现代社会不可或缺的一部分。机器学习技术植根于统计数据,并严重依赖于数学算法的效率,它利用了世界上日益强大的计算平台和海量数据集的可用性。机器学习的核心支柱之一是数值优化,直观上看,数值优化涉及到一个系统参数的数值计算,该系统旨在根据尚未看到的数据做出决策,也就是根据当前可用的数据,这些参数被选择为给定学习问题的最优参数。几乎所有的机器学习问题最终都归结于数值优化的求解问题,通过一系列的优化算法去训练数学模型,从而得到模型的未知参数,完成整个优化训练过程。因此,设计更加快速、收敛准确有效的数值优化算法对于机器学习的研究至关重要。本专利技术主要考虑机器学习优化领域的一个基本问题——经验风险最小化问题,经验风险最小化问题可以表示成很多凸损失函数的平均。在一般的优化问题中采用全梯度下降算法(FullGradientDescent),即沿着损失函数梯度平均的反方向进行学习率的更新,可以有效快速地找到全局最优值点。然而,在大规模机器学习的应用场景中,受到计算资源和计算时间的限制,在每次迭代过程中都对所有的样本损失函数进行梯度的求解变得不切实际。因此,随机梯度下降算法(Stochasticgradientdescent),即每次迭代过程中随机性地采用一个样本损失函数来进行学习率的更新来替代计算全部损失函数的梯度,在工程实践中受到越来越多的应用。随机梯度下降算法虽然解决了迭代求解计算效率的问题,降低了计算资源的开销,但是由于每次迭代过程只是随机性地选取一个样本损失函数,带来很多噪声,导致收敛的准确度不高,下降的过程非常曲折,一般情况下只能收敛到局部最优点。
技术实现思路
本专利技术的目的是针对上述现有技术的不足,提出一种基于大规模机器学习的方差约减优化方法,使经验风险最小化的求解的过程更加快速、有效,可以收敛到全局最优值点。本专利技术采用临近点加速的方差约减随机梯度下降算法Point-SVRG,与传统的随机梯度下降算法不同,Point-SVRG由于运用了控制变量法的降方差的思想,Point-SVRG在迭代过程中可以达到方差逐渐约减的效果,最终可以收敛到全局最优值点。除此之外,Point-SVRG也对方差约减随机梯度下降算法SVRG的算法框架做了很大的改变,在内循环迭代过程中,Point-SVRG把对随机选取的损失函数求梯度换成了临近点算子的求解,解决了一些损失函数难求梯度的问题。根据临近点算法(ProximalPointAlgorithm)的思想,Point-SVRG对损失函数施以未来点的梯度下降,可以达到加速的效果。除此之外,相比较于其他流行的加速方法,Point-SVRG只有学习率这一唯一参数需要进行调整,在实际应用过程中更易于实现。实现本专利技术的思路是:在基于经典的SVRG算法中进行临近点算子操作,Point-SVRG算法和SVRG算法非常类似,都有内外两层迭代循环,其中外循环迭代方式基本一致,主要是内循环嵌套的方式不同。SVRG算法的内循环主要是随机选取一个样本函数然后计算其梯度,然后再进行控制变量操作。Point-SVRG算法则是在内循环避免了计算样本函数的梯度,随机选取一个样本函数之后首先进行控制变量操作,然后再进行临近点算子操作,整个内循环是不需要计算样本函数的梯度。本专利技术能够解决由难求梯度的复杂函数组成的经验风险最小化问题,且对于一些有临近点算子解析表达式或者临近点算子可以简单通过数值迭代求得近似解的样本函数。为实现上述目的,本专利技术采取的技术方案为:(1)设置内循环的迭代次数m、外循环的迭代次数k和迭代学习率γ,且迭代学习率γ小于μ/L(L-μ),其中,L表示样本函数的光滑条件,μ表示样本函数的强凸条件;(2)根据历史经验在零点附近取一个初始点;(3)将初始点赋值给内循环作为起点,并进行全梯度计算;(4)在大样本中随机选取一个样本函数,然后取这个随机样本函数的随机梯度,并将初始点进行控制变量和临近点算子投影;如果样本函数的临近点有解析表达式,按照解析表达式编写程序用于快速计算,如果样本函数没有临近点解析表达式,则按照数值迭代法选取一个最小值点代替;(5)内循环迭代完m次后得到的点再重新赋值给内循环的起点,再次进行迭代,直到外循环的迭代次数等于k,迭代结束。本专利技术与现有技术相比,具有以下优点:第一、由于本专利技术采用了临近点加速的方差约减随机梯度下降算法Point-SVRG,该算法与传统的随机梯度下降算法不同,其运用了控制变量法的降方差的思想,因此在迭代过程中可以达到方差逐渐约减的效果,最终可以收敛到全局最优值点;第二、由于本专利技术对SVRG算法框架作出了较大改变,在其内循环迭代过程中把对随机选取的损失函数求梯度换成了临近点算子的求解,从而能够解决损失函数难求梯度的问题;第三、本专利技术根据临近点算法(ProximalPointAlgorithm)的思想,采用了临近点加速的方差约减随机梯度下降算法Point-SVRG对损失函数施以未来点的梯度下降,可以达到加速的效果;第四、本专利技术相较于现有的其它优化方法,由于采用的Point-SVRG算法只有学习率这一个参数需要进行调整,因此在实际应用过程中更易于实现。附图说明图1为本专利技术方法的实现流程图;图2为本专利技术方法的算法框图。具体实施方式以下参照附图,对本专利技术进行详细描述:参照图1,本专利技术提供的具有基于大规模机器学习的方差约减优化算法,具体实现步骤如下:步骤1:选取内循环的迭代次数m、外循环的迭代次数k和迭代学习率γ,且迭代学习率γ小于μ/L(L-μ),其中,L表示样本函数的光滑条件,μ表示样本函数的强凸条件;内循环的迭代次数m尽量选择接近样本函数的总数,但不超过样本总数n;步骤2:选取一个初始点,初始点一般根据历史经验给出或者可以根据简单的计算去取,尽量接近最优值,以使得迭代更快;步骤3:将初始点赋予给内循环的起点,并进行全梯度的计算,全梯度计算的目的是为了参与控制变量的构造来降低随机采样的方差;步骤4:在大样本中随机选取一个样本函数,然后取这个随机样本函数的随机梯度,并将初始点进行控制变量和临近点算子投影;随机梯度是指随机选取的样本函数的梯度,全梯度指全部样本函数的梯度平均,在内循环迭代过程中全梯度是本文档来自技高网
...

【技术保护点】
1.一种基于大规模机器学习的方差约减优化方法,其特征在于,包括如下步骤:/n(1)设置内循环的迭代次数m、外循环的迭代次数k和迭代学习率γ,且迭代学习率γ小于μ/L(L-μ),其中,L表示样本函数的光滑条件,μ表示样本函数的强凸条件;/n(2)根据历史经验在零点附近取一个初始点;/n(3)将初始点赋值给内循环作为起点,并进行全梯度计算;/n(4)在大样本中随机选取一个样本函数,然后取这个随机样本函数的随机梯度,并将初始点进行控制变量和临近点算子投影;如果样本函数的临近点有解析表达式,按照解析表达式编写程序用于快速计算,如果样本函数没有临近点解析表达式,则按照数值迭代法选取一个最小值点代替;/n(5)内循环迭代完m次后得到的点再重新赋值给内循环的起点,再次进行迭代,直到外循环的迭代次数等于k,迭代结束。/n

【技术特征摘要】
1.一种基于大规模机器学习的方差约减优化方法,其特征在于,包括如下步骤:
(1)设置内循环的迭代次数m、外循环的迭代次数k和迭代学习率γ,且迭代学习率γ小于μ/L(L-μ),其中,L表示样本函数的光滑条件,μ表示样本函数的强凸条件;
(2)根据历史经验在零点附近取一个初始点;
(3)将初始点赋值给内循环作为起点,并进行全梯度计算;
(4)在大样本中随机选取一个样本函数,然后取这个随机样本函数的随机梯度,并将初始点进行控制变量和临近点算子投影;如果样本函数的临近点有解析表达式,按照解析表达式编写程序用于快速计算,如果样本函数没有临近点解析表达式,则按照数值迭代法选取一个最小值点代替;<...

【专利技术属性】
技术研发人员:王子龙丘炜
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1