一种分布式模型聚合计算系统及方法与流程

文档序号:27216789发布日期:2021-11-03 15:49阅读:153来源:国知局
一种分布式模型聚合计算系统及方法与流程

1.本发明属于数据处理技术领域,尤其涉及一种分布式模型聚合计算系统及方法。


背景技术:

2.随着it技术的不断发展,大数据引起了广泛的关注。在竞争日益激烈的技术市场中,从高科技初创企业到全球跨国企业都将人工智能视为关键竞争优势。目前机器学习的应用范围已经非常广泛,比如智慧医疗、智能推荐、无人驾驶等。现如今,机器学习已经成为认知技术中最炙手可热的研究领域之一,越来越多的领域依赖于机器学习算法进行科学决策。
3.在金融领域,越来越多的金融服务往线上转移,个人金融的数字化转型将随着金融和科技不断融合,呈现在“线上化”、“开放化”、“直营化”、“智慧化”四大趋势。随着大数据、人工智能技术越来越多的运用于风险管理,基于机器学习的智能风控体系已经成为线上金融风控的主流。
4.在线上风控中,金融机构聚集来自于人行征信系统、政府、运营商、电商等多源数据信息构建各类风控模型,如:资金紧张模型、身份伪冒模型、电信诈骗模型、首逾高风险模型、逾期模型等。关于模型计算,当前行业的一般方案是模型依次计算的方案,一个模型运算包括模型入参、模型计算、模型出参三个部分;这种以模型为原子化的方案存在交互次数多,空间浪费,运算时间长等问题。


技术实现要素:

5.本发明提供了一种分布式模型聚合计算系统及方法,拟解决背景技术提到的以模型为原子化的方案存在交互次数多、空间浪费、运算时间长的问题。
6.一种分布式模型聚合计算系统,包括业务模块、分布式模型聚合计算模块;
7.所述业务模块用于发起模型调用请求,调用请求的参数包括id和modename;
8.分布式模型聚合计算模块用于接收来自业务模块的调用请求,根据调用请求的参数modename调用相关参数,并得到各个模型的模型参数;
9.所述分布式模型聚合计算模块包括数据源聚合子模块、模型分布式计算子模块、模型参数计算子模块;
10.所述数据源聚合子模型根据模型入参信息的相似性进行聚类;
11.所述模型分布式计算子模块对进行聚类的模型聚合计算,其余的模型进行分布式并行计算;
12.所述模型参数子模块用于汇总分布式计算子模块的模型计算结果,输出模型参数信息模型分和模型的重要特征变量集。
13.优选的,所述业务模块的调用方式采用http post请求,参数格式采用json。
14.优选的,所述id为字符串格式,长度设置为32位,为md5加密的用户身份证信息;所述modename为字符串数组格式,长度设置为500位,表示请求的模型列表。
15.进一步的,还包括决策模块,所述决策模块基于分布式模型聚合计算模块的计算结果信息,进行综合决策,输出决策结果;决策结果包括综合决策结果、综合风险等级、综合决策风险分、命中策略提示信息。
16.优选的,所述综合决策风险分的运算包括对模型结果集中模型信息进行融合,计算综合决策风险分,其公式如下所示:
[0017][0018]
finalriskscore表示综合决策风险分;
[0019]
a
i
modescore表示第i个模型a
i
的模型分变量名;
[0020]
b
j
modescore表示第j个模型b
j
的模型分变量名;
[0021]
其中d
i
和g
j
为0

1之间的任意实数,i=1,2,
……
,n;j=1,2,
……
,p;由于i=1,2,
……
,n;j=1,2,
……
,p;故满足d1+d2+
……
d
n
+g1+g2+
……
+g
p
=1,
[0022]
所述综合风险等级运算根据综合决策风险分划分风险等级,通过kolmogorov

smirnov统计量方法选择最优的两个点cut1和cut2,其中cut1和cut2为0

100的任意实数,且cut1<cut2;当finalriskscore≥cut2时,综合风险等级为高风险;当finalriskscore≥cut1,且finalriskscore<cut2时,综合风险等级为中风险;当finalriskscore<cut1时,综合风险等级为低风险;
[0023]
所述综合决策结果的运算,根据综合决策风险分确定综合决策结果;当finalriskscore≥cut2时,综合决策结果为拒绝;当finalriskscore<cut2时,综合决策结果为通过。
[0024]
命中策略提示信息能够基于模型分布式计算子模块的计算结果提示用户的相关用户画像信息;例如电信诈骗高风险、公务员、短时间贷款次数等风险提示;
[0025]
一种分布式模型聚合计算方法,包括以下步骤:
[0026]
步骤1:业务模块发起模型调用请求;调用请求的参数包括id和modename;
[0027]
步骤2:分布式模型聚合计算模块接收到来自业务模块的调用请求,根据调用请求参数modename调用相关的模型,并得到各个模型的模型参数;
[0028]
步骤3:数据源聚合子模块,根据模型的入参信息的相似性进行聚类;
[0029]
步骤4:模型分布式计算子模块,根据针对聚类的模型进行聚合计算,对非聚类和多个并行聚类的模型进行分布式并行计算;
[0030]
步骤5:模型参数子模块汇总模型分布式计算子模块计算的结果,输出模型参数信息模型分和模型的重要特征变量集。
[0031]
优选的,所述业务模块的调用方式采用http post请求,参数格式采用json。
[0032]
优选的,所述id为字符串格式,长度设置为32位,为md5加密的用户身份证信息;所述modename为字符串数组格式,长度设置为500位,表示请求的模型列表。
[0033]
进一步的,还包括步骤6:决策模块基于分布式模型聚合计算模块的计算结果信息,进行综合决策,输出决策结果;决策结果包括综合决策结果、综合风险等级、综合决策风险分、命中策略提示信息。
[0034]
优选的,所述综合决策风险分的运算包括对模型结果集中模型信息进行融合,计算综合决策风险分,其公式如下所示:
[0035][0036]
finalriskscore表示综合决策风险分;
[0037]
a
i
modescore表示第i个模型a
i
的模型分变量名;
[0038]
b
j
modescore表示第j个模型b
j
的模型分变量名;
[0039]
满足d1+d2+
……
d
n
+g1+g2+
……
+g
p
=1,其中d
i
和g
j
为0

1之间的任意实数,i=1,2,
……
,n;j=1,2,
……
,p;
[0040]
所述综合风险等级运算根据综合决策风险分划分风险等级,通过kolmogorov

smirnov统计量方法选择最优的两个点cut1和cut2,其中cut1和cut2为0

100的任意实数,且cut1<cut2;当finalriskscore≥cut2时,综合风险等级为高风险;当finalriskscore≥cut1,且finalriskscore<cut2时,综合风险等级为中风险;当finalriskscore<cut1时,综合风险等级为低风险;
[0041]
所述综合决策结果的运算,根据综合决策风险分确定综合决策结果;当finalriskscore≥cut2时,综合决策结果为拒绝;当finalriskscore<cut2时,综合决策结果为通过。
[0042]
命中策略提示信息能够基于模型分布式计算子模块的计算结果提示用户的相关用户画像信息;例如电信诈骗高风险、公务员、短时间贷款次数等风险提示;
[0043]
与现有技术相比本发明的有益效果是:1.基于分布式的模型聚合计算,融合了分布式技术框架的特点和聚合计算的理念,使得系统之间的交互次数达到最少,大大节约了系统资源,降低了系统风险性;同时,分布式的聚合计算使得运行时长满足“长板原理”,极大的降低了运行时长。
[0044]
2.业务模块、分布式模型聚合计算模块、决策模块,以上3个模块有机组合实现了批量模型的实时、自动化的运算。
附图说明
[0045]
图1为本发明的分布式模型聚合计算系统示意图。
具体实施方式
[0046]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047]
参见附图1所示,对本发明的最优实施例作详细的描述。
[0048]
一种分布式模型聚合计算系统,包括业务模块、分布式模型聚合计算模块、决策模块。
[0049]
所述业务模块用于发起模型调用请求,调用请求的参数包括id和modename;所述id为字符串格式,长度设置为32位,为md5加密的用户身份证信息;所述modename为字符串数组格式,长度设置为500位,表示请求的模型列表。所述业务模块的调用方式采用http post请求,参数格式采用json。
[0050]
分布式模型聚合计算模块用于接收来自业务模块的调用请求,根据调用请求的参数modename调用相关参数,并得到各个模型的模型参数;模型计算包括3个模块,模型入参、模型计算和模型出参3部分,因此对应的分布式模型聚合计算系统模块包括3个子模块,数据源聚合子模块、模型分布式计算子模块、模型参数计算子模块。
[0051]
所述数据源聚合子模型根据模型入参信息的相似性进行聚类;对上述相似性做进一步的说明,在本系统中可以设置一个阈值,相似性超过阈值的进行聚类,未超过的则不进行聚类;例如,阈值设置为70%,当两个模型的相似度超过70%的则进行聚类,为超过的则不进行聚类。
[0052]
所述模型分布式计算子模块对进行聚类的模型聚合计算,其余的模型进行分布式并行计算;对于模型a1,a2,
……
,a
n
进行分布式并行计算,模型间相互独立计算;对非聚类和多个并行聚类的模型进行分布式并行计算;对上述非聚类和多个并行聚类的模型进行分布式并行计算做详细说明:例如有a、b、c、d、e、f五个模型,a和b进行聚类,c和d进行聚类,将上述两个聚类进行分布式并行计算就是上述提到的将多个并行聚类的模型进行分布式计算;e和f为进行聚类,则e和f进行分布式并行计算,e和f的计算是相互独立的。
[0053]
所述模型参数子模块用于汇总分布式计算子模块的模型计算结果,输出模型参数信息模型分和模型的重要特征变量集。
[0054]
所述决策模块基于分布式模型聚合计算模块的计算结果信息,进行综合决策,输出决策结果;决策结果包括综合决策结果、综合风险等级、综合决策风险分、命中策略提示信息。假设综合决策结果为finaldecision,取值为通过、拒绝;综合风险等级为finalriskgrade,取值为高风险、中风险、低风险;综合决策风险分为finalriskscore,取值为0

100的任意实数;命中策略提示信息为hitrules,为json格式,包括策略编码riskcode、风险类型提示risknoets、风险参数集riskparameterset。
[0055]
所述综合决策风险分的运算包括对模型结果集中模型信息进行融合,计算综合决策风险分,其公式如下所示:
[0056][0057]
finalriskscore表示综合决策风险分;
[0058]
a
i
modescore表示第i个模型a
i
的模型分变量名;
[0059]
b
j
modescore表示第j个模型b
j
的模型分变量名;
[0060]
满足d1+d2+
……
d
n
+g1+g2+
……
+g
p
=1,其中d
i
和g
j
为0

1之间的任意实数,i=1,2,
……
,n;j=1,2,
……
,p;
[0061]
所述综合风险等级运算根据综合决策风险分划分风险等级,通过kolmogorov

smirnov统计量方法选择最优的两个点cut1和cut2,其中cut1和cut2为0

100的任意实数,且cut1<cut2;当finalriskscore≥cut2时,综合风险等级为高风险;当finalriskscore≥cut1,且finalriskscore<cut2时,综合风险等级为中风险;当finalriskscore<cut1时,综合风险等级为低风险;
[0062]
所述综合决策结果的运算,根据综合决策风险分确定综合决策结果;当finalriskscore≥cut2时,综合决策结果为拒绝;当finalriskscore<cut2时,综合决策结果为通过。
[0063]
命中策略提示信息能够基于模型分布式计算子模块的计算结果提示用户的相关用户画像信息;例如电信诈骗高风险、公务员、短时间贷款次数等风险提示;
[0064]
一种分布式模型聚合计算方法,包括以下步骤:
[0065]
步骤1:业务模块发起模型调用请求;调用请求的参数包括id和modename;所述id为字符串格式,长度设置为32位,为md5加密的用户身份证信息;所述modename为字符串数组格式,长度设置为500位,表示请求的模型列表;所述业务模块的调用方式采用http post请求,参数格式采用json。
[0066]
步骤2:分布式模型聚合计算模块接收到来自业务模块的调用请求,根据调用请求参数modename调用相关的模型,并得到各个模型的模型参数;
[0067]
步骤3:数据源聚合子模块,根据模型的入参信息的相似性进行聚类;对上述相似性做进一步的说明,在本系统中可以设置一个阈值,相似性超过阈值的进行聚类,未超过的则不进行聚类;例如,阈值设置为70%,当两个模型的相似度超过70%的则进行聚类,为超过的则不进行聚类。
[0068]
步骤4:模型分布式计算子模块,根据针对聚类的模型进行聚合计算,对非聚类和多个并行聚类的模型进行分布式并行计算;对上述非聚类和多个并行聚类的模型进行分布式并行计算做详细说明:例如有a、b、c、d、e、f五个模型,a和b进行聚类,c和d进行聚类,将上述两个聚类进行分布式并行计算就是上述提到的将多个并行聚类的模型进行分布式计算;e和f为进行聚类,则e和f进行分布式并行计算,e和f的计算是相互独立的。
[0069]
步骤5:模型参数子模块汇总模型分布式计算子模块计算的结果,输出模型参数信息模型分和模型的重要特征变量集。
[0070]
步骤6:决策模块基于分布式模型聚合计算模块的计算结果信息,进行综合决策,输出决策结果;决策结果包括综合决策结果、综合风险等级、综合决策风险分、命中策略提示信息。
[0071]
所述综合决策风险分的运算包括对模型结果集中模型信息进行融合,计算综合决策风险分,其公式如下所示:
[0072][0073]
finalriskscore表示综合决策风险分;
[0074]
a
i
modescore表示第i个模型a
i
的模型分变量名;
[0075]
b
j
modescore表示第j个模型b
j
的模型分变量名;
[0076]
满足d1+d2+
……
d
n
+g1+g2+
……
+g
p
=1,其中d
i
和g
j
为0

1之间的任意实数,i=1,2,
……
,n;j=1,2,
……
,p;
[0077]
所述综合风险等级运算根据综合决策风险分划分风险等级,通过kolmogorov

smirnov统计量方法选择最优的两个点cut1和cut2,其中cut1和cut2为0

100的任意实数,且cut1<cut2;当finalriskscore≥cut2时,综合风险等级为高风险;当finalriskscore≥cut1,且finalriskscore<cut2时,综合风险等级为中风险;当finalriskscore<cut1时,综合风险等级为低风险;
[0078]
所述综合决策结果的运算,根据综合决策风险分确定综合决策结果;当finalriskscore≥cut2时,综合决策结果为拒绝;当finalriskscore<cut2时,综合决策结
果为通过。
[0079]
通过举例对本发明的一种分布式模型聚合计算方法作进一步的说明:
[0080]
对应上述步骤1:业务模块发起一笔请求,请求如下所示:{id:"5a4185412fa9b3a69296890ed36eec73",modename:["a1","a2",
……
,"a
n
","b1","b2",
……
,"b
p
"]},其中模型列表参数modename包含n+p个模型,n、p为任意正整数;则表示业务系统发起了身份证件信息为id="5a4185412fa9b3a69296890ed36eec73"的客户关于模型集{"a1","a2",
……
,"a
n
","b1","b2",
……
,"b
p
"}的模型计算请求。
[0081]
对应上述步骤2:分布式模型聚合计算模块接收到来自业务模块的调用请求,根据调用请求参数modename调用相关的模型,并得到各个模型的模型参数;
[0082]
对应上述步骤3:针对客户发起的模型计算请求a
i
["a1","a2",
……
,"a
n
"],i=1,2,
……
,n,对应的原始字段数据源分别为即表示模型a
i
的参数包含mi个数据源,其中mi为任意正整数:对于模型b1,b2,
……
,b
p
,对应的原始字段数据源均为b1,b2,
……
,b
s
,其中p和s均为任意正整数。由于模型"a1","a2",
……
,"a
n
"包含不同的数据源,而b1,b2,
……
,b
p
包含相似的数据源,则系统自动对模型b1,b2,
……
,b
p
进行分布式聚合计算,其对应的原始字段数据源列表分别为{b1,b2,
……
,b
s
},{b1,b2,
……
,b
s
},
……
,{b1,b2,
……
,b
s
},对其进行分布式聚合调用取数,即对数据源列表{b1,b2,
……
,b
s
}仅请求一次。对模型a1,a2,
……
,a
n
进行分布式并行计算,其对应的原始字段数据源列表分别为进行分布式并行计算,其对应的原始字段数据源列表分别为对其进行分布式并行调用取数。若不做任何处理,则数据源的请求次数为p*s+m1+m2+
……
+mn次,进行分布式聚合调用之后数据源的请求次数为s+m1+m2+
……
+mn次,保证了每个数据源仅调用一次,大大降低了数据源的请求次数,同时,极大的减少了系统间的交互次数,降低了系统性风险。
[0083]
对应上述步骤4:对应于每个模型的运行时长为ta
i
,其中i=1,2,
……
,n,则模型a1,a2,
……
,a
n
的运行时长为ta
i
中的最大值,记做ta
max
。对于模型b1,b2,
……
,b
p
进行分布式聚合计算,在聚合子模块中,模型间相互独立计算,根据每个模型的实际运算时长tb
j
,其中j=1,2,
……
,p,则模型b1,b2,
……
,b
p
的运行时长为tb
j
中的最大值,记做tb
max
。此时,本次请求的模型列表为{"a1","a2",
……
,"a
n
","b1","b2",
……
,"b
p
"}的整体运行时长为max(ta
max
,tb
max
),即ta
max
和tb
max
中的更大值。在分布式聚合计算的框架下,模型运行时长满足长板原理,实现了模型列表的高效运算,满足了模型请求运算的实时性。
[0084]
对应上述步骤5:对于模型列表a1,a2,
……
,a
n
,基于步骤3得到模型参数的信息分别为别为
………

[0085]
其中modescore代表模型参数信息模型分,am1,am2,
……
,am
n
分别为模型a1,a2,
……
,a
n
的模型分,am
i
为0

100的任意实数,i=1,2,
……
,n。majorfeatures代表重要特征变量集,模型a1,a2,
……
,a
n
分别关联c1,c2,
……
,cn个特征变量,其中ci为任意正整数,i=1,2,
……
,n;表示对应于第i个模型a
i
的特征变量名,表示对应于第i个模型a
i
的特征变量的值,为任意实数,i=1,2,
……
,n,k=1,2,
……
,max(c1,c2,
……
,cn)。对应于模型列表
b1,b2,
……
,b
p
,基于步骤3模型参数的信息为{b1modescore:bm1;b2modescore:bm2;
……
;b
p
modescore:bm
p

[0086]
majorfeatures:{bf1:fb1;bf2:fb2;
……
;bf
w
:fb
w
}},其中b
j
modescore表示第j个模型b
j
的模型分变量名,bm
j
表示对应于第j个模型b
j
的模型分,bm
j
为0

100的任意实数,j=1,2,
……
,p。majorfeatures代表重要特征变量集,模型b1,b2,
……
,b
p
关联w个重要特征变量,其中w为任意正整数;bf
t
表示对应于模型列表b1,b2,
……
,b
p
的特征变量名,fb
t
表示对应于模型列表b1,b2,
……
,b
p
关联的特征变量bf
t
的值,fb
t
为任意实数,t=1,2,
……
,w。则形成的模型集信息为的模型集信息为
………

[0087][0088]
ag1mode:{b1modescore:bm1;b2modescore:bm2;
……
;b
p
modescore:bm
p

[0089]
majorfeatures:{bf1:fb1;bf2:fb2;
……
;bf
w
:fb
w
}}}。
[0090]
对应上述步骤6:计算综合决策风险分,其公式如下所示:
[0091][0092]
finalriskscore表示综合决策风险分;
[0093]
a
i
modescore表示第i个模型a
i
的模型分变量名;
[0094]
b
j
modescore表示第j个模型b
j
的模型分变量名;
[0095]
满足d1+d2+
……
d
n
+g1+g2+
……
+g
p
=1,其中d
i
和g
j
为0

1之间的任意实数,i=1,2,
……
,n;j=1,2,
……
,p;
[0096]
所述综合风险等级运算根据综合决策风险分划分风险等级,通过kolmogorov

smirnov统计量方法选择最优的两个点cut1和cut2,其中cut1和cut2为0

100的任意实数,且cut1<cut2;当finalriskscore≥cut2时,综合风险等级为高风险;当finalriskscore≥cut1,且finalriskscore<cut2时,综合风险等级为中风险;当finalriskscore<cut1时,综合风险等级为低风险;
[0097]
所述综合决策结果的运算,根据综合决策风险分确定综合决策结果;当finalriskscore≥cut2时,综合决策结果为拒绝;当finalriskscore<cut2时,综合决策结果为通过。
[0098]
命中策略提示信息的具体计算方法如下:
[0099]
riskcode表示策略编码;risknoets表示风险类型提示;riskparameterset表示风险参数集。
[0100]
模型a1,a2,
……
,a
n
分别对应风险类型risktype1,risktype2,
……
,risktype
n
;模型b1,b2,
……
,b
p
整体对应风险类型risktype
b
,如电信诈骗风险等。通过kolmogorov

smirnov统计量方法选择每个模型a1,a2,
……
,a
n
,b1,b2,
……
,b
p
的最优截断点cut

off点,记做ca1,ca2,
……
,ca
i
,
……
,ca
n
,cb1,cb2,
……
,cb
j
,
……
,cb
p
,其中ca
i
和cb
j
为0

100之间的任意实数,i=1,2,
……
,n;j=1,2,
……
,p。当a
i
modescore≥ca
i
时,riskcode="fcai",
risknoets="risktype
i
高风险",riskparameterset=i=1,2,
……
,n。
[0101]
当b
j
modescore≥cb
j
时,riskcode="fcb",risknoets="risktype
b
高风险",riskparameterset={b
j
modescore:bm
j
;majorfeatures:{bf1:fb1;bf2:fb2;
……
;bf
w
:fb
w
}},j=1,2,
……
,p。
[0102]
对于所有的i=1,2,
……
,n;j=1,2,
……
,p;假设
[0103]
a
i
modescore≥ca
i
,且b
j
modescore≥cb
j
,则hitrules=[{riskcode:”fca1”;risknoets:”risktype1高风险”;riskparameterset:
[0104][0105]
{riskcode:”fca2”;risknoets:”risktype2高风险”;riskparameterset:
[0106][0107]
……

[0108]
{riskcode:”fcan”;risknoets:”risktype
n
高风险”;riskparameterset:
[0109][0110]
{riskcode:”fcb”;risknoets:”risktype
b
高风险”;riskparameterset:
[0111]
{b1modescore:bm1;b2modescore:bm2;
……
;b
p
modescore:bm
p

[0112]
majorfeatures:{bf1:fb1;bf2:fb2;
……
;bf
w
:fb
w
}}}]。至此,以上模块组成一个闭环化的分布式模型聚合计算的系统方案。
[0113]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
[0114]
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1