一种解决计数问题的方法及相关设备转让专利

申请号 : CN202110924073.X

文献号 : CN115700539A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨光

申请人 : 杨光

摘要 :

本发明公开了一种解决计数问题的XGBoost类方法。本方案采用负二项分布或其变形的负对数似然函数作为XGBoost类方法的损失函数,以解决计数问题。对于大部分实际问题,相比泊松分布或泊松分布的变形,负二项分布或其变形能更好的解决偏大离差(overdispersion),预测效果更好。同时,本发明提供了相关计算机设备。

权利要求 :

1.一种解决计数问题的XGBoost类方法或改进型XGBoost类方法,其特征在于,设定预测变量服从负二项分布,并采用负二项分布或负二项分布的变形的负对数似然函数作为XGBoost类方法或改进型XGBoost类方法的损失函数。

2.根据权利要求1所述的解决计数问题的XGBoost类方法或改进型XGBoost类方法,其特征在于,当负二项分布的概率分布写成或

时,以β

或相应的p或γ作为预测参数。

3.根据权利要求2所述的解决计数问题的XGBoost类方法或改进型XGBoost类方法,其θ特征在于,当对β变形,令β=e时,以θ作为预测参数。

4.根据权利要求1所述的解决计数问题的XGBoost类方法或改进型XGBoost类方法,其特征在于,当负二项分布的概率分布写成时,以μ或

γ作为预测参数。

5.根据权利要求4所述的解决计数问题的XGBoost类方法或改进型XGBoost类方法,其θ特征在于,当对μ变形,令μ=e时,以θ作为预测参数。

6.根据权利要求1所述的解决计数问题的XGBoost类方法或改进型XGBoost类方法,其特征在于,评估指标为测试集的负对数似然函数或其变形。

7.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现权利要求1‑6中任一项。

8.一种处理器,所述处理器用于运行程序,其特征在于,所述程序运行时实现权利要求

1‑6中任一项。

9.一种终端设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,其特征在于,所述程序代码由所述处理器加载并执行以实现权利要求1‑6中任一项。

10.一种计算机程序产品,其特征在于,当在数据处理设备上执行时,适于执行权利要求1‑6中任一项。

说明书 :

一种解决计数问题的方法及相关设备

技术领域

[0001] 本发明涉及机器学习技术,具体涉及大数据分析方法。

背景技术

[0002] 1.XGBoost类方法,可参考作者陈天奇的论文。对于绝大部分的数据分析问题,XGBoost类方法几乎是最优秀的方法。
[0003] 由于LightGBM方法,CatBoost方法等方法与XGBoost方法非常相似,本专利中的XGBoost类方法指所有类似XGBoost方法的方法,如著名的LightGBM方法和CatBoost方法,其在XGBoost方法的基础上做了微弱改进。
[0004] 2用XGBoost类方法解决计数问题,现有技术采用泊松分布或其变形的负对数似然函数作为损失函数。
[0005] 泊松分布的概率函数为:
[0006]
[0007] 和广义线性模型类似,一种经典的变形是对均值参数采用对数连接:
[0008] λ=eθ
[0009] 其中,θ是XGBoost类方法提升树函数的预测值。
[0010]
[0011] 其负对数似然函数为:
[0012] l(θ|x,y)=‑(θy‑eθ‑ln(y!))
[0013] 在独立性假设下,全体样本的负对数似然函数为:
[0014]
[0015] 3.负二项分布。
[0016] 其概率分布函数为:
[0017]
[0018] 其期望为γβ,方差为γβ(1+β)。
[0019] 也可令
[0020] 概率分布函数变形为:
[0021]
[0022] 负二项分布是一个经典分布,其方差大于期望,能有效解决偏大离差(overdispersion),但需要结合大数据分析方法比如XGBoost类方法才能达到大数据预测的目的。
[0023] 4.改进型XGBoost类方法,不要求损失函数一定是凸的,
[0024] 只要损失函数满足相应的可导性条件;并且有且仅有一个局部极小值点并且仅在该点导数为0,或者严格单调。
[0025] 对第t次迭代的目标函数 可采用以下近似之一:
[0026] (1) 或
[0027] (2)
[0028] 或(1)式和(2)式的加权平均表达:
[0029] (3)
[0030]
[0031] 具体细节参考递交中国知识产权局的发明专利申请,申请号为202110928092X。

发明内容

[0032] 对于大部分的计数问题的预测,如果假定预测变量服从泊松分布或其变形,会遭遇偏大离差(overdispersion)。因为负二项分布的方差大于期望,而泊松分布的均值等于方差,所以相对于泊松分布,假定预测变量服从负二项分布可以解决偏大离差的问题。
[0033] 为此,本发明的目的在于提供一种运用XGBoost类方法或改进型XGBoost类方法解决计数问题的方法,以克服XGBoost类方法或改进型XGBoost类方法在解决计数问题时采用泊松分布或其变形可能遭遇偏大离差的缺点。
[0034] 为达到上述目的,本发明提供一种运用XGBoost类方法或改进型XGBoost类方法解决计数问题的方法,设定预测变量服从负二项分布,并采用负二项分布或负二项分布的变形的负对数似然函数作为XGBoost类方法的损失函数。
[0035] 进一步地,所述解决计数问题的XGBoost类方法或改进型XGBoost类方法,当负二项分布的概率分布写成 y=0,1,2,...;β>0,γ>0或 y=0,1,2,...;1>p>
0,γ>0时,可以以β(或相应的p)或γ分别作为预测参数,其余参数看作麻烦参数。如此直接将经典形式的概率分布的参数作为预测参数,使得预测方法的解释性更强,设定更简单。
[0036] 进一步地,所述解决计数问题的XGBoost类方法或改进型XGBoost类方法,当负二项分布的概率分布写成 y=0,1,2,...;β>0,γ>0或 y=0,1,2,...;1>p>
θ
0,γ>0时,可对β变形,令β=e时,以θ作为预测参数。使得预测参数的取值范围在全体实数,损失函数为凸函数,符合最经典的XGBoost类方法设定。
[0037] 进一步地,所述解决计数问题的XGBoost类方法或改进型XGBoost类方法,当负二项分布的概率分布写成 y=0,1,2,...;μ>0,γ>0时,可以μ或γ作为预测参数。同广义线性模型类似,μ是分布的均值,以μ作为预测参数,使得方法的解释性更强,可直接用μ的预测值作为预测变量的预测值。以γ作为预测参数,考虑了刻画样本分布的另一个参数,使得预测分析更为全面。
[0038] 进一步地,所述解决计数问题的XGBoost类方法或改进型XGBoost类方法,当负二项分布的概率分布写成 y=0,1,2,...;μθ
>0,γ>0时,可对μ变形,令μ=e时,以θ作为预测参数。使得预测参数的取值范围在全体实数,损失函数为凸函数,符合最经典的XGBoost类方法设定。
[0039] 进一步地,本发明提供了一种评估采用负二项分布作为设定参数分布的XGBoost类方法或改进型XGBoost类方法预测性能的统一指标。关于计数问题假设分布的不同选择,分布参数形式的不同选择,以及预测参数和麻烦参数的不同选择,可以用同一个测试集的评估指标(评价函数)去检验。评估指标为测试集的负对数似然函数或其变形。由于评估指标基于似然函数,对于不同的分布选择或不同的参数形式的选择或不同的预测参数选择,其负对数似然函数的表达式不同,但仍可以相互比较。
[0040] 在上述方案的基础上,本发明进一步提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述数据分析方法的步骤。
[0041] 在上述方案的基础上,本发明进一步提供了一种处理器,所述处理器用于运行程序,所述程序运行时实现上述数据分析方法的步骤。
[0042] 在上述方案的基础上,本发明进一步提供了一种终端设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,所述程序代码由所述处理器加载并执行以实现上述数据分析方法的步骤。
[0043] 在上述方案的基础上,本发明进一步提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行数据分析方法的步骤。

具体实施方式

[0044] 针对运用XGBoost类方法或改进型XGBoost类方法解决计数问题采用泊松分布所存在的缺陷,本发明提供的方法采用负二项分布或负二项分布的变形的负对数似然函数作为XGBoost类方法或改进型XGBoost类方法的损失函数。
[0045] 实例1
[0046] 负二项分布的参数采用β,γ,其概率分布函数为:
[0047] y=0,1,2,...;β>0,γ>0.
[0048] 假设计数问题的预测变量Y服从以上形式的分布。
[0049] 把β作为预测参数,γ作为麻烦参数(nuisance parameter)。麻烦参数的取值可以由各种现有技术方案比如网格搜寻法确定。当麻烦参数的取值确定后,对β的预测采用XGBoost类方法或改进型XGBoost类方法的提升树函数去拟合。
[0050] 单个样本的损失函数为:
[0051]
[0052] 但对某些yi,γ,l(β;yi,γ)不是凸函数,不能采用XGBoost类方法。
[0053] 可以证明,l(β;yi,γ)满足改进型XGBoost类方法对损失函数的要求。
[0054] 由样本的独立性假设,加和所有的单个样本损失函数,加上正则项,得到改进型XGBoost类方法的目标函数。
[0055] 预测方法的其余细节同已有的改进型XGBoost类方法。
[0056] 对β做变形,令 把p作为预测参数,γ作为麻烦参数。
[0057] 此种表达与负二项分布概率另一种参数表达形式对应:
[0058] y=0,1,2,...;1>p>0,γ>0.
[0059] 单个样本的损失函数为:
[0060]
[0061] 对任意的yi,γ,l(p;yi,γ)都是凸函数,因此包含这种形式的目标函数可以采用XGBoost类方法或改进型XGBoost类方法求解。
[0062] 预测方法的其余细节同已有的XGBoost类方法或改进型XGBoost类方法。
[0063] 需要注意的的是,当采用XGBoost类方法时,由于预测参数p的取值范围不是全体实数,需要稍加处理。可能的手段包括初值的选取处于可能的取值范围内;对某步迭代后,预测值超出取值范围后的特殊处理。具体细节和相应的改进型XGBoost类方法类似,这里不再具体阐述。
[0064] 也可对β做变形,令β=eθ,θ=lnβ。把θ作为预测参数,γ作为麻烦参数。
[0065] 单个样本的损失函数为:
[0066]
[0067] 对任意的yi,γ,l(θ;yi,γ)都是凸函数,因此包含这种形式的目标函数可以采用XGBoost类方法或改进型XGBoost类方法求解。
[0068] 预测方法的其余细节同已有的XGBoost类方法或改进型XGBoost类方法。
[0069] 也可对β做其他形式的变形,只要损失函数满足XGBoost类方法或改进型XGBoost类方法的要求就可以用相应的方法求解,这里不再例举。
[0070] 实例2
[0071] 负二项分布的参数采用β,γ,其概率分布函数为:
[0072] y=0,1,2,...;β>0,γ>0.
[0073] 或 y=0,1,2,...;1>p>0,γ>0.
[0074] 假设计数问题的预测变量Y服从以上形式的分布。
[0075] 把γ作为预测参数,作β或相应的p为麻烦参数(nuisance parameter)。麻烦参数的取值可以由各种现有技术方案比如网格搜寻法确定。当麻烦参数的取值确定后,对γ的预测采用XGBoost类方法或改进型XGBoost类方法的提升树函数去拟合。
[0076] 单个样本的损失函数为:
[0077]
[0078] 或相应的
[0079]
[0080] 对任意的yi,β或yi,p,l(γ)都是凸函数(不一定是严格凸函数,但不影响方法的实施),因此包含这种形式的目标函数可以采用XGBoost类方法或改进型XGBoost类方法求解。
[0081] 预测方法的其余细节同已有的XGBoost类方法或改进型XGBoost类方法。
[0082] 需要注意的的是,当采用XGBoost类方法时,由于预测参数γ的取值范围不是全体实数,需要稍加处理。可能的手段包括初值的选取处于可能的取值范围内;对某步迭代后,预测值超出取值范围后的特殊处理。具体细节和相应的改进型XGBoost类方法类似,这里不再具体阐述。
[0083] 与实例1类似,也可对γ做其他形式的变形,只要损失函数满足XGBoost类方法或改进型XGBoost类方法的要求就可以用相应的方法求解,这里不再例举。
[0084] 实例3
[0085] 负二项分布的参数采用μ,γ,其概率分布函数为:
[0086] y=0,1,2,...;μ>0,γ>0.
[0087] 其中,μ是均值参数。
[0088] 假设计数问题的预测变量Y服从以上形式的分布。
[0089] 把μ作为预测参数,γ作为麻烦参数(nuisance parameter)。对μ的预测采用XGBoost类方法或改进型XGBoost类方法的提升树函数去拟合。
[0090] 单个样本的损失函数为:
[0091]
[0092] 对某些yi,γ,l(μ;yi,γ)不是凸函数,不能采用XGBoost类方法。
[0093] 可以证明,l(μ;yi,γ)满足改进型XGBoost类方法对损失函数的要求。
[0094] 由样本的独立性假设,加和所有的单个样本损失函数,加上正则项,得到改进型XGBoost类方法的目标函数。
[0095] 预测方法的其余细节同已有的改进型XGBoost类方法。
[0096] 同广义线性模型类似,对μ变形,加上对数连接。
[0097] 令μ=eθ
[0098] 负二项分布的参数采用θ,γ,其概率分布函数为:
[0099] y=0,1,2,...;γ>0.
[0100] 把θ作为预测参数,γ作为麻烦参数(nuisance parameter)。对θ的预测采用XGBoost类方法或改进型XGBoost类方法的提升树函数去拟合。
[0101] 单个样本的损失函数为:
[0102]
[0103] 对任意的yi,γ,l(θ;yi,γ)都是凸函数,因此包含这种形式的目标函数可以采用XGBoost类方法或改进型XGBoost类方法求解。
[0104] 预测方法的其余细节同已有的XGBoost类方法或改进型XGBoost类方法。
[0105] 也可对μ做其他形式的变形,只要损失函数满足XGBoost类方法或改进型XGBoost类方法的要求就可以用相应的方法求解,这里不再例举。
[0106] 以上三个实例说明了经典的负二项分布或其变形的建模方法,以及其负对数似然损失函数具体表达式。由背景技术的相关知识可知,对于存在偏大离差的计数问题,负二项分布比泊松分布拟合的更好,预测性能更优。
[0107] 除了上述三个实例以外,负二项分布的概率分布函数也可有其他的参数表达形式,例如 y=0,1,2,...;β>0,μ>0,μ是均值参数。当把μ作为预测参数,β作为麻烦参数时,以其负对数似然函数作为损失函数,显然,该损失函数是凸函数(不一定是严格凸函数,但不影响方法的实施)。因此包含这种形式损失函数的目标函数可以采用XGBoost类方法或改进型XGBoost类方法求解。
[0108] 对于负二项分布的其余参数形式,只要相应的损失函数满足XGBoost类方法或改进型XGBoost类方法的要求就可以用相应的方法求解,这里不再例举。
[0109] 关于计数问题假设分布的不同选择,分布参数形式的不同选择,以及预测参数和麻烦参数的不同选择,可以用一个统一的测试集的评估指标(评价函数)去检验预测性能。本发明提供的评估指标为测试集的负对数似然函数或其变形。由于评估指标基于似然函数,对于不同的分布选择或不同的参数形式的选择或不同的预测参数选择,其负对数似然函数的表达式虽然不同,但仍可以相互比较大小。甚至对于不同的建模方法比如包括广义线性模型在内的方法,都可以用负对数似然函数去评估预测性能。
[0110] 可以验证,对存在偏大离差的计数问题,经参数调优后的基于负二项分布的方法比基于泊松分布方法的评估指标更优。
[0111] 以车险定价为例,对单位期间的损失次数(损失频率)采用负二项分布去拟合,预测性能比用泊松分布更好。将经典的负二项分布作为XGBoost类方法或改进型XGBoost类方法的设定概率分布,是最优秀的大数据解决计数问题的方法之一。
[0112] 由于LightGBM方法,CatBoost方法等方法与XGBoost方法非常相似,本专利中的XGBoost类方法指所有类似XGBoost方法的方法,如著名的LightGBM方法和CatBoost方法.[0113] 本发明实施例还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述实例1‑实例3中任意一种或多种方案的步骤。
[0114] 本发明实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述实例1‑实例3中任意一种或多种方案的步骤。
[0115] 本发明实施例还提供了一种终端设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,所述程序代码由所述处理器加载并执行以实现上述实例1‑实例3中任意一种或多种方案的步骤。
[0116] 本发明还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行上述实例1‑实例3中任意一种或多种方案的步骤。
[0117] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0118] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0119] 本发明是参照本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0120] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0121] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0122] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0123] 存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
[0124] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0125] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0126] 本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0127] 以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。