CN108898227A - 学习率计算方法及装置、分类模型计算方法及装置 - Google Patents
学习率计算方法及装置、分类模型计算方法及装置 Download PDFInfo
- Publication number
- CN108898227A CN108898227A CN201810621059.0A CN201810621059A CN108898227A CN 108898227 A CN108898227 A CN 108898227A CN 201810621059 A CN201810621059 A CN 201810621059A CN 108898227 A CN108898227 A CN 108898227A
- Authority
- CN
- China
- Prior art keywords
- learning rate
- iteration
- value
- calculation method
- regression tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据分类技术领域,提供一种学习率计算方法及装置、分类模型计算方法及装置。其中,该学习率计算方法包括:获得用于对数据进行分类的分类模型的经验风险,经验风险的参数包括用于迭代计算分类模型的学习率;基于随机漫步对学习率进行迭代计算,获得经验风险取最小值时学习率的值。由于将随机漫步引入了学习率的迭代计算过程,从而计算获得的学习率能够使作为优化对象的经验风险收敛到全局最优解而非局部最优解。进而分类模型在基于该学习率进行模型的迭代计算时,能够获得较高精度的模型,从而改善数据分类结果的准确性。该分类模型计算方法用于计算梯度渐进回归树模型,其中计算模型的学习率时采用该学习率计算方法进行计算。
Description
技术领域
本发明涉数据分类技术领域,具体而言,涉及一种学习率计算方法及装置、分类模型计算方法及装置。
背景技术
机器学习(Machine Learning,ML)作为一门多领域交叉学科,广泛应用于数据挖掘、大数据等领域。常见的机器学习算法有:分类算法、聚类算法、神经网络、强化学习等。其中,分类算法是一种有监督学习方法,是数据挖掘中的一个很重要的任务,目的是依据训练样本学习一个分类器,从而实现将数据映射到给定类别中的某一类别(值)。
常见的分类算法有决策树、逻辑回归、组合分类器等。梯度渐进回归树是一种组合分类器,由Freidman于1999年提出,属于一种迭代决策回归树算法,该算法生成的梯度渐进回归树模型为一种累加模型。算法的优点主要包括:算法可以灵活处理各种类型的数据、包括连续值和离散值;算法所需参数较少,且准确率较高;算法鲁棒性较好等。基于上述优点,该算法自提出以来应用于各行各业的数据挖掘与大数据分析中。
梯度渐进回归树算法的主要缺陷之一是在求解累加模型的学习率时容易陷入局部最优解,不能得到最优模型,从而导致对某些数据进行分类的效果不佳。
发明内容
有鉴于此,本发明实施例提供一种学习率计算方法及装置、分类模型计算方法及装置,以解决上述技术问题。
为实现上述目的,本发明提供如下技术方案:
第一方面,本发明实施例提供一种学习率计算方法,包括:
获得用于对数据进行分类的分类模型的经验风险,经验风险的参数包括用于迭代计算分类模型的学习率;
基于随机漫步对学习率进行迭代计算,获得经验风险取最小值时学习率的值。
可见,由于将随机漫步引入了学习率的迭代计算过程,从而计算获得的学习率能够使作为优化对象的经验风险收敛到全局最优解(即全局最小值)而非局部最优解。进而分类模型在基于该学习率进行模型的迭代计算时,能够获得较高精度的模型,从而改善数据分类结果的准确性。这里所称的分类模型,包括但不限于梯度渐进回归树模型。
结合第一方面,在第一方面的第一种可能的实现方式中,学习率为γ,经验风险为J(γ),基于随机漫步进行迭代计算,获得经验风险取最小值时学习率的值,包括:
确定迭代次数K、迭代步长λ的初始值、γ的初始值、误差容忍度ξ以及步长更新参数l,其中,K为正整数,λ>ξ>0,l>1;
基于λ对γ进行K次迭代,将第K次迭代后γ的值γ(K)确定为在λ下J(γ)取最小值时γ的值,其中,每次迭代时均基于λ对γ进行随机更新并判断更新后J(γ)的值是否减小;
将λ的值更新为λ/l;
在确定满足λ≥ξ时,将γ(K)确定为γ的初始值,跳转至“基于λ对γ进行K次迭代”的步骤重复执行,直至满足λ<ξ;
将满足λ<ξ时γ的值确定为J(γ)取最小值时γ的值。
在上述步骤中,关键在于对γ的更新具有随机性,从而有一定的概率跳出J(γ)的局部最优解。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,基于λ对γ进行K次迭代,将第K次迭代后γ的值γ(K)确定为在λ下J(γ)取最小值时γ的值,包括:
取迭代次数k为1至K,在第k次迭代时生成随机数uk;
基于公式γ(k)=γ(k-1)+λuk计算第k次迭代后γ的值γ(k),其中,γ(k-1)为第k-1次迭代后γ的值;
在确定满足J(γ(k))<J(γ(k-1))时,将γ(k)作为γ的初始值,跳转至“取迭代次数k为1至K,在第k次迭代时生成随机数uk”的步骤重复执行;
将第K次迭代后γ的值γ(K)确定为在λ下J(γ)取最小值时γ的值。
在上述步骤中,每次迭代时对γ更新后都会比较J(γ(k))以及J(γ(k-1)),并在前者较小时重置迭代次数重新开始迭代,即有一定的概率跳出J(γ)的局部最优解,使J(γ)最终收敛到全局最优解。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,uk为区间[-1,1]内的随机数。
uk的取值可以控制随机漫步的范围,uk为区间[-1,1]内的随机数时,随机漫步的范围被控制在以λ为半径的球体内(该球体的维度和数据的维度一致)。
第二方面,本发明实施例提供一种分类模型计算方法,分类模型为用于对数据进行分类的梯度渐进回归树模型F(x),F(x)通过M次迭代获得,方法包括:
确定迭代次数M、F(x)的初始化模型以及F(x)的经验风险J(γ),其中,γ为用于迭代计算F(x)的学习率,M为正整数;
取迭代次数m为1至M,在第m次迭代时,拟合决策回归树并将决策回归树表示为hm(x);
利用第一方面或第一方面的任意一种可能的实现方式提供的学习率计算方法,计算获得J(γ)在第m次迭代时对应的经验风险Jm(γ)取最小值时γ的值γm;
基于公式Fm(x)=Fm-1(x)+γmhm(x)计算第m次迭代后F(x)的结果Fm(x),其中,Fm-1(x)为第m-1次迭代后F(x)的结果;
将第M次迭代后的F(x)的结果FM(x)确定为F(x)。
在该分类模型计算方法在通过优化Jm(γ)计算γm时,利用了本发明实施例提供的学习率计算方法进行计算,从而计算获得的γm能够使Jm(γ)收敛到全局最优解,进而获得的F(x)具有较高的模型精度,能够取得较好的分类效果。
结合第二方面,在第二方面的第一种可能的实现方式中,Jm(γ)通过如下公式定义:
其中,xi为用于训练F(x)的n个训练样本中的第i个训练样本,n为正整数,yi为xi的标签,L为损失函数。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,拟合决策回归树并将决策回归树表示为hm(x),包括:
取i为1至n,对xi基于公式计算L(yi,Fm-1(xi))在Fm-1(xi)处的负梯度rim,在i为n时,共获得n个负梯度;
基于n个负梯度拟合决策回归树并将决策回归树表示为hm(x)。
在实际中,部分损失函数L难以计算差分,可以利用通过上述方式定义的损失函数L的负梯度作为回归问题中的残差近似值。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,基于n个负梯度拟合决策回归树并将决策回归树表示为hm(x),包括:
确定子空间划分个数Jm;
基于n个负梯度,利用分类回归树CART算法拟合决策回归树,决策回归树的总共Jm个叶子节点将n个训练样本划分为Jm个子空间;
基于公式计算获得用于表示决策回归树的hm(x),其中,bjm为利用决策回归树预测获得的、第j个子空间Rjm中的每个训练样本xi的标签的均值,
第三方面,本发明实施例提供一种学习率计算装置,包括:
经验风险获取模块,用于获得用于对数据进行分类的分类模型的经验风险,经验风险的参数包括用于迭代计算分类模型的学习率;
学习率获取模块,用于基于随机漫步对学习率进行迭代计算,获得经验风险取最小值时学习率的值。
第四方面,本发明实施例提供一种分类模型计算装置,分类模型为用于对数据进行分类的梯度渐进回归树模型F(x),F(x)通过M次迭代获得,装置包括:
初始化模块,用于确定迭代次数M、F(x)的初始化模型以及F(x)的经验风险J(γ),其中,γ为用于迭代计算F(x)的学习率,M为正整数;
拟合模块,用于取迭代次数m为1至M,在第m次迭代时,拟合决策回归树并将决策回归树表示为hm(x);
学习率计算模块,用于利用第一方面或第一方面的任意一种可能的实现方式提供的学习率计算方法,计算获得J(γ)在第m次迭代时对应的经验风险Jm(γ)取最小值时γ的值γm;
迭代模块,用于基于公式Fm(x)=Fm-1(x)+γmhm(x)计算第m次迭代后F(x)的结果Fm(x),其中,Fm-1(x)为第m-1次迭代后F(x)的结果;
结果确定模块,用于将第M次迭代后的F(x)的结果FM(x)确定为F(x)。
第五方面,本发明实施例提供一种计算机存储介质,计算机存储介质中存储有计算机程序指令,计算机程序指令被计算机的处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实施方式提供的方法。
第六方面,本发明实施例提供一种计算机存储介质,计算机存储介质中存储有计算机程序指令,计算机程序指令被计算机的处理器读取并运行时,执行第二方面或第二方面的任意一种可能的实施方式提供的方法。
第七方面,本发明实施例提供一种电子设备,包括处理器以及计算机存储介质,计算机存储介质中存储有计算机程序指令,计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实施方式提供的方法。
第八方面,本发明实施例提供一种电子设备,包括处理器以及计算机存储介质,计算机存储介质中存储有计算机程序指令,计算机程序指令被处理器读取并运行时,执行第二方面或第二方面的任意一种可能的实施方式提供的方法。
为使本发明的上述目的、技术方案和有益效果能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了一种可应用于本发明实施例中的终端设备的结构框图;
图2示出了本发明第一实施例提供的分类模型计算方法的流程图;
图3示出了本发明第一实施例提供的学习率计算方法的流程图;
图4示出了本发明第二实施例提供的学习率计算装置的功能模块图;
图5示出了本发明第三实施例提供的分类模型计算装置的功能模块图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
图1示出了本发明实施例提供的终端设备的结构示意图。参照图1,终端设备100包括存储器102、存储控制器104,一个或多个(图中仅示出一个)处理器106、外设接口108、射频模块110、音频模块112、显示模块114等。这些组件通过一条或多条通讯总线/信号线116相互通讯。
存储器102可用于存储软件程序以及模块,如本发明实施例中的学习率计算方法及装置、分类模型计算方法及装置对应的程序指令/模块,处理器106通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理,如本发明实施例提供的学习率计算方法及装置、分类模型计算方法及装置。
存储器102可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。处理器106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。
处理器106可以是一种集成电路芯片,具有信号的处理能力。具体可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、微控制单元(Micro ControllerUnit,MCU)、网络处理器(Network Processor,NP)或者其他常规处理器;还可以是专用处理器,包括数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、现场可编程门阵列(Field Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。
外设接口108将各种输入/输出装置耦合至处理器106以及存储器102。在一些实施例中,外设接口108,处理器106以及存储控制器104可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频模块110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。
音频模块112向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
显示模块114在终端设备100与用户之间提供一个显示界面。具体地,显示模块114向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频及其任意组合。
可以理解,图1所示的结构仅为示意,终端设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。于本发明实施例中,终端设备100可以是服务器、个人计算机、智能移动设备、智能穿戴设备以及智能车载设备等具有运算处理能力的设备。
第一实施例
本发明第一实施例提供的分类模型计算方法用于训练梯度渐进回归树模型F(x),该模型用于对数据x进行分类,F(x)也可以看作x通过该模型预测获得的分类结果,而x的实际分类结果记为y,y也称为x的标签。y与F(x)之间的误差程度通过损失函数L(y,F(x))进行定义,通常损失函数越小,模型的性能越好,常见的损失函数有0-1损失函数、绝对值损失函数、对数损失函数、Hinge损失函数等。
梯度渐进回归树模型F(x)为一个累加模型,可以通过迭代公式Fm(x)=Fm-1(x)+γmhm(x)进行定义。其中,m表示迭代次数,Fm-1(x)为第m-1次迭代后F(x)的结果,Fm(x)为第m次迭代后F(x)的结果,γm为F(x)的学习率γ在第m次迭代时的值,hm(x)为第m次迭代时拟合的一颗决策回归树。
将分类模型关于训练集中的训练样本的平均损失J定义为经验风险,J通常和分类模型的一个或多个参数相关。为使分类模型的性能达到最优,在其训练的过程中,应当对这些参数进行优化,以使J取最小值。进而基于使J取最小值时的这些参数的值求解分类模型。
在梯度渐进回归树模型F(x)中,仅涉及一个这样的参数,即模型的学习率γ,从而对于F(x)而言,经验风险J可以表示为J(γ),J(γ)与L(y,F(x))之间具有如下关系:
其中,正整数n为训练集中训练样本的个数,xi为其中的第i个训练样本,yi为xi的标签,Jm(γ)表示第m次迭代时的J(γ)。之前提到的γm定义为在第m次迭代时,使Jm(γ)取最小值时γ的值,即可以通过如下公式表示γm:
γm通常可以通过迭代计算的方式获得。
然而,发明人经长期研究发现,依据现有的最优化理论的相关算法迭代计算γm,其结果依赖于初始点的选取,由于训练样本本身的不确定性导致了无法保证选取合理的初始点。同时,算法复杂度依赖于损失函数的选取,当损失函数较为复杂,且存在较多的凹点时,无法保证算法落入到Jm(γ)的全局最优解,而往往陷入Jm(γ)的局部最优解。这样获得的γm用于计算F(x)显然并不能获得最优的模型,导致模型精度下降,分类效果不佳的问题。
第一实施例提供一种分类模型计算方法以及学习率计算方法以解决上述技术问题。其中该分类模型计算方法中使用该学习率计算方法计算学习率,下面进行具体介绍。
图2示出了本发明第一实施例提供的分类模型计算方法的流程图。参照图2,分类模型计算方法包括:
步骤S10:终端设备100的处理器106确定迭代次数、梯度渐进回归树的初始化模型以及梯度渐进回归树的经验风险。
步骤S10为迭代计算F(x)的初始化步骤。其中迭代次数M为正整数,通常而言M的取值越大,模型的精度也越高,但训练模型的耗时也会增长,可以根据实际需求确定M的取值。根据上面的阐述,F(x)的经验风险可以表示为J(γ),确定J(γ)主要是确定用于计算的J(γ)损失函数L(y,F(x))的具体类型。F(x)的初始化模型F0(x)可以为常数,例如通过如下公式计算出的γ:
显然的,在步骤S10中还需要确定用于训练F(x)的训练集。
步骤S11至步骤S13为迭代步骤,共迭代M次,每次迭代过程都是类似的,因此在阐述时以其中的第m次迭代为例进行阐述,m的取值范围是1至M之间的整数。
步骤S11:终端设备100的处理器106拟合并表示本次迭代中的决策回归树。
决策回归树可以通过训练集中每个训练样本xi对应的损失函数L(yi,Fm-1(xi))在Fm-1(xi)处的负梯度拟合获得。具体而言,负梯度rim通过如下公式进行计算:
对于训练集中的n个训练样本,均通过上述公式计算负梯度,共获得n个负梯度的值。将n个负梯度的值作为拟合函数时的因变量,可以拟合出一棵决策回归树。
具体而言,首先确定子空间划分个数Jm,这里所称的子空间是指对训练集进行划分后形成的子集,例如训练集为{1,2,3,4,5}共5个训练样本,若将其划分为两个子空间{1,2,3}与{4,5},则Jm的值为2。
然后将n个负梯度作为拟合决策回归树的数据,利用分类回归树(ClassificationAnd Regression Tree,CART)算法拟合决策回归树,在决策回归树的叶子节点的总个数达到Jm个时,决策回归树构建完成,此时Jm个叶子节点将n个负梯度划分为Jm个子空间,由于负梯度rim与训练样本xi具有一一对应的关系,因此实际上也相对于将n个训练样本划分为了Jm个子空间。其中,CART算法是一种现有算法,此处不再详细阐述其过程。采用负梯度进行拟合的主要原因是部分损失函数L(y,F(x))难以计算差分。
决策回归树拟合完成后,可以基于公式计算获得用于表示决策回归树的hm(x),其中,均值bjm定义为:
Rjm表示Jm个子空间中的第j个子空间,为利用该决策回归树预测获得xi的标签,ave表示求均值函数。I(x∈Rjm)定义为:
步骤S12:终端设备100的处理器106计算在本次迭代中的经验风险取最小值时学习率的值。
这里,要计算的学习率即γm。γm的计算是一个对γ进行迭代的过程,在这一过程中,不断更新γ的值使Jm(γ)逐渐收敛到最小值,迭代结束后γ的值即为γm。
图3示出了本发明第一实施例提供的学习率计算方法的流程图。参照图3,学习率计算方法包括:
步骤S120:终端设备100的处理器106获得用于对数据进行分类的分类模型的经验风险,经验风险的参数包括用于迭代计算分类模型的学习率。
在步骤S10中已经获得了梯度渐进回归树模型F(x)的经验风险Jm(γ),其参数包括学习率γ,在步骤S120中直接使用就可以了。
需要指出,该学习率计算方法不限于应用在第一实施例提供的分类模型计算方法中,该分类模型计算方法仅仅是用于计算梯度渐进回归树模型,事实上在机器学习领域的其他很多分类模型中均存在学习率或意义者类似的参数,该学习率计算方法在这些分类模型的训练过程中也是可以使用的。这些分类模型的学习率也不限于一个参数,可以是多个参数。当然,由于学习率计算方法应用至其他分类模型的训练过程,和其应用于梯度渐进回归树模型的训练过程的具体实现方式是类似的,因此在第一实施例中仅以该学习率计算方法应用于梯度渐进回归树模型的计算为例进行阐述,但这并不构成对本发明保护范围的限制。
步骤S121:终端设备100的处理器106基于随机漫步对学习率进行迭代计算,获得经验风险取最小值时学习率的值。
随机漫步是一种数学统计模型,通过一连串的轨迹表示不规则的变动形式。在γ的迭代过程中引入随机漫步,使得每次迭代时对γ的更新具有随机性,从而有一定的概率跳出Jm(γ)的局部最优解,而最终收敛到Jm(γ)的全局最优解γm。
步骤S121可以实现为通过如下伪代码示出的两层循环:
输入:K、λ、ξ、γ、l
输出:γm
对于输入部分,正整数K表示内层迭代次数,通常而言K的取值越大,模型的精度也越高,但训练模型的耗时也会增长,可以根据实际需求确定K的取值。正数λ表示迭代步长,在循环过程中λ的值会发生改变,这里需要确定的是其初始值,例如可以取1.0,但不限于该值。正数ξ表示误差容忍度,用于控制循环结束同时决定计算精度,ξ<λ,且通常取一个较小的值,例如0.00001,但不限于该值。γ由于要进行迭代计算,因此需要给出一个初始值γ(0),例如0,但不限于该值。l为步长更新参数,用于在循环过程中更新λ,l>1。
对于输出部分,输出的是两层循环结束后的γ的值,认为该值就是使Jm(γ)取最小值的γ的值,即γm。
上述伪代码左侧的数字表示行号。第1行和第10行为外层循环,第2行至第9行为内层循环。第1行的外层循环条件为λ≥ξ,第10行表示没执行一次外层循环将λ的值更新为λ/l,即λ在外层循环的过程中时不断缩小的,λ的计算精度也不断提高,最终满足λ<ξ时跳出外层循环,获得γm。可见,在其他因素不变时,ξ越小外层循环执行的次数也就越多,λ的计算精度也就越高,因此ξ一般会取较小的正数。
内层循环包括K次迭代,每执行一次内层循环实际上都是在寻找当前的λ下使Jm(γ)取最小值时γ的值γ(K),然后将γ(K)作为下一次执行内层循环时γ的初始值γ(0)(如果还需要执行下一次内层循环的话),其中,γ(K)表示第K次迭代后γ的值。K次迭代中的每次迭代过程都是类似的,因此在阐述时以其中的第k次迭代为例进行阐述,k的取值范围是1至K之间的整数,如第2行所示。
在第k次迭代中,首先生成随机数uk,uk的取值可以控制随机漫步的范围,例如在第3行中取uk为区间[-1,1]内的随机数时,随机漫步的范围被控制在以λ为半径的球体内(该球体的维度和数据的维度一致),当然uk的取值不限于上述区间。
在第4行中,基于迭代公式γ(k)=γ(k-1)+λuk计算第k次迭代后γ的值γ(k),其中,γ(k-1)为第k-1次迭代后γ的值,由于uk是随机数,因此γ(k)和γ(k-1)之间的关系具有一定的随机性。
第5行至第9行为一个判断步骤,如果满足J(γ(k))<J(γ(k-1)),即第k次迭代后Jm(γ)的值减小了,说明找到了一个更好的迭代初始点,将γ的初始值γ(0)设置为γ(k),以及将迭代次数k重置为1,重新开始K次迭代。如果不满足J(γ(k))<J(γ(k-1)),即第k次迭代后Jm(γ)的值没有减小,说明找到并未找到更好的迭代初始点,继续当前的迭代,将迭代次数累加1。执行完K次迭代后,获得γ(K),即在λ下Jm(γ)取最小值时γ的值。
可见,在上述过程中,由于uk带来的随机特性,γ的迭代初始点在迭代过程中可能会重新选取,因此与现有的最优化理论的相关算法不同,其最终结果并不十分依赖于初始点的选取。此外,由于γ的随机更新,并且在更新后始终判断Jm(γ)的值是否减小,从而使得γ有一定概率跳出Jm(γ)的局部最优解,而收敛到Jm(γ)的全局最优解,其中,全局最优解即Jm(γ)在全局范围内取最小值时γ的值,每执行一次内层循环,获得的就是在当前的λ下Jm(γ)的全局最优解γ(K)。为确保随机漫步的效果,实际中可以将K的值取得适当大一些,例如取100。
该学习率计算方法对于有多个凹点的损失函数尤为适用,能够使经验风险收敛到全局最优解,从而将计算出的学习率应用于分类模型,能够提高模型的精度。
例如,在引文推荐的相关应用中,由于数据的稀疏度较大,一般会在损失函数中引入L1范数作为数据的稀疏度量,相应地,损失函数会存在多个局部最优解的情况。又例如在图像分类的相关应用中,相邻像素的像素值会比较相似,数据本身具有低秩性,一般会在损失函数中引入核范数作为数据的低秩度量,同样会导致损失函数会存在多个局部最优解的情况。这些场景下都可以应用上述学习率计算方法,以改善分类模型的精度。
步骤S13:终端设备100的处理器106基于本次迭代中的决策回归树以及学习率更新梯度渐进回归树模型。
在步骤S11以及步骤S12中分别计算好hm(x)和γm后,基于迭代公式Fm(x)=Fm-1(x)+γmhm(x)即可以对F(x)进行更新。
步骤S14:终端设备100的处理器106将最后一次迭代后的梯度渐进回归树模型确定为最终的梯度渐进回归树模型。
F(x)在第M次迭代后的结果FM(x)即最终所要计算的梯度渐进回归树模型F(x)。F(x)训练完成后,可以将其用于数据分类等任务。
综上所述,本发明第一实施例提供的分类模型计算方法,用于计算梯度渐进回归树模型,由于其在计算学习率时,引入了本发明第一实施例提供的学习率计算方法,通过随机漫步的方式计算学习率,因此计算出的学习率能够使作为优化对象的经验风险收敛到全局最优解而非局部最优解,从而提高分类模型的精度,进而改善数据分类结果的准确性。可以理解的,本发明第一实施例提供的学习率计算方法不限于应用于计算梯度渐进回归树模型,还可以在计算其他分类模型,例如逻辑回归模型、支持向量机模型等分类模型时使用。
第二实施例
图4示出了本发明第二实施例提供的学习率计算装置200的功能模块图。参照图4,该装置包括经验风险获取模块210以及学习率获取模块220。
其中,经验风险获取模块210用于获得用于对数据进行分类的分类模型的经验风险,经验风险的参数包括用于迭代计算分类模型的学习率;
学习率获取模块220用于基于随机漫步对学习率进行迭代计算,获得经验风险取最小值时学习率的值。
本发明第二实施例提供的图像特征提取装置200,其实现原理及产生的技术效果和前述方法实施例中关于学习率计算方法的部分相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
第三实施例
图5示出了本发明第三实施例提供的分类模型计算装置300的功能模块图。参照图5,该装置包括初始化模块310、拟合模块320、学习率计算模块330、迭代模块340以及结果确定模块350。
其中,初始化模块310用于确定迭代次数M、F(x)的初始化模型以及F(x)的经验风险J(γ),其中,γ为用于迭代计算F(x)的学习率,M为正整数;
拟合模块320用于取迭代次数m为1至M,在第m次迭代时,拟合决策回归树并将决策回归树表示为hm(x);
学习率计算模块330用于利用第一方面或第一方面的任意一种可能的实现方式提供的学习率计算方法,计算获得J(γ)在第m次迭代时对应的经验风险Jm(γ)取最小值时γ的值γm;
迭代模块340用于基于公式Fm(x)=Fm-1(x)+γmhm(x)计算第m次迭代后F(x)的结果Fm(x),其中,Fm-1(x)为第m-1次迭代后F(x)的结果;
结果确定模块350用于将第M次迭代后的F(x)的结果FM(x)确定为F(x)。
本发明第三实施例提供的分类模型计算装置300,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
第四实施例
本发明第四实施例提供一种计算机存储介质,计算机存储介质中存储有计算机程序指令,计算机程序指令被计算机的处理器读取并运行时,执行本发明实施例提供的学习率计算方法。该计算机存储介质可以实现为,但不限于图1示出的存储器102。
第五实施例
本发明第五实施例提供一种计算机存储介质,计算机存储介质中存储有计算机程序指令,计算机程序指令被计算机的处理器读取并运行时,执行本发明实施例提供的分类模型计算方法。该计算机存储介质可以实现为,但不限于图1示出的存储器102。
第六实施例
本发明第六实施例提供一种电子设备,包括处理器以及计算机存储介质,计算机存储介质中存储有计算机程序指令,计算机程序指令被处理器读取并运行时,执行本发明提供的学习率计算方法。该电子设备可以实现为,但不限于图1示出的终端设备100。
第七实施例
本发明第七实施例提供一种电子设备,包括处理器以及计算机存储介质,计算机存储介质中存储有计算机程序指令,计算机程序指令被处理器读取并运行时,执行本发明提供的分类模型计算方法。该电子设备可以实现为,但不限于图1示出的终端设备100。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得计算机设备执行本发明各个实施例所述方法的全部或部分步骤。前述的计算机设备包括:个人计算机、服务器、移动设备、智能穿戴设备、网络设备、虚拟设备等各种具有执行程序代码能力的设备,前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟、磁带或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种学习率计算方法,其特征在于,包括:
获得用于对数据进行分类的分类模型的经验风险,所述经验风险的参数包括用于迭代计算所述分类模型的学习率;
基于随机漫步对所述学习率进行迭代计算,获得所述经验风险取最小值时所述学习率的值。
2.根据权利要求1所述的学习率计算方法,其特征在于,所述学习率为γ,所述经验风险为J(γ),所述基于随机漫步进行迭代计算,获得所述经验风险取最小值时所述学习率的值,包括:
确定迭代次数K、迭代步长λ的初始值、γ的初始值、误差容忍度ξ以及步长更新参数l,其中,K为正整数,λ>ξ>0,l>1;
基于λ对γ进行K次迭代,将第K次迭代后γ的值γ(K)确定为在λ下J(γ)取最小值时γ的值,其中,每次迭代时均基于λ对γ进行随机更新并更新后J(γ)的值是否减小;
将λ的值更新为λ/l;
在确定满足λ≥ξ时,将γ(K)确定为γ的初始值,跳转至“基于λ对γ进行K次迭代”的步骤重复执行,直至满足λ<ξ;
将满足λ<ξ时γ的值确定为J(γ)取最小值时γ的值。
3.根据权利要求2所述的学习率计算方法,其特征在于,所述基于λ对γ进行K次迭代,将第K次迭代后γ的值γ(K)确定为在λ下J(γ)取最小值时γ的值,包括:
取迭代次数k为1至K,在第k次迭代时生成随机数uk;
基于公式γ(k)=γ(k-1)+λuk计算所述第k次迭代后γ的值γ(k),其中,γ(k-1)为第k-1次迭代后γ的值;
在确定满足J(γ(k))<J(γ(k-1))时,将γ(k)作为γ的初始值,跳转至“取迭代次数k为1至K,在第k次迭代时生成随机数uk”的步骤重复执行;
将第K次迭代后γ的值γ(K)确定为在λ下J(γ)取最小值时γ的值。
4.根据权利要求3所述的学习率计算方法,其特征在于,uk为区间[-1,1]内的随机数。
5.一种分类模型计算方法,其特征在于,所述分类模型为用于对数据进行分类的梯度渐进回归树模型F(x),F(x)通过M次迭代获得,所述方法包括:
确定迭代次数M、F(x)的初始化模型以及F(x)的经验风险J(γ),其中,γ为用于迭代计算F(x)的学习率,M为正整数;
取迭代次数m为1至M,在第m次迭代时,拟合决策回归树并将所述决策回归树表示为hm(x);
利用如权利要求1-4中任一项所述的学习率计算方法计算获得J(γ)在第m次迭代时对应的经验风险Jm(γ)取最小值时γ的值γm;
基于公式Fm(x)=Fm-1(x)+γmhm(x)计算所述第m次迭代后F(x)的结果Fm(x),其中,Fm-1(x)为第m-1次迭代后F(x)的结果;
将第M次迭代后的F(x)的结果FM(x)确定为F(x)。
6.根据权利要求5所述的分类模型计算方法,其特征在于,Jm(γ)通过如下公式定义:
其中,xi为用于训练F(x)的n个训练样本中的第i个训练样本,n为正整数,yi为xi的标签,L为损失函数。
7.根据权利要求6所述的分类模型计算方法,其特征在于,所述拟合决策回归树并将所述决策回归树表示为hm(x),包括:
取i为1至n,对xi基于公式计算L(yi,Fm-1(xi))在Fm-1(xi)处的负梯度rim,在i为n时,共获得n个负梯度;
基于所述n个负梯度拟合所述决策回归树并将所述决策回归树表示为hm(x)。
8.根据权利要求7所述的分类模型计算方法,其特征在于,所述基于所述n个负梯度拟合所述决策回归树并将所述决策回归树表示为hm(x),包括:
确定子空间划分个数Jm;
基于所述n个负梯度,利用分类回归树CART算法拟合所述决策回归树,所述决策回归树的总共Jm个叶子节点将所述n个训练样本划分为Jm个子空间;
基于公式计算获得用于表示所述决策回归树的hm(x),其中,bjm为利用所述决策回归树预测获得的、第j个子空间Rjm中的每个训练样本xi的标签的均值,
9.一种学习率计算装置,其特征在于,包括:
经验风险获取模块,用于获得用于对数据进行分类的分类模型的经验风险,所述经验风险的参数包括用于迭代计算所述分类模型的学习率;
学习率获取模块,用于基于随机漫步对所述学习率进行迭代计算,获得所述经验风险取最小值时所述学习率的值。
10.一种分类模型计算装置,其特征在于,所述分类模型为用于对数据进行分类的梯度渐进回归树模型F(x),F(x)通过M次迭代获得,所述装置包括:
初始化模块,用于确定迭代次数M、F(x)的初始化模型以及F(x)的经验风险J(γ),其中,γ为用于迭代计算F(x)的学习率,M为正整数;
拟合模块,用于取迭代次数m为1至M,在第m次迭代时,拟合决策回归树并将所述决策回归树表示为hm(x);
学习率计算模块,用于利用如权利要求1-4中任一项所述的学习率计算方法计算获得J(γ)在第m次迭代时对应的经验风险Jm(γ)取最小值时γ的值γm;
迭代模块,用于基于公式Fm(x)=Fm-1(x)+γmhm(x)计算所述第m次迭代后F(x)的结果Fm(x),其中,Fm-1(x)为第m-1次迭代后F(x)的结果;
结果确定模块,用于将第M次迭代后的F(x)的结果FM(x)确定为F(x)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810621059.0A CN108898227A (zh) | 2018-06-15 | 2018-06-15 | 学习率计算方法及装置、分类模型计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810621059.0A CN108898227A (zh) | 2018-06-15 | 2018-06-15 | 学习率计算方法及装置、分类模型计算方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108898227A true CN108898227A (zh) | 2018-11-27 |
Family
ID=64345262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810621059.0A Pending CN108898227A (zh) | 2018-06-15 | 2018-06-15 | 学习率计算方法及装置、分类模型计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108898227A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109584888A (zh) * | 2019-01-16 | 2019-04-05 | 上海大学 | 基于机器学习的鸣笛识别方法 |
CN109886923A (zh) * | 2019-01-17 | 2019-06-14 | 柳州康云互联科技有限公司 | 一种用于互联网检测中基于机器学习的测量检测系统及办法 |
-
2018
- 2018-06-15 CN CN201810621059.0A patent/CN108898227A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109584888A (zh) * | 2019-01-16 | 2019-04-05 | 上海大学 | 基于机器学习的鸣笛识别方法 |
CN109886923A (zh) * | 2019-01-17 | 2019-06-14 | 柳州康云互联科技有限公司 | 一种用于互联网检测中基于机器学习的测量检测系统及办法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110263227B (zh) | 基于图神经网络的团伙发现方法和系统 | |
CN109120462B (zh) | 机会网络链路的预测方法、装置及可读存储介质 | |
Zeng et al. | A GA-based feature selection and parameter optimization for support tucker machine | |
Gong et al. | Discrete particle swarm optimization for high-order graph matching | |
Navgaran et al. | Evolutionary based matrix factorization method for collaborative filtering systems | |
CN113971090B (zh) | 分布式深度神经网络的分层联邦学习方法及装置 | |
CN111144500A (zh) | 基于解析高斯机制的差分隐私深度学习分类方法 | |
JP2016194914A (ja) | 混合モデル選択の方法及び装置 | |
US20220358364A1 (en) | Systems and methods for constructing an artificial intelligence (ai) neural-like model of a real system | |
CN115564155A (zh) | 一种分散式风电机组功率预测方法及相关设备 | |
CN108898227A (zh) | 学习率计算方法及装置、分类模型计算方法及装置 | |
Ullah et al. | Adaptive data balancing method using stacking ensemble model and its application to non-technical loss detection in smart grids | |
Kovantsev et al. | Evaluating time series predictability via transition graph analysis | |
CN114417982A (zh) | 一种模型训练方法、终端设备及计算机可读存储介质 | |
Han et al. | An efficient genetic algorithm for optimization problems with time-consuming fitness evaluation | |
Ade et al. | Classification of students by using an incremental ensemble of classifiers | |
CN117592595A (zh) | 一种配电网负荷预测模型建立、预测方法及装置 | |
CN117349494A (zh) | 空间图卷积神经网络的图分类方法、系统、介质及设备 | |
CN116974249A (zh) | 柔性作业车间调度方法和柔性作业车间调度装置 | |
CN114842247B (zh) | 基于特征累加的图卷积网络半监督节点分类方法 | |
Dean | Scalable Inference in Hierarchical Generative Models. | |
Berton et al. | The Impact of Network Sampling on Relational Classification. | |
Nakashima et al. | Incremental learning of fuzzy rule-based classifiers for large data sets | |
Shen et al. | A deep embedding model for co-occurrence learning | |
Chandra et al. | Stream mining using statistical relational learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |