CN104753718B - 基于非负聚合的缺失服务吞吐率补足方法和装置 - Google Patents
基于非负聚合的缺失服务吞吐率补足方法和装置 Download PDFInfo
- Publication number
- CN104753718B CN104753718B CN201510087331.8A CN201510087331A CN104753718B CN 104753718 B CN104753718 B CN 104753718B CN 201510087331 A CN201510087331 A CN 201510087331A CN 104753718 B CN104753718 B CN 104753718B
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- negative
- aggregation
- throughput rate
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000006116 polymerization reaction Methods 0.000 title claims abstract description 29
- 238000012549 training Methods 0.000 claims abstract description 192
- 238000010276 construction Methods 0.000 claims abstract description 37
- 230000002776 aggregation Effects 0.000 claims description 287
- 238000004220 aggregation Methods 0.000 claims description 287
- 230000000295 complement effect Effects 0.000 claims description 207
- 239000011159 matrix material Substances 0.000 claims description 66
- 230000008569 process Effects 0.000 claims description 57
- 238000013500 data storage Methods 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 23
- 230000009467 reduction Effects 0.000 claims description 6
- 230000007812 deficiency Effects 0.000 claims description 4
- 210000000352 storage cell Anatomy 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
Abstract
本发明公开了一种基于非负聚合的缺失服务吞吐率补足方法和装置,包括:S1,接收模块接收服务器采集的历史数据,对接收该历史数据进行存储;S2,数据模块存储历史数据,存储训练模块所训练的聚合数据;S3,训练模块构造补足模型,将补足模型进行非负聚合数据的构造,将构造完成的非负聚合数据发送到数据模块存储;S4,接收数据模块中存储的构造完成的非负聚合数据,对服务器上的缺失服务吞吐率的用户发送指令进行补足。本发明专门作用于海量服务吞吐率历史数据,能够对用户调用服务的吞吐率进行基于统计规律的、准确的补足,以解决针对现代大型复杂系统中的海量服务吞吐率历史数据,进行准确度高、执行复杂度低的缺失服务吞吐率补足问题。
Description
技术领域
本发明涉及计算机服务计算领域,尤其涉及一种基于非负聚合的缺失服务吞吐率补足方法和装置。
背景技术
面向服务架构(Service Oriented Architecture,以下简称SOA)代表一种基于互联网的软件开发、部署和集成的模式。基于SOA的软件系统以更粗粒度的服务作为基本组成元素。每个服务完成相对独立的基本功能,各个服务之间松散耦合,通过平台独立、环境透明、依赖于网络的标准调用协议进行交互和协同。基于SOA的软件系统能在确保实现复杂的业务逻辑和过程的前提下,屏蔽平台、协议、数据和开发语言等方面的差异,具备协同、自治、自适应、松偶合的特点,已成为当下软件发展的主要模式。
在传统软件系统中,系统可靠性往往依赖于各个基本组成单元的功能性指标。但对于服务而言,由于其可靠性和稳定性受到网络环境、访问时间、用户数量、用户地域等诸多因素的影响,非功能性指标在服务可靠性分析中举足轻重;其中非常重要的一类非功能指标是服务吞吐率。服务吞吐率受用户所处的地域、网络环境和通讯情况等自然条件约束,是一种具备统计特性的数据。对不同用户而言,调用同一服务所体验的服务吞吐率可能具备很大的差异。因此,如果能根据用户集合对可用服务集合进行调用的吞吐率历史数据,对缺失的用户调用服务的吞吐率进行可靠的补足,将能明显提升整个系统的可靠性、稳定性和执行效率。但是,现存缺失服务吞吐率补足方法,具备准确度低的不足,难以应对大型复杂系统中的海量服务吞吐率历史数据。
因此,如何针对现代大型复杂系统中的海量服务吞吐率历史数据,进行准确度高的缺失服务吞吐率补足,是服务计算领域所需要解决的一个关键技术问题。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于非负聚合的缺失服务吞吐率补足方法和装置。
为了实现本发明的上述目的,本发明提供了一种基于非负聚合的缺失服务吞吐率补足方法,其关键在于,包括如下步骤:
S1,接收模块接收服务器采集的服务吞吐率历史数据,对接收该历史数据进行存储;
S2,数据模块存储服务吞吐率历史数据,以及存储训练模块所训练的非负聚合数据;
S3,训练模块构造缺失服务吞吐率补足模型,将构造完成的缺失服务吞吐率补足模型进行非负聚合数据的构造,将构造完成的非负聚合数据发送到数据模块进行存储;
S4,补足模块接收数据模块中存储的构造完成的非负聚合数据,对服务器上的缺失服务吞吐率的用户发送指令进行补足。
所述的基于非负聚合的缺失服务吞吐率补足方法,优选的,所述S2包括:
S2-1,吞吐率历史数据存储单元存储了接收模块所发送的服务吞吐率历史数据,将服务吞吐率历史数据根据训练模块的需求,发送给训练模块构造缺失服务吞吐率补足模型训练;
S2-2,非负聚合存储单元存储训练模块构造完成的非负聚合数据,将构造完成的非负聚合数据根据补足模块的需求,发送给补足模块对特定服务器上的缺失服务吞吐率的用户发送指令进行服务吞吐率补足。
所述的基于非负聚合的缺失服务吞吐率补足方法,优选的,所述S3包括:
S3-1,初始化单元初始化训练模块非负聚合数据训练过程中的工作参数;
S3-2,补足模型训练单元根据数据模块中吞吐率历史数据存储单元存储的服务吞吐率历史数据,和初始化单元非负聚合数据训练过程中所初始化的工作参数,构造缺失服务吞吐率补足模型;
S3-3,非负聚合构造单元接收补足模型训练单元构造的缺失服务吞吐率补足模型,根据初始化单元初始化的训练参数,将缺失服务吞吐率补足模型逐一加入非负聚合数据中,构造非负聚合数据;
S3-4,输出单元接收非负聚合构造单元构造的非负聚合数据,将其输出至数据模块的非负聚合存储单元。
所述的基于非负聚合的缺失服务吞吐率补足方法,优选的,所述S3-2包括:
S3-2-1,接收服务器构造非负聚合数据的指令;
S3-2-2,初始化非负聚合构造参数;
S3-2-3,判断当前缺失服务吞吐率补足模型数量已达到阈值N,若是,则执行步骤S3-2-10,否则,执行步骤S3-2-4;
S3-2-4,初始化缺失服务吞吐率补足模型训练参数;
S3-2-5,构造损失函数ε(B,C,P,E);
其中:
B为隐特征向量,C隐特征向量,P隐特征矩阵,E隐特征矩阵;
隐特征向量B是根据用户集合U,构造的长度为|U|的向量;
隐特征向量C是根据服务集合S,构造的长度为|S|的向量;
隐特征矩阵P是根据用户集合U,和特征空间维数f,构造的|U|×f的矩阵;
隐特征矩阵E是根据服务集合S,和特征空间维数f,构造的f×|S|的矩阵;
S3-2-6,判断训练控制变量t已达到上限T,若是,则执行步骤S3-2-9,否则,执行步骤S3-2-7;
S3-2-7,判断ε(B,C,P,E)在服务吞吐率历史数据集合Q上对B,C,P,E收敛,若是,则执行步骤S3-2-9,否则,执行步骤S3-2-8;
S3-2-8,根据ε(B,C,P,E),在集合Q上对B,C,P,E进行非负聚合迭代训练,重复执行步骤S3-2-6;
S3-2-9,将训练获取的缺失服务吞吐率补足模型输出至非负聚合构造单元;
S3-2-10,执行非负聚合构造过程。
所述的基于非负聚合的缺失服务吞吐率补足方法,优选的,所述S3-3包括:
S3-3-1,初始化非负聚合判定参数;
S3-3-2,判断已将所有补足模型加入聚合,若是,则执行步骤S3-3-8,否则,执行步骤S3-3-3;
S3-3-3,计算当前缺失服务吞吐率补足模型在集合Q上的平均误差和平均误差标准差;
S3-3-4,计算当前缺失服务吞吐率补足模型在集合Q上的失效率;
S3-3-5,根据当前补足模型在Q上的失效率,计算当前补足模型的聚合权重;
S3-3-6,将当前补足模型加入非负聚合数据中,重复执行步骤S3-3-2;
S3-3-7,将构造完成的非负聚合输出,存储至数据模块中的非负聚合存储单元。
所述的基于非负聚合的缺失服务吞吐率补足方法,优选的,所述S4包括:
S4-1,接收服务器发送的用户认证v;和服务认证r;
S4-2,从非负聚合存储单元中取出与用户认证v和服务认证r相关的非负聚合数据;
S4-3,补足该用户认证v对服务认证r的缺失服务吞吐率。
所述的基于非负聚合的缺失服务吞吐率补足方法,优选的,所述S3-2包括:
S3-2-A,接收服务器构造非负聚合数据的指令,服务器发送指令的方式为:定期、或根据所述装置的通知、或根据某服务器的通知,将要求构造非负聚合的指令发送给非负聚合构造单元;
S3-2-B,初始化聚合构造参数,判断当前补足模型数量已达到阈值N;所述N规定非负聚合中包含的补足模型数量的阈值,为正整数;
S3-2-C,判断当前补足模型数量已达到阈值N,根据当前已训练完成的缺失服务吞吐率补足模型的数量,对比补足模型数量阈值N,进行判断;
S3-2-D,初始化补足模型训练参数,
特征空间维数f:所需训练的缺失服务吞吐率补足模型所处空间的维度,为正整数;
规约因子λ:训练过程中对相关隐特征进行规约的因子,为区间(0.001,0.1)间的小数;
隐特征向量B:根据用户集合U,构造的长度为|U|的向量;
隐特征向量C:根据服务集合S,构造的长度为|S|的向量;
隐特征矩阵P:根据用户集合U,和特征空间维数f,构造的|U|×f的矩阵;
隐特征矩阵E:根据服务集合S,和特征空间维数f,构造的f×|S|的矩阵;
迭代控制变量t:控制每个缺失服务吞吐率训练过程的变量,初始化为0;
迭代上限T:控制每个缺失服务吞吐率训练过程的阈值,初始化为正整数;
收敛判定阈值γ:判断训练过程是否已收敛的阈值参数,初始化为极小正数;
S3-2-E,构造损失函数ε(B,C,P,E);
其中,Q为通过服务器收集、存放在装置的吞吐率历史数据存储单元的服务吞吐率历史数据,以一个|U|行,|S|列的稀疏矩阵为数据结构进行存储;QU,S表示存放Q的稀疏矩阵的第U行,第S列的元素;BU表示B的第U个元素;CS表示C的第S个元素,PU,k表示Q的第U行,第k列的元素;Ek,S表示E的第k行,第S列的元素,上述公式的物理含义为,在已经收集的服务吞吐率历史数据上,构造全局损失函数,衡量通过B,C,P,E对服务吞吐率历史数据的逼近,和真实服务吞吐率历史数据,之间的差异;
S3-2-F,判断训练控制变量t已达到上限T;在每轮迭代开始前对训练控制标量t加1,并根据t值,与迭代上限T值,进行对比判断;
S3-2-G,判断ε(B,C,P,E)在Q上对B,C,P,E收敛;判断ε(B,C,P,E)在Q上对B,C,P,E收敛的依据为,本轮训练开始前,ε(B,C,P,E)的数值,对比上轮训练开始前,ε(B,C,P,E)的数值,其差的绝对值是否小于收敛判定阈值γ;如果小于,则判定为已收敛,反之,则判定为未收敛;
S3-2-H,根据ε(B,C,P,E),在Q上对B,C,P,E进行非负迭代训练;根据ε(B,C,P,E),在Q上对B,C,P,E进行非负迭代训练,其训练规则以如下公式表示:
其中,Q(U)和Q(S)分别表示服务吞吐率历史数据集合Q中,关于用户U和关于服务S的子集。上述公式的物理含义为,对ε(B,C,P,E),在Q上对B,C,P,E进行非负限制下的训练更新,使ε(B,C,P,E)在Q上关于B,C,P,E为最小值;本轮训练完成后,返回步骤S3-2-G,判断对于当前训练的缺失服务率补足模型,其迭代训练过程是否已完成;
S3-2-I,将训练获取的缺失服务吞吐率补足模型输出至非负聚合构造单元;
S3-2-J,构造非负聚合数据。
所述的基于非负聚合的缺失服务吞吐率补足方法,优选的,所述S3-3包括:
S3-3-A,初始化非负聚合判定参数,训练实例权值集合W,根据服务吞吐率历史数据集合Q,构造的规模为|Q|的集合;W以一个|U|行,|S|列的稀疏矩阵作为数据结构进行存储;对于W中的每个元素,统一初始化为
聚合权重向量ω:根据补足模型数量阈值N,构造的长度为N的向量;ω每一元素均初始化为0;
聚合集合Γ:用于存放构成聚合的缺失服务吞吐率补足模型的集合,初始化为空集;
S3-3-B,判断已将所有补足模型加入聚合,判断的依据为,是否已经将补足模型训练单元发送的缺失服务吞吐率补足模型进行非负聚合处理;
S3-3-C,计算当前补足模型在Q上的平均误差和平均误差标准差;
计算当前补足模型在Q上的平均误差和平均误差标准差,以如下公式表示:
其中,μ和σ分别表示当前补足模型在Q上的平均误差和平均误差标准差,|·|abs表示求绝对值,公式的物理含义为,计算当前补足模型对Q中的数据进行逼近时,产生的绝对误差的平均值和标准差;
S3-3-D,计算当前补足模型在Q上的失效率,以如下公式表示:
其中,表示当前当前补足模型在Q上的失效率,WU,S表示存放训练实例权值集合W的稀疏矩阵中,第U行,第S列的元素;上述公式的物理含义为,使用当前补足模型对Q中的数据QU,S进行逼近,若产生的绝对误差大于标准差和误差均值之和,则判定当前补足模型在逼近QU,S时失效,并将QU,S对应的训练实例权值累加至W的失效率上;
S3-3-E,根据当前补足模型在Q上的失效率,计算当前补足模型的聚合权重;
根据当前补足模型在Q上的失效率,计算当前补足模型的聚合权重,以如下公式表示:
其中,ωi表示聚合权值向量ω中的第i个元素,对应当前进行聚合处理的第i个缺失服务吞吐率补足模型;上述公式的物理含义为,令当前处理的缺失服务吞吐率补足模型在非负聚合中的权重与其在Q上的失效率负关联;
S3-3-F,将当前补足模型加入非负聚合中;将进行完聚合处理的缺失服务吞吐率补足模型加入非负聚合集合Γ中;然后返回S3-3-B,判断是否已对所有缺失服务吞吐率补足模型进行了非负聚合处理;
S3-3-G,将构造完成的非负聚合输出,存储至数据模块中的非负聚合存储单元;对于非负聚合中每个缺失服务率补足模型,编号为i,i为1至N的整数,其参数Bi,Ci,Pi,Ei;以及聚合权重向量ω。
所述的基于非负聚合的缺失服务吞吐率补足装置,优选的,所述S4包括:
S4-A,接收服务器发送的用户认证v,和服务认证r;
定期、或根据服务器的通知,将要求用户认证v,和服务认证r发送给补足模块;从非负聚合存储单元中取出与用户认证v和服务认证r相关的非负聚合参数;
S4-B,对于非负聚合中每个缺失服务率补足模型,编号为i,i为1至N的整数,其参数Bi,Ci,Pi,Ei,对应用户认证v和服务认证r的参数,以及聚合权重向量ω;补足用户认证v对服务认证r的服务吞吐率;
S4-C,补足用户认证v对服务认证r的服务吞吐率,以如下公式表示:
其中,表示非负聚合对用户v在服务r的服务吞吐率的补足值。上述公式的物理含义为,根据非负聚合中每个缺失服务率补足模型对用户v在服务r的服务吞吐率的补足值,和聚合权重向量ω,进行加权平均,得到非负聚合对用户v在服务r的服务吞吐率的补足值。
本发明还公开一种基于非负聚合的缺失服务吞吐率补足装置,其关键在于,包括:
接收模块,用于接收服务器采集的服务吞吐率历史数据,指示数据模块接收该历史数据进行存储;
数据模块,用于存储服务吞吐率历史数据,以及存储训练模块所训练的非负聚合数据;
训练模块,用于构造缺失服务吞吐率补足模型,将构造完成的缺失服务吞吐率补足模型进行非负聚合数据的构造,将构造完成的非负聚合数据发送到数据模块;
补足模块,用于接收数据模块中存储的构造完成的非负聚合数据,对服务器上的缺失服务吞吐率的用户发送指令进行补足。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明能根据用户集合对可用服务集合进行调用的吞吐率历史数据,对缺失的用户调用服务的吞吐率进行可靠的补足,明显提升整个系统的可靠性、稳定性和执行效率。能够应对大型复杂系统中的海量服务吞吐率的补足。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明基于非负聚合的缺失服务吞吐率补足装置结构示意图;
图2为本发明基于非负聚合的缺失服务吞吐率补足模型训练过程图;
图3为本发明基于非负聚合的缺失服务吞吐率补足非负聚合构造过程图;
图4为本发明基于非负聚合的缺失服务吞吐率补足过程图;
图5为应用本发明实施例前后,对缺失服务吞吐率进行补足的准确度对比线形图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
基于SOA的软件系统以更粗粒度的服务作为基本组成元素。每个服务完成相对独立的基本功能,各个服务之间松散耦合,通过平台独立、环境透明、依赖于网络的标准调用协议进行交互和协同。基于SOA的软件系统能在确保实现复杂的业务逻辑和过程的前提下,屏蔽平台、协议、数据和开发语言等方面的差异,具备协同、自治、自适应、松偶合的特点,已成为当下软件发展的主要模式。
针对现代大型复杂系统中的海量服务吞吐率历史数据,进行准确度高的缺失服务吞吐率补足,是服务计算领域所需要解决的一个关键技术问题。
本发明提供一种基于非负聚合的缺失服务吞吐率补足装置和方法,其专门作用于海量服务吞吐率历史数据,能够对用户调用服务的吞吐率进行基于统计规律的、准确的补足。
图1为本发明基于非负聚合的缺失服务吞吐率补足装置(以下简称装置)结构示意图。装置包括:
接收模块110:接收服务器采集的服务吞吐率历史数据,并指示数据模块120对接收的服务器采集数据进行存储。
数据模块120:存储由接收模块接收的服务吞吐率历史数据,以及装置构造的非负聚合;包括吞吐率历史数据存储单元121,存储服务器收集的服务吞吐率历史数据;非负聚合存储单元122,存储装置训练的非负聚合。
训练模块130:执行非负聚合构造过程,并将构造的非负聚合存入数据模块中的非负聚合模型存储单元122。包括初始化单元131,初始化非负聚合训练过程中涉及的相关参数;补足模型训练单元132,根据数据模块中吞吐率历史数据存储单元存121储的服务吞吐率历史数据,和初始化单元131初始化的训练参数,构造缺失服务吞吐率补足模型;非负聚合构造单元133,接收补足模型训练单元132训练的缺失服务吞吐率补足模型,根据初始化单元131初始化的训练参数,将缺失服务吞吐率补足模型逐一加入非负聚合中;输出单元134,接收非负聚合构造单元133构造的非负聚合,将其存储至数据模块的非负聚合存储单元122。
补足模块140:收到服务器根据当前训练的非负聚合,对指定用户在指定服务上的服务吞吐率进行补足的指令后,对该用户在该服务上的服务吞吐率进行补足。
其中,训练模块:收到服务器根据当前收集的服务吞吐率历史数据集合Q,构造非负聚合的指令后,执行非负聚合构造过程,并将构造的非负聚合存入数据模块中的非负聚合存储单元。具体为:
初始化单元,初始化非负聚合训练过程中涉及的相关参数,包括
补足模型数量阈值N、特征空间维数f、规约因子λ、隐特征向量B、隐特征向量C、隐特征矩阵P、隐特征矩阵E、迭代控制变量t、迭代上限T、收敛判定阈值γ、训练实例权值集合W、聚合权重向量ω和聚合集合Γ。其中,补足模型数量阈值N是规定非负聚合中包含的补足模型数量的阈值,为正整数;特征空间维数f是所需训练的缺失服务吞吐率补足模型所处空间的维度,为正整数;规约因子λ是训练过程中对相关隐特征进行规约的因子,为区间(0.001,0.1)间的小数;隐特征向量B是根据用户集合U,构造的长度为|U|的向量;隐特征向量C是根据服务集合S,构造的长度为|S|的向量;隐特征矩阵P是根据用户集合U,和特征空间维数f,构造的|U|×f的矩阵;隐特征矩阵E是根据服务集合S,和特征空间维数f,构造的f×|S|的矩阵;迭代控制变量t是控制每个缺失服务吞吐率训练过程的变量;迭代上限T是控制每个缺失服务吞吐率训练过程的阈值,初始化为正整数;收敛判定阈值γ是判断训练过程是否已收敛的阈值参数,初始化为极小正数;训练实例权值集合W是根据服务吞吐率历史数据集合Q,构造的规模为|Q|的集合;W以一个|U|行,|S|列的稀疏矩阵作为数据结构进行存储;聚合权重向量ω是根据补足模型数量阈值N,构造的长度为N的向量;聚合集合Γ是用以存放构成聚合的缺失服务吞吐率补足模型的集合,初始化为空集。
补足模型训练单元,根据数据模块中,吞吐率历史数据存储单元存储的服务吞吐率历史数据,和初始化单元初始化的训练参数,训练缺失服务吞吐率补足模型,包括隐特征向量B、隐特征向量C、隐特征矩阵P、隐特征矩阵E。训练缺失服务吞吐率补足模型进一步包括,训练单元首先构造损失函数ε(B,C,P,E),损失函数ε(B,C,P,E)以如下公式表示:
其中,Q为通过服务器收集、存放在装置的吞吐率历史数据存储单元的服务吞吐率历史数据,以一个|U|行,|S|列的稀疏矩阵为数据结构进行存储;qu,s表示存放Q的稀疏矩阵的第u行,第s列的元素;bu表示B的第u个元素;cs表示C的第s个元素,pu,k表示Q的第u行,第k列的元素;ek,s表示E的第k行,第s列的元素。上述公式的物理含义为,在已经收集的服务吞吐率历史数据上,构造全局损失函数,衡量通过B,C,P,E对服务吞吐率历史数据的逼近,和真实服务吞吐率历史数据,之间的差异。
然后,训练单元判断训练控制变量t已达到上限T,在每轮迭代开始前对训练控制标量t加1,并根据t值,与迭代上限T值,进行对比判断
然后,训练单元判断ε(B,C,P,E)在Q上对B,C,P,E收敛,将每轮训练开始前,ε(B,C,P,E)的数值,对比上轮训练开始前,ε(B,C,P,E)的数值,其差的绝对值是否小于收敛判定阈值γ;如果小于,则判定为已收敛,反之,则判定为未收敛。
然后,训练单元根据ε(B,C,P,E),在Q上对B,C,P,E进行非负迭代训练,其训练规则以如下公式表示:
其中,Q(u)和Q(s)分别表示服务吞吐率历史数据集合Q中,关于用户u和关于服务s的子集。上述公式的物理含义为,对ε(B,C,P,E),在Q上对B,C,P,E进行非负限制下的训练更新,使ε(B,C,P,E)在Q上关于B,C,P,E为最小值。本轮训练完成后,返回判断训练控制变量t已达到上限T,以及ε(B,C,P,E)在Q上对B,C,P,E收敛,以判断对于当前训练的缺失服务率补足模型,其迭代训练过程是否已完成。
然后,训练单元将训练获取的缺失服务吞吐率补足模型输出至非负聚合构造单元,以构造非负聚合。
非负聚合构造单元,接收训练单元训练的缺失服务吞吐率补足模型,根据初始化单元初始化的训练参数,将缺失服务吞吐率补足模型逐一加入非负聚合中。构造非负聚合进一步包括,对于每一个由补足模型训练单元训练的缺失服务吞吐率补足模型,非负聚合构造单元计算其在Q上的平均误差和平均误差标准差,以如下公式表示:
其中,μ和σ分别表示当前补足模型在Q上的平均误差和平均误差标准差,|·|abs表示求绝对值。上述公式的物理含义为,计算当前补足模型对Q中的数据进行逼近时,产生的绝对误差的平均值和标准差。
然后,非负聚合构造单元当前补足模型在Q上的失效率,以如下公式表示:
其中,表示当前当前补足模型在Q上的失效率,wu,s表示存放训练实例权值集合W的稀疏矩阵中,第u行,第s列的元素。上述公式的物理含义为,使用当前补足模型对Q中的数据qu,s进行逼近,若产生的绝对误差大于标准差和误差均值之和,则判定当前补足模型在逼近qu,s时失效,并将qu,s对应的训练实例权值累加至W的失效率上。
然后,非负聚合构造单元根据当前补足模型在Q上的失效率,计算当前补足模型的聚合权重,以如下公式表示:
其中,ωi表示聚合权值向量ω中的第i个元素,对应当前进行聚合处理的第i个缺失服务吞吐率补足模型。上述公式的物理含义为,令当前处理的缺失服务吞吐率补足模型在非负聚合中的权重与其在Q上的失效率负关联。
然后,非负聚合构造单元将当前补足模型加入非负聚合中,继续处理下一个由补足模型训练单元训练的缺失服务吞吐率补足模型,直至处理的缺失服务吞吐率补足模型达到补足模型数量阈值N。
然后,非负聚合构造单元将构造完成的非负聚合输出。
输出单元,接收非负聚合构造单元构造的非负聚合,将其存储至数据模块的非负聚合存储单元,包括,对于非负聚合中每个缺失服务率补足模型,编号为i,i为1至N的整数,其参数Bi,Ci,Pi,Ei;以及聚合权重向量ω。
补足模块:收到服务器根据当前构造的非负聚合,对用户v在服务r上的服务吞吐率进行补足的指令后,对用户v在服务r上的服务吞吐率进行补足。对用户v在服务r上的服务吞吐率进行补足,进一步包括,补足模块接收服务器发送的用户ID,v;和服务ID,r。
然后,补足模块从数据模块的非负聚合存储单元中取出与用户v和服务r相关的非负聚合参数,包括对于非负聚合中每个缺失服务率补足模型,编号为i,i为1至N的整数,其参数Bi,Ci,Pi,Ei,对应用户v和服务r的部分参数,以及聚合权重向量ω。
然后,补足模块补足用户v对服务r的服务吞吐率,以如下公式表示:
其中,表示非负聚合对用户v在服务r的服务吞吐率的补足值。上述公式的物理含义为,根据非负聚合中每个缺失服务率补足模型对用户v在服务r的服务吞吐率的补足值,和聚合权重向量ω,进行加权平均,得到非负聚合对用户v在服务r的服务吞吐率的补足值。
本装置可部署于一个现有的服务器中,也可部署于一个单独设置的、专用于进行基于非负聚合的缺失服务吞吐率补足的服务器中。
如图2所示为补足模型训练单元的训练过程。补足模型训练过程包括:
(1)装置接收服务器构造非负聚合的指令。
(2)装置初始化聚合构造参数。
(3)装置判断当前补足模型数量已达到阈值N,若是,则执行步骤(10),否则,执行步骤(4)。
(4)装置初始化补足模型训练参数。
(5)装置构造损失函数ε(B,C,P,E)。
(6)装置判断训练控制变量t已达到上限T,若是,则执行步骤(9),否则,执行步骤(7)。
(7)装置判断ε(B,C,P,E)在Q上对B,C,P,E收敛,若是,则执行步骤(9),否则,执行步骤(8)。
(8)装置根据ε(B,C,P,E),在Q上对B,C,P,E进行非负迭代训练,重复执行步骤(6)。
(9)装置将训练获取的缺失服务吞吐率补足模型输出至非负聚合构造单元133。
(10)装置执行非负聚合构造过程。
如图3所示为非负聚合构造单元进行非负聚合构造过程。非负聚合构造过程包括:
(1)装置初始化非负聚合判定参数。
(2)装置判断已将所有补足模型加入聚合,若是,则执行步骤(8),否则,执行步骤(3)。
(3)装置计算当前补足模型在Q上的平均误差和平均误差标准差。
(4)装置计算当前补足模型在Q上的失效率。
(5)装置根据当前补足模型在Q上的失效率,计算当前补足模型的聚合权重。
(6)装置将当前补足模型加入非负聚合中,重复执行步骤(2)。
(7)装置将构造完成的非负聚合输出,存储至数据模块120中的非负聚合存储单元122。
如图4所示为缺失服务吞吐率补足模块的补足过程。缺失服务吞吐率补足过程包括:
(1)装置接收服务器发送的用户ID,v;和服务ID,r。
(2)装置从非负聚合存储单元122中取出与用户v和服务r相关的非负聚合参数。
(3)装置补足用户v对服务r的缺失服务吞吐率。
本发明专门作用于海量服务吞吐率历史数据,能够对用户调用服务的吞吐率进行基于统计规律的、准确的补足。下面,对本发明所提供的基于非负聚合的缺失服务吞吐率补足装置和方法进行详细说明。
图2为本发明实施例中补足模型训练单元的工作过程示意图,该过程包括:
步骤201:装置接收服务器构造非负聚合的指令。
本步骤中,服务器向装置发送指令的方式可以是:定期、或根据所述装置的通知、或根据某服务器的通知,将要求构造非负聚合的指令发送给装置。
步骤202:装置初始化聚合构造参数。
本步骤中,装置需要初始化的参数包括:
补足模型数量阈值N:是规定非负聚合中包含的补足模型数量的阈值,为正整数,如20;
步骤203:装置判断当前补足模型数量已达到阈值N。
本步骤中,装置根据当前已训练完成的缺失服务吞吐率补足模型的数量,对比补足模型数量阈值N,进行判断。
步骤204:装置初始化补足模型训练参数。
本步骤中,装置需要初始化的参数包括:
特征空间维数f:所需训练的缺失服务吞吐率补足模型所处空间的维度,为正整数,如20;
规约因子λ:训练过程中对相关隐特征进行规约的因子,为区间(0.001,0.1)间的小数,如0.005;
隐特征向量B:根据用户集合U,构造的长度为|U|的向量;B中每一元素均初始化为区间(0.02,0.08)内的随机数。
隐特征向量C:根据服务集合S,构造的长度为|S|的向量;C中每一元素均初始化为区间(0.02,0.08)内的随机数。
隐特征矩阵P:根据用户集合U,和特征空间维数f,构造的|U|×f的矩阵;P中每一元素均初始化为区间(0.02,0.08)内的随机数。
隐特征矩阵E:根据服务集合S,和特征空间维数f,构造的f×|S|的矩阵;E中每一元素均初始化为区间(0.02,0.08)内的随机数。
迭代控制变量t:控制每个缺失服务吞吐率训练过程的变量,初始化为0;
迭代上限T:控制每个缺失服务吞吐率训练过程的阈值,初始化为正整数,如100;
收敛判定阈值γ:判断训练过程是否已收敛的阈值参数,初始化为极小正数,如0.001。
步骤205:装置构造损失函数ε(B,C,P,E)。
本步骤中,损失函数ε(B,C,P,E)以如下公式表示:
其中,Q为通过服务器收集、存放在装置的吞吐率历史数据存储单元121的服务吞吐率历史数据,以一个|U|行,|S|列的稀疏矩阵为数据结构进行存储;QU,S表示存放Q的稀疏矩阵的第U行,第S列的元素;BU表示B的第U个元素;CS表示C的第S个元素,PU,k表示Q的第U行,第k列的元素;Ek,S表示E的第k行,第S列的元素。上述公式的物理含义为,在已经收集的服务吞吐率历史数据上,构造全局损失函数,衡量通过B,C,P,E对服务吞吐率历史数据的逼近,和真实服务吞吐率历史数据,之间的差异。
步骤206:装置判断训练控制变量t已达到上限T。
本步骤中,装置在每轮迭代开始前对训练控制标量t加1,并根据t值,与迭代上限T值,进行对比判断。
步骤207:装置判断ε(B,C,P,E)在Q上对B,C,P,E收敛。
本步骤中,装置判断ε(B,C,P,E)在Q上对B,C,P,E收敛的依据为,本轮训练开始前,ε(B,C,P,E)的数值,对比上轮训练开始前,ε(B,C,P,E)的数值,其差的绝对值是否小于收敛判定阈值γ;如果小于,则判定为已收敛,反之,则判定为未收敛。
步骤208:装置根据ε(B,C,P,E),在Q上对B,C,P,E进行非负迭代训练,重复执行步骤206。
本步骤中,装置根据ε(B,C,P,E),在Q上对B,C,P,E进行非负迭代训练,其训练规则以如下公式表示:
其中,Q(U)和Q(S)分别表示服务吞吐率历史数据集合Q中,关于用户U和关于服务S的子集。上述公式的物理含义为,对ε(B,C,P,E),在Q上对B,C,P,E进行非负限制下的训练更新,使ε(B,C,P,E)在Q上关于B,C,P,E为最小值。本轮训练完成后,返回步骤206,判断对于当前训练的缺失服务率补足模型,其迭代训练过程是否已完成。
步骤209:装置将训练获取的缺失服务吞吐率补足模型输出至非负聚合构造单元133。
本步骤中,装置将当前构造完成的缺失服务吞吐率补足模型输出至非负聚合构造单元133,以构造非负聚合。
步骤210:装置执行非负聚合构造过程。
图3为本发明实施例中非负聚合构造单元的工作过程示意图。参见图3,该过程包括:
步骤301:初始化非负聚合判定参数需要初始化的参数包括:
训练实例权值集合W:根据服务吞吐率历史数据集合Q,构造的规模为|Q|的集合;W以一个|U|行,|S|列的稀疏矩阵作为数据结构进行存储;对于W中的每个元素,统一初始化为
聚合权重向量ω:根据补足模型数量阈值N,构造的长度为N的向量;ω每一元素均初始化为0。
聚合集合Γ:用以存放构成聚合的缺失服务吞吐率补足模型的集合,初始化为空集。
步骤302:装置判断已将所有补足模型加入聚合。
本步骤中,装置判断的依据为,是否已经将补足模型训练单元132发送的缺失服务吞吐率补足模型进行非负聚合处理。
步骤303:装置计算当前补足模型在Q上的平均误差和平均误差标准差。
本步骤中,装置计算当前补足模型在Q上的平均误差和平均误差标准差,以如下公式表示:
其中,μ和σ分别表示当前补足模型在Q上的平均误差和平均误差标准差,|·|abs表示求绝对值。上述公式的物理含义为,计算当前补足模型对Q中的数据进行逼近时,产生的绝对误差的平均值和标准差。
步骤304:装置计算当前补足模型在Q上的失效率。
本步骤中,装置计算当前补足模型在Q上的失效率,以如下公式表示:
其中,表示当前当前补足模型在Q上的失效率,WU,S表示存放训练实例权值集合W的稀疏矩阵中,第U行,第S列的元素。上述公式的物理含义为,使用当前补足模型对Q中的数据QU,S进行逼近,若产生的绝对误差大于标准差和误差均值之和,则判定当前补足模型在逼近QU,S时失效,并将QU,S对应的训练实例权值累加至W的失效率上。
步骤305:装置根据当前补足模型在Q上的失效率,计算当前补足模型的聚合权重。
本步骤中,装置根据当前补足模型在Q上的失效率,计算当前补足模型的聚合权重,以如下公式表示:
其中,ωi表示聚合权值向量ω中的第i个元素,对应当前进行聚合处理的第i个缺失服务吞吐率补足模型。上述公式的物理含义为,令当前处理的缺失服务吞吐率补足模型在非负聚合中的权重与其在Q上的失效率负关联。
步骤306:装置将当前补足模型加入非负聚合中,重复执行步骤302。
本步骤中,装置将进行完聚合处理的缺失服务吞吐率补足模型加入非负聚合集合Γ中。然后返回步骤302,判断是否已对所有缺失服务吞吐率补足模型进行了非负聚合处理。
步骤307:装置将构造完成的非负聚合输出,存储至数据模块120中的非负聚合存储单元122。
本步骤中,装置存储至数据模块120中的非负聚合存储单元122的非负聚合包括,对于非负聚合中每个缺失服务率补足模型,编号为i,i为1至N的整数,其参数Bi,Ci,Pi,Ei;以及聚合权重向量ω。
图4为本发明实施例中缺失服务吞吐率补足过程示意图。参见图4,该过程包括:
步骤401:装置接收服务器发送的用户ID,v;和服务ID,r。
本步骤中,服务器向装置发送用户的方式可以是:定期、或根据所述装置的通知、或根据某服务器的通知,将要求用户ID,v;和服务ID,r发送给装置。
步骤402:从非负聚合存储单元122中取出与用户v和服务r相关的非负聚合参数。
对于非负聚合中每个缺失服务率补足模型,编号为i,i为1至N的整数,其参数Bi,Ci,Pi,Ei,对应用户v和服务r的部分参数,以及聚合权重向量ω。
步骤403:装置补足用户v对服务r的服务吞吐率。
本步骤中,装置补足用户v对服务r的服务吞吐率,以如下公式表示:
其中,表示非负聚合对用户v在服务r的服务吞吐率的补足值。上述公式的物理含义为,根据非负聚合中每个缺失服务率补足模型对用户v在服务r的服务吞吐率的补足值,和聚合权重向量ω,进行加权平均,得到非负聚合对用户v在服务r的服务吞吐率的补足值。
为了验证上述基于非负聚合的缺失服务吞吐率补足装置和方法的性能,我们在PC机上(配置:INTEL i5-760,2.8G处理器,8G内存)安装了本装置,并运行仿真实验进行实例分析。在实例分析中,采用的服务吞吐率历史数据来源于WS-DREAM网站收集的服务吞吐率历史数据,该该数据集包含了根据339名用户对5825个服务的服务吞吐率历史数据。实例分析使用平均绝对误差MAE作为缺失服务吞吐率补足准确度的评价指标,MAE越低,缺失服务吞吐率补足准确度越高。
图5为应用本发明实施例前后,根据WS-DREAM网站收集的服务吞吐率历史数据,进行缺失服务吞吐率补足的MAE对比。应用本发明实施例后,对服务吞吐率进行补足时,MAE有明显下降,补足准确度有明显提高。
由上述技术方案可见,本发明实施例提供了一种基于非负聚合的缺失服务吞吐率补足方法,其专门作用于海量服务吞吐率历史数据,能够对用户调用服务的吞吐率进行基于统计规律的、准确的补足,以解决针对现代大型复杂系统中的海量服务吞吐率历史数据,进行准确度高、执行复杂度低的缺失服务吞吐率补足问题。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (12)
1.一种基于非负聚合的缺失服务吞吐率补足方法,其特征在于,包括如下步骤:
S1,接收模块接收服务器采集的服务吞吐率历史数据,对接收该历史数据进行存储;
S2,数据模块存储服务吞吐率历史数据,以及存储训练模块所训练的非负聚合数据;
S2-1,吞吐率历史数据存储单元存储了接收模块所发送的服务吞吐率历史数据,将服务吞吐率历史数据根据训练模块的需求,发送给训练模块构造缺失服务吞吐率补足模型训练;
S2-2,非负聚合存储单元存储训练模块构造完成的非负聚合数据,将构造完成的非负聚合数据根据补足模块的需求,发送给补足模块对特定服务器上的缺失服务吞吐率的用户发送指令进行服务吞吐率补足;
S3,训练模块构造缺失服务吞吐率补足模型,将构造完成的缺失服务吞吐率补足模型进行非负聚合数据的构造,将构造完成的非负聚合数据发送到数据模块进行存储;
S3-1,初始化单元初始化训练模块非负聚合数据训练过程中的工作参数;
S3-2,补足模型训练单元根据数据模块中吞吐率历史数据存储单元存储的服务吞吐率历史数据,和初始化单元非负聚合数据训练过程中所初始化的工作参数,构造缺失服务吞吐率补足模型;
S3-2-1,接收服务器构造非负聚合数据的指令;
S3-2-2,初始化非负聚合构造参数;
S3-2-3,判断当前缺失服务吞吐率补足模型数量已达到阈值N,若是,则执行步骤S3-2-10,否则,执行步骤S3-2-4;
S3-2-4,初始化缺失服务吞吐率补足模型训练参数;
S3-2-5,构造损失函数ε(B,C,P,E);其中:
B为隐特征向量,C为隐特征向量,P为隐特征矩阵,E为隐特征矩阵;
隐特征向量B是根据用户集合U,构造的长度为|U|的向量;
隐特征向量C是根据服务集合S,构造的长度为|S|的向量;
隐特征矩阵P是根据用户集合U,和特征空间维数f,构造的|U|×f的矩阵;
隐特征矩阵E是根据服务集合S,和特征空间维数f,构造的f×|S|的矩阵;
S3-2-6,判断训练控制变量t已达到上限T,若是,则执行步骤S3-2-9,否则,执行步骤S3-2-7;
S3-2-7,判断ε(B,C,P,E)在服务吞吐率历史数据集合Q上对B,C,P,E收敛,若是,则执行步骤S3-2-9,否则,执行步骤S3-2-8;
S3-2-8,根据ε(B,C,P,E),在集合Q上对B,C,P,E进行非负聚合迭代训练,重复执行步骤S3-2-6;
S3-2-9,将训练获取的缺失服务吞吐率补足模型输出至非负聚合构造单元;
S3-2-10,执行非负聚合构造过程;
S3-3,非负聚合构造单元接收补足模型训练单元构造的缺失服务吞吐率补足模型,根据初始化单元初始化的训练参数,将缺失服务吞吐率补足模型逐一加入非负聚合数据中,构造非负聚合数据;
S3-4,输出单元接收非负聚合构造单元构造的非负聚合数据,将其输出至数据模块的非负聚合存储单元;
S4,补足模块接收数据模块中存储的构造完成的非负聚合数据,对服务器上的缺失服务吞吐率的用户发送指令进行补足。
2.根据权利要求1所述的基于非负聚合的缺失服务吞吐率补足方法,其特征在于,所述S3-3包括:
S3-3-1,初始化非负聚合判定参数;
S3-3-2,判断已将所有补足模型加入聚合,若是,则执行步骤S3-3-8,否则,执行步骤S3-3-3;
S3-3-3,计算当前缺失服务吞吐率补足模型在集合Q上的平均误差和平均误差标准差;
S3-3-4,计算当前缺失服务吞吐率补足模型在集合Q上的失效率;
S3-3-5,根据当前补足模型在Q上的失效率,计算当前补足模型的聚合权重;
S3-3-6,将当前补足模型加入非负聚合数据中,重复执行步骤S3-3-2;
S3-3-7,将构造完成的非负聚合输出,存储至数据模块中的非负聚合存储单元。
3.根据权利要求1所述的基于非负聚合的缺失服务吞吐率补足方法,其特征在于,所述S4包括:
S4-1,接收服务器发送的用户认证v;和服务认证r;
S4-2,从非负聚合存储单元中取出与用户认证v和服务认证r相关的非负聚合数据;
S4-3,补足该用户认证v对服务认证r的缺失服务吞吐率。
4.根据权利要求1所述的基于非负聚合的缺失服务吞吐率补足方法,其特征在于,所述S3-2包括:
S3-2-A,接收服务器构造非负聚合数据的指令,服务器发送指令的方式为:定期、或根据某装置、服务器的通知,将要求构造非负聚合的指令发送给非负聚合构造单元;
S3-2-B,初始化聚合构造参数,判断当前补足模型数量已达到阈值N;所述N规定非负聚合中包含的补足模型数量的阈值,为正整数;
S3-2-C,判断当前补足模型数量已达到阈值N,根据当前已训练完成的缺失服务吞吐率补足模型的数量,对比补足模型数量阈值N,进行判断;
S3-2-D,初始化补足模型训练参数,
特征空间维数f:所需训练的缺失服务吞吐率补足模型所处空间的维度,为正整数;
规约因子λ:训练过程中对相关隐特征进行规约的因子,为区间(0.001,0.1)间的小数;
隐特征向量B:根据用户集合U,构造的长度为|U|的向量;
隐特征向量C:根据服务集合S,构造的长度为|S|的向量;
隐特征矩阵P:根据用户集合U,和特征空间维数f,构造的|U|×f的矩阵;
隐特征矩阵E:根据服务集合S,和特征空间维数f,构造的f×|S|的矩阵;
迭代控制变量t:控制每个缺失服务吞吐率训练过程的变量,初始化为0;
迭代上限T:控制每个缺失服务吞吐率训练过程的阈值,初始化为正整数;
收敛判定阈值γ:判断训练过程是否已收敛的阈值参数,初始化为极小正数;
S3-2-E,构造损失函数ε(B,C,P,E);
<mrow>
<mi>&epsiv;</mi>
<mrow>
<mo>(</mo>
<mi>B</mi>
<mo>,</mo>
<mi>C</mi>
<mo>,</mo>
<mi>P</mi>
<mo>,</mo>
<mi>E</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
<mo>)</mo>
<mo>&Element;</mo>
<mi>Q</mi>
</mrow>
</munder>
<mrow>
<mo>(</mo>
<msup>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>q</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mo>-</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>-</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
</mrow>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>+</mo>
<mi>&lambda;</mi>
<mo>(</mo>
<mrow>
<msup>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mn>2</mn>
</msup>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msubsup>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
<mn>2</mn>
</msubsup>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msubsup>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
<mn>2</mn>
</msubsup>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
</mrow>
其中,Q为通过服务器收集、存放在装置的吞吐率历史数据存储单元的服务吞吐率历史数据,以一个|U|行,|S|列的稀疏矩阵为数据结构进行存储;QU,S表示存放Q的稀疏矩阵的第U行,第S列的元素;BU表示B的第U个元素;CS表示C的第S个元素,PU,k表示Q的第U行,第k列的元素;Ek,S表示E的第k行,第S列的元素,上述公式的物理含义为,在已经收集的服务吞吐率历史数据上,构造全局损失函数,衡量通过B,C,P,E对服务吞吐率历史数据的逼近,和真实服务吞吐率历史数据,之间的差异;
S3-2-F,判断训练控制变量t已达到上限T;在每轮迭代开始前对训练控制标量t加1,并根据t值,与迭代上限T值,进行对比判断;
S3-2-G,判断ε(B,C,P,E)在Q上对B,C,P,E收敛;判断ε(B,C,P,E)在Q上对B,C,P,E收敛的依据为,本轮训练开始前,ε(B,C,P,E)的数值,对比上轮训练开始前,ε(B,C,P,E)的数值,其差的绝对值是否小于收敛判定阈值γ;如果小于,则判定为已收敛,反之,则判定为未收敛;
S3-2-H,根据ε(B,C,P,E),在Q上对B,C,P,E进行非负迭代训练;根据ε(B,C,P,E),在Q上对B,C,P,E进行非负迭代训练,其训练规则以如下公式表示:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow>
<mo>(</mo>
<mi>B</mi>
<mo>,</mo>
<mi>C</mi>
<mo>,</mo>
<mi>P</mi>
<mo>,</mo>
<mi>E</mi>
<mo>)</mo>
<mo>=</mo>
<munder>
<mrow>
<mi>arg</mi>
<mi> </mi>
<mi>min</mi>
</mrow>
<mrow>
<msub>
<mi>B</mi>
<mi>U</mi>
</msub>
<mo>,</mo>
<msub>
<mi>B</mi>
<mi>S</mi>
</msub>
<mo>,</mo>
<mi>P</mi>
<mo>,</mo>
<mi>E</mi>
</mrow>
</munder>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>&epsiv;</mi>
<mrow>
<mo>(</mo>
<mi>B</mi>
<mo>,</mo>
<mi>C</mi>
<mo>,</mo>
<mi>P</mi>
<mo>,</mo>
<mi>E</mi>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>s</mi>
<mo>.</mo>
<mi>t</mi>
<mo>.</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>B</mi>
<mo>,</mo>
<mi>C</mi>
<mo>,</mo>
<mi>P</mi>
<mo>,</mo>
<mi>E</mi>
<mo>&GreaterEqual;</mo>
<mn>0</mn>
<mo>,</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>&DoubleRightArrow;</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mo>&LeftArrow;</mo>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mfrac>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>s</mi>
<mo>&Element;</mo>
<msub>
<mi>Q</mi>
<mi>K</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<msub>
<mi>q</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
</mrow>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>s</mi>
<mo>&Element;</mo>
<msub>
<mi>Q</mi>
<mi>K</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<mrow>
<mo>(</mo>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mo>+</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mo>|</mo>
<mi>Q</mi>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
<msub>
<mi>&lambda;b</mi>
<mi>u</mi>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>&LeftArrow;</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mfrac>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>u</mi>
<mo>&Element;</mo>
<msub>
<mi>Q</mi>
<mi>K</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<msub>
<mi>q</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
</mrow>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>u</mi>
<mo>&Element;</mo>
<msub>
<mi>Q</mi>
<mi>K</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<mrow>
<mo>(</mo>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mo>+</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mo>|</mo>
<mi>Q</mi>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
<msub>
<mi>&lambda;c</mi>
<mi>s</mi>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<mo>&LeftArrow;</mo>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<mfrac>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>s</mi>
<mo>&Element;</mo>
<msub>
<mi>Q</mi>
<mi>K</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<msub>
<mi>q</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
</mrow>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>s</mi>
<mo>&Element;</mo>
<msub>
<mi>Q</mi>
<mi>K</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mo>+</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mo>|</mo>
<mi>Q</mi>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
<msub>
<mi>&lambda;p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mo>&LeftArrow;</mo>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mfrac>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>u</mi>
<mo>&Element;</mo>
<msub>
<mi>Q</mi>
<mi>K</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>q</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
</mrow>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>u</mi>
<mo>&Element;</mo>
<msub>
<mi>Q</mi>
<mi>K</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mo>+</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mo>|</mo>
<mi>Q</mi>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
<msub>
<mi>&lambda;e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
其中,Q(U)和Q(S)分别表示服务吞吐率历史数据集合Q中,关于用户U和关于服务S的子集,上述公式的物理含义为,对ε(B,C,P,E),在Q上对B,C,P,E进行非负限制下的训练更新,使ε(B,C,P,E)在Q上关于B,C,P,E为最小值;本轮训练完成后,返回步骤S3-2-G,判断对于当前训练的缺失服务率补足模型,其迭代训练过程是否已完成;
S3-2-I,将训练获取的缺失服务吞吐率补足模型输出至非负聚合构造单元;
S3-2-J,构造非负聚合数据。
5.根据权利要求1所述的基于非负聚合的缺失服务吞吐率补足方法,其特征在于,所述S3-3包括:
S3-3-A,初始化非负聚合判定参数,训练实例权值集合W,根据服务吞吐率历史数据集合Q,构造的规模为|Q|的集合;W以一个|U|行,|S|列的稀疏矩阵作为数据结构进行存储;对于W中的每个元素,统一初始化为
聚合权重向量ω:根据补足模型数量阈值N,构造的长度为N的向量;ω每一元素均初始化为0;
聚合集合Γ:用于存放构成聚合的缺失服务吞吐率补足模型的集合,初始化为空集;
S3-3-B,判断已将所有补足模型加入聚合,判断的依据为,是否已经将补足模型训练单元发送的缺失服务吞吐率补足模型进行非负聚合处理;
S3-3-C,计算当前补足模型在Q上的平均误差和平均误差标准差;
计算当前补足模型在Q上的平均误差和平均误差标准差,以如下公式表示:
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>&mu;</mi>
<mo>=</mo>
<mfrac>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
<mo>)</mo>
<mo>&Element;</mo>
<mi>Q</mi>
</mrow>
</munder>
<mo>|</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mo>+</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mi>q</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<msub>
<mo>|</mo>
<mrow>
<mi>a</mi>
<mi>b</mi>
<mi>s</mi>
</mrow>
</msub>
</mrow>
<mrow>
<mo>|</mo>
<mi>Q</mi>
<mo>|</mo>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>&sigma;</mi>
<mo>=</mo>
<msqrt>
<mrow>
<mfrac>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
<mo>)</mo>
<mo>&Element;</mo>
<mi>Q</mi>
</mrow>
</munder>
<msup>
<mrow>
<mo>(</mo>
<mo>(</mo>
<mrow>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mo>+</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
</mrow>
<mo>)</mo>
<mo>-</mo>
<msub>
<mi>q</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
<mrow>
<mo>|</mo>
<mi>Q</mi>
<mo>|</mo>
</mrow>
</mfrac>
<mo>-</mo>
<msup>
<mrow>
<mo>(</mo>
<mi>&mu;</mi>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</msqrt>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
其中,μ和σ分别表示当前补足模型在Q上的平均误差和平均误差标准差,|·|abs表示求绝对值,公式的物理含义为,计算当前补足模型对Q中的数据进行逼近时,产生的绝对误差的平均值和标准差;
S3-3-D,计算当前补足模型在Q上的失效率,以如下公式表示:
其中,φ表示当前当前补足模型在Q上的失效率,WU,S表示存放训练实例权值集合W的稀疏矩阵中,第U行,第S列的元素;上述公式的物理含义为,使用当前补足模型对Q中的数据QU,S进行逼近,若产生的绝对误差大于标准差和误差均值之和,则判定当前补足模型在逼近QU,S时失效,并将QU,S对应的训练实例权值累加至W的失效率上;
S3-3-E,根据当前补足模型在Q上的失效率,计算当前补足模型的聚合权重;
根据当前补足模型在Q上的失效率,计算当前补足模型的聚合权重,以如下公式表示:
其中,ωi表示聚合权值向量ω中的第i个元素,对应当前进行聚合处理的第i个缺失服务吞吐率补足模型;上述公式的物理含义为,令当前处理的缺失服务吞吐率补足模型在非负聚合中的权重与其在Q上的失效率负关联;
S3-3-F,将当前补足模型加入非负聚合中;将进行完聚合处理的缺失服务吞吐率补足模型加入非负聚合集合Γ中;然后返回S3-3-B,判断是否已对所有缺失服务吞吐率补足模型进行了非负聚合处理;
S3-3-G,将构造完成的非负聚合输出,存储至数据模块中的非负聚合存储单元;对于非负聚合中每个缺失服务率补足模型,编号为i,i为1至N的整数,其参数Bi,Ci,Pi,Ei;以及聚合权重向量ω。
6.根据权利要求1所述的基于非负聚合的缺失服务吞吐率补足方法,其特征在于,所述S4包括:
S4-A,接收服务器发送的用户认证v,和服务认证r;
定期、或根据服务器的通知,将要求用户认证v,和服务认证r发送给补足模块;从非负聚合存储单元中取出与用户认证v和服务认证r相关的非负聚合参数;
S4-B,对于非负聚合中每个缺失服务率补足模型,编号为i,i为1至N的整数,其参数Bi,Ci,Pi,Ei,对应用户认证v和服务认证r的参数,以及聚合权重向量ω;补足用户认证v对服务认证r的服务吞吐率;
S4-C,补足用户认证v对服务认证r的服务吞吐率,以如下公式表示:
<mrow>
<msub>
<mover>
<mi>q</mi>
<mo>^</mo>
</mover>
<mrow>
<mi>v</mi>
<mo>,</mo>
<mi>r</mi>
</mrow>
</msub>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<mrow>
<mo>(</mo>
<msubsup>
<mi>b</mi>
<mi>v</mi>
<mi>i</mi>
</msubsup>
<mo>+</mo>
<msubsup>
<mi>c</mi>
<mi>r</mi>
<mi>i</mi>
</msubsup>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msubsup>
<mi>p</mi>
<mrow>
<mi>v</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
<mi>i</mi>
</msubsup>
<msubsup>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>r</mi>
</mrow>
<mi>i</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>&CenterDot;</mo>
<msup>
<mi>&omega;</mi>
<mi>i</mi>
</msup>
<mo>/</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<msup>
<mi>&omega;</mi>
<mi>i</mi>
</msup>
<mo>;</mo>
</mrow>
其中,表示非负聚合对用户v在服务r的服务吞吐率的补足值,上述公式的物理含义为,根据非负聚合中每个缺失服务率补足模型对用户v在服务r的服务吞吐率的补足值,和聚合权重向量ω,进行加权平均,得到非负聚合对用户v在服务r的服务吞吐率的补足值。
7.一种基于非负聚合的缺失服务吞吐率补足装置,其特征在于,包括:
接收模块,用于接收服务器采集的服务吞吐率历史数据,指示数据模块接收该历史数据进行存储;
数据模块,用于存储服务吞吐率历史数据,以及存储训练模块所训练的非负聚合数据;吞吐率历史数据存储单元存储了接收模块所发送的服务吞吐率历史数据,将服务吞吐率历史数据根据训练模块的需求,发送给训练模块构造缺失服务吞吐率补足模型训练;非负聚合存储单元存储训练模块构造完成的非负聚合数据,将构造完成的非负聚合数据根据补足模块的需求,发送给补足模块对特定服务器上的缺失服务吞吐率的用户发送指令进行服务吞吐率补足;
训练模块,用于构造缺失服务吞吐率补足模型,将构造完成的缺失服务吞吐率补足模型进行非负聚合数据的构造,将构造完成的非负聚合数据发送到数据模块;
所述训练模块包括如下步骤:S3-1,初始化单元初始化训练模块非负聚合数据训练过程中的工作参数;
S3-2,补足模型训练单元根据数据模块中吞吐率历史数据存储单元存储的服务吞吐率历史数据,和初始化单元非负聚合数据训练过程中所初始化的工作参数,构造缺失服务吞吐率补足模型;
S3-2-1,接收服务器构造非负聚合数据的指令;
S3-2-2,初始化非负聚合构造参数;
S3-2-3,判断当前缺失服务吞吐率补足模型数量已达到阈值N,若是,则执行步骤S3-2-10,否则,执行步骤S3-2-4;
S3-2-4,初始化缺失服务吞吐率补足模型训练参数;
S3-2-5,构造损失函数ε(B,C,P,E);其中:
B为隐特征向量,C为隐特征向量,P为隐特征矩阵,E为隐特征矩阵;
隐特征向量B是根据用户集合U,构造的长度为|U|的向量;
隐特征向量C是根据服务集合S,构造的长度为|S|的向量;
隐特征矩阵P是根据用户集合U,和特征空间维数f,构造的|U|×f的矩阵;
隐特征矩阵E是根据服务集合S,和特征空间维数f,构造的f×|S|的矩阵;
S3-2-6,判断训练控制变量t已达到上限T,若是,则执行步骤S3-2-9,否则,执行步骤S3-2-7;
S3-2-7,判断ε(B,C,P,E)在服务吞吐率历史数据集合Q上对B,C,P,E收敛,若是,则执行步骤S3-2-9,否则,执行步骤S3-2-8;
S3-2-8,根据ε(B,C,P,E),在集合Q上对B,C,P,E进行非负聚合迭代训练,重复执行步骤S3-2-6;
S3-2-9,将训练获取的缺失服务吞吐率补足模型输出至非负聚合构造单元;
S3-2-10,执行非负聚合构造过程;
S3-3,非负聚合构造单元接收补足模型训练单元构造的缺失服务吞吐率补足模型,根据初始化单元初始化的训练参数,将缺失服务吞吐率补足模型逐一加入非负聚合数据中,构造非负聚合数据;
S3-4,输出单元接收非负聚合构造单元构造的非负聚合数据,将其输出至数据模块的非负聚合存储单元;
补足模块,用于接收数据模块中存储的构造完成的非负聚合数据,对服务器上的缺失服务吞吐率的用户发送指令进行补足。
8.根据权利要求7所述的基于非负聚合的缺失服务吞吐率补足装置,其特征在于,所述训练模块还包括:
S3-3-1,初始化非负聚合判定参数;
S3-3-2,判断已将所有补足模型加入聚合,若是,则执行步骤S3-3-8,否则,执行步骤S3-3-3;
S3-3-3,计算当前缺失服务吞吐率补足模型在集合Q上的平均误差和平均误差标准差;
S3-3-4,计算当前缺失服务吞吐率补足模型在集合Q上的失效率;
S3-3-5,根据当前补足模型在Q上的失效率,计算当前补足模型的聚合权重;
S3-3-6,将当前补足模型加入非负聚合数据中,重复执行步骤S3-3-2;
S3-3-7,将构造完成的非负聚合输出,存储至数据模块中的非负聚合存储单元。
9.根据权利要求7所述的基于非负聚合的缺失服务吞吐率补足装置,其特征在于,所述补足模块包括:
S4-1,接收服务器发送的用户认证v;和服务认证r;
S4-2,从非负聚合存储单元中取出与用户认证v和服务认证r相关的非负聚合数据;
S4-3,补足该用户认证v对服务认证r的缺失服务吞吐率。
10.根据权利要求7所述的基于非负聚合的缺失服务吞吐率补足装置,其特征在于,所述数据模块还包括:
S3-2-A,接收服务器构造非负聚合数据的指令,服务器发送指令的方式为:定期、或根据某装置、服务器的通知,将要求构造非负聚合的指令发送给非负聚合构造单元;
S3-2-B,初始化聚合构造参数,判断当前补足模型数量已达到阈值N;所述N规定非负聚合中包含的补足模型数量的阈值,为正整数;
S3-2-C,判断当前补足模型数量已达到阈值N,根据当前已训练完成的缺失服务吞吐率补足模型的数量,对比补足模型数量阈值N,进行判断;
S3-2-D,初始化补足模型训练参数,
特征空间维数f:所需训练的缺失服务吞吐率补足模型所处空间的维度,为正整数;
规约因子λ:训练过程中对相关隐特征进行规约的因子,为区间(0.001,0.1)间的小数;
隐特征向量B:根据用户集合U,构造的长度为|U|的向量;
隐特征向量C:根据服务集合S,构造的长度为|S|的向量;
隐特征矩阵P:根据用户集合U,和特征空间维数f,构造的|U|×f的矩阵;
隐特征矩阵E:根据服务集合S,和特征空间维数f,构造的f×|S|的矩阵;
迭代控制变量t:控制每个缺失服务吞吐率训练过程的变量,初始化为0;
迭代上限T:控制每个缺失服务吞吐率训练过程的阈值,初始化为正整数;
收敛判定阈值γ:判断训练过程是否已收敛的阈值参数,初始化为极小正数;
S3-2-E,构造损失函数ε(B,C,P,E);
<mrow>
<mi>&epsiv;</mi>
<mrow>
<mo>(</mo>
<mi>B</mi>
<mo>,</mo>
<mi>C</mi>
<mo>,</mo>
<mi>P</mi>
<mo>,</mo>
<mi>E</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
<mo>)</mo>
<mo>&Element;</mo>
<mi>Q</mi>
</mrow>
</munder>
<mrow>
<mo>(</mo>
<msup>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>q</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mo>-</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>-</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
</mrow>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>+</mo>
<mi>&lambda;</mi>
<mo>(</mo>
<mrow>
<msup>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mn>2</mn>
</msup>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msubsup>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
<mn>2</mn>
</msubsup>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msubsup>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
<mn>2</mn>
</msubsup>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
</mrow>
其中,Q为通过服务器收集、存放在装置的吞吐率历史数据存储单元的服务吞吐率历史数据,以一个|U|行,|S|列的稀疏矩阵为数据结构进行存储;QU,S表示存放Q的稀疏矩阵的第U行,第S列的元素;BU表示B的第U个元素;CS表示C的第S个元素,PU,k表示Q的第U行,第k列的元素;Ek,S表示E的第k行,第S列的元素,上述公式的物理含义为,在已经收集的服务吞吐率历史数据上,构造全局损失函数,衡量通过B,C,P,E对服务吞吐率历史数据的逼近,和真实服务吞吐率历史数据,之间的差异;
S3-2-F,判断训练控制变量t已达到上限T;在每轮迭代开始前对训练控制标量t加1,并根据t值,与迭代上限T值,进行对比判断;
S3-2-G,判断ε(B,C,P,E)在Q上对B,C,P,E收敛;判断ε(B,C,P,E)在Q上对B,C,P,E收敛的依据为,本轮训练开始前,ε(B,C,P,E)的数值,对比上轮训练开始前,ε(B,C,P,E)的数值,其差的绝对值是否小于收敛判定阈值γ;如果小于,则判定为已收敛,反之,则判定为未收敛;
S3-2-H,根据ε(B,C,P,E),在Q上对B,C,P,E进行非负迭代训练;根据ε(B,C,P,E),在Q上对B,C,P,E进行非负迭代训练,其训练规则以如下公式表示:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow>
<mo>(</mo>
<mi>B</mi>
<mo>,</mo>
<mi>C</mi>
<mo>,</mo>
<mi>P</mi>
<mo>,</mo>
<mi>E</mi>
<mo>)</mo>
<mo>=</mo>
<munder>
<mrow>
<mi>arg</mi>
<mi> </mi>
<mi>min</mi>
</mrow>
<mrow>
<msub>
<mi>B</mi>
<mi>U</mi>
</msub>
<mo>,</mo>
<msub>
<mi>B</mi>
<mi>S</mi>
</msub>
<mo>,</mo>
<mi>P</mi>
<mo>,</mo>
<mi>E</mi>
</mrow>
</munder>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>&epsiv;</mi>
<mrow>
<mo>(</mo>
<mi>B</mi>
<mo>,</mo>
<mi>C</mi>
<mo>,</mo>
<mi>P</mi>
<mo>,</mo>
<mi>E</mi>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>s</mi>
<mo>.</mo>
<mi>t</mi>
<mo>.</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>B</mi>
<mo>,</mo>
<mi>C</mi>
<mo>,</mo>
<mi>P</mi>
<mo>,</mo>
<mi>E</mi>
<mo>&GreaterEqual;</mo>
<mn>0</mn>
<mo>,</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>&DoubleRightArrow;</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mo>&LeftArrow;</mo>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mfrac>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>s</mi>
<mo>&Element;</mo>
<msub>
<mi>Q</mi>
<mi>K</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<msub>
<mi>q</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
</mrow>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>s</mi>
<mo>&Element;</mo>
<msub>
<mi>Q</mi>
<mi>K</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<mrow>
<mo>(</mo>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mo>+</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mo>|</mo>
<mi>Q</mi>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
<msub>
<mi>&lambda;b</mi>
<mi>u</mi>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>&LeftArrow;</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mfrac>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>u</mi>
<mo>&Element;</mo>
<msub>
<mi>Q</mi>
<mi>K</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<msub>
<mi>q</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
</mrow>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>u</mi>
<mo>&Element;</mo>
<msub>
<mi>Q</mi>
<mi>K</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<mrow>
<mo>(</mo>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mo>+</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mo>|</mo>
<mi>Q</mi>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
<msub>
<mi>&lambda;c</mi>
<mi>s</mi>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<mo>&LeftArrow;</mo>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<mfrac>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>s</mi>
<mo>&Element;</mo>
<msub>
<mi>Q</mi>
<mi>K</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<msub>
<mi>q</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
</mrow>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>s</mi>
<mo>&Element;</mo>
<msub>
<mi>Q</mi>
<mi>K</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mo>+</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mo>|</mo>
<mi>Q</mi>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
<msub>
<mi>&lambda;p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mo>&LeftArrow;</mo>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mfrac>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>u</mi>
<mo>&Element;</mo>
<msub>
<mi>Q</mi>
<mi>K</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>q</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
</mrow>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>u</mi>
<mo>&Element;</mo>
<msub>
<mi>Q</mi>
<mi>K</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mo>+</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mo>|</mo>
<mi>Q</mi>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
<msub>
<mi>&lambda;e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
其中,Q(U)和Q(S)分别表示服务吞吐率历史数据集合Q中,关于用户U和关于服务S的子集,上述公式的物理含义为,对ε(B,C,P,E),在Q上对B,C,P,E进行非负限制下的训练更新,使ε(B,C,P,E)在Q上关于B,C,P,E为最小值;本轮训练完成后,返回步骤S3-2-G,判断对于当前训练的缺失服务率补足模型,其迭代训练过程是否已完成;
S3-2-I,将训练获取的缺失服务吞吐率补足模型输出至非负聚合构造单元;
S3-2-J,构造非负聚合数据。
11.根据权利要求7所述的基于非负聚合的缺失服务吞吐率补足装置,其特征在于,所述训练模块还包括:
S3-3-A,初始化非负聚合判定参数,训练实例权值集合W,根据服务吞吐率历史数据集合Q,构造的规模为|Q|的集合;W以一个|U|行,|S|列的稀疏矩阵作为数据结构进行存储;对于W中的每个元素,统一初始化为
聚合权重向量ω:根据补足模型数量阈值N,构造的长度为N的向量;ω每一元素均初始化为0;
聚合集合Γ:用于存放构成聚合的缺失服务吞吐率补足模型的集合,初始化为空集;
S3-3-B,判断已将所有补足模型加入聚合,判断的依据为,是否已经将补足模型训练单元发送的缺失服务吞吐率补足模型进行非负聚合处理;
S3-3-C,计算当前补足模型在Q上的平均误差和平均误差标准差;
计算当前补足模型在Q上的平均误差和平均误差标准差,以如下公式表示:
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>&mu;</mi>
<mo>=</mo>
<mfrac>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
<mo>)</mo>
<mo>&Element;</mo>
<mi>Q</mi>
</mrow>
</munder>
<mo>|</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mo>+</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mi>q</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<msub>
<mo>|</mo>
<mrow>
<mi>a</mi>
<mi>b</mi>
<mi>s</mi>
</mrow>
</msub>
</mrow>
<mrow>
<mo>|</mo>
<mi>Q</mi>
<mo>|</mo>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>&sigma;</mi>
<mo>=</mo>
<msqrt>
<mrow>
<mfrac>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
<mo>)</mo>
<mo>&Element;</mo>
<mi>Q</mi>
</mrow>
</munder>
<msup>
<mrow>
<mo>(</mo>
<mo>(</mo>
<mrow>
<msub>
<mi>b</mi>
<mi>u</mi>
</msub>
<mo>+</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msub>
<mi>p</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
</mrow>
<mo>)</mo>
<mo>-</mo>
<msub>
<mi>q</mi>
<mrow>
<mi>u</mi>
<mo>,</mo>
<mi>s</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
<mrow>
<mo>|</mo>
<mi>Q</mi>
<mo>|</mo>
</mrow>
</mfrac>
<mo>-</mo>
<msup>
<mrow>
<mo>(</mo>
<mi>&mu;</mi>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</msqrt>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
其中,μ和σ分别表示当前补足模型在Q上的平均误差和平均误差标准差,|·|abs表示求绝对值,公式的物理含义为,计算当前补足模型对Q中的数据进行逼近时,产生的绝对误差的平均值和标准差;
S3-3-D,计算当前补足模型在Q上的失效率,以如下公式表示:
其中,φ表示当前当前补足模型在Q上的失效率,WU,S表示存放训练实例权值集合W的稀疏矩阵中,第U行,第S列的元素;上述公式的物理含义为,使用当前补足模型对Q中的数据QU,S进行逼近,若产生的绝对误差大于标准差和误差均值之和,则判定当前补足模型在逼近QU,S时失效,并将QU,S对应的训练实例权值累加至W的失效率上;
S3-3-E,根据当前补足模型在Q上的失效率,计算当前补足模型的聚合权重;
根据当前补足模型在Q上的失效率,计算当前补足模型的聚合权重,以如下公式表示:
其中,ωi表示聚合权值向量ω中的第i个元素,对应当前进行聚合处理的第i个缺失服务吞吐率补足模型;上述公式的物理含义为,令当前处理的缺失服务吞吐率补足模型在非负聚合中的权重与其在Q上的失效率负关联;
S3-3-F,将当前补足模型加入非负聚合中;将进行完聚合处理的缺失服务吞吐率补足模型加入非负聚合集合Γ中;然后返回S3-3-B,判断是否已对所有缺失服务吞吐率补足模型进行了非负聚合处理;
S3-3-G,将构造完成的非负聚合输出,存储至数据模块中的非负聚合存储单元;对于非负聚合中每个缺失服务率补足模型,编号为i,i为1至N的整数,其参数Bi,Ci,Pi,Ei;以及聚合权重向量ω。
12.根据权利要求7所述的基于非负聚合的缺失服务吞吐率补足装置,其特征在于,所述补足模块还包括:
S4-A,接收服务器发送的用户认证v,和服务认证r;
定期、或根据服务器的通知,将要求用户认证v,和服务认证r发送给补足模块;从非负聚合存储单元中取出与用户认证v和服务认证r相关的非负聚合参数;
S4-B,对于非负聚合中每个缺失服务率补足模型,编号为i,i为1至N的整数,其参数Bi,Ci,Pi,Ei,对应用户认证v和服务认证r的参数,以及聚合权重向量ω;补足用户认证v对服务认证r的服务吞吐率;
S4-C,补足用户认证v对服务认证r的服务吞吐率,以如下公式表示:
<mrow>
<msub>
<mover>
<mi>q</mi>
<mo>^</mo>
</mover>
<mrow>
<mi>v</mi>
<mo>,</mo>
<mi>r</mi>
</mrow>
</msub>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<mrow>
<mo>(</mo>
<msubsup>
<mi>b</mi>
<mi>v</mi>
<mi>i</mi>
</msubsup>
<mo>+</mo>
<msubsup>
<mi>c</mi>
<mi>r</mi>
<mi>i</mi>
</msubsup>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>f</mi>
</munderover>
<msubsup>
<mi>p</mi>
<mrow>
<mi>v</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
<mi>i</mi>
</msubsup>
<msubsup>
<mi>e</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>r</mi>
</mrow>
<mi>i</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>&CenterDot;</mo>
<msup>
<mi>&omega;</mi>
<mi>i</mi>
</msup>
<mo>/</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<msup>
<mi>&omega;</mi>
<mi>i</mi>
</msup>
<mo>;</mo>
</mrow>
其中,表示非负聚合对用户v在服务r的服务吞吐率的补足值,上述公式的物理含义为,根据非负聚合中每个缺失服务率补足模型对用户v在服务r的服务吞吐率的补足值,和聚合权重向量ω,进行加权平均,得到非负聚合对用户v在服务r的服务吞吐率的补足值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510087331.8A CN104753718B (zh) | 2015-02-25 | 2015-02-25 | 基于非负聚合的缺失服务吞吐率补足方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510087331.8A CN104753718B (zh) | 2015-02-25 | 2015-02-25 | 基于非负聚合的缺失服务吞吐率补足方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104753718A CN104753718A (zh) | 2015-07-01 |
CN104753718B true CN104753718B (zh) | 2018-02-13 |
Family
ID=53592866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510087331.8A Expired - Fee Related CN104753718B (zh) | 2015-02-25 | 2015-02-25 | 基于非负聚合的缺失服务吞吐率补足方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104753718B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109343951B (zh) * | 2018-08-15 | 2022-02-11 | 南京邮电大学 | 移动计算资源分配方法、计算机可读存储介质和终端 |
CN109358962B (zh) * | 2018-08-15 | 2022-02-11 | 南京邮电大学 | 移动计算资源自主分配装置 |
CN110991693A (zh) * | 2019-10-28 | 2020-04-10 | 重庆大学 | 一种考虑购电成本不确定性的负荷价-量曲线聚合系统 |
CN112131080B (zh) * | 2020-09-24 | 2024-05-28 | 中国科学院重庆绿色智能技术研究院 | 一种Web服务吞吐量时变隐特征分析装置和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130955A (zh) * | 2011-03-18 | 2011-07-20 | 东北大学 | 基于协同过滤的组合服务备选服务集生成系统及方法 |
CN103139310A (zh) * | 2013-03-06 | 2013-06-05 | 杭州电子科技大学 | 一种基于混合协同过滤的Web服务QoS预测方法 |
CN103684850A (zh) * | 2013-11-25 | 2014-03-26 | 浙江大学 | 基于服务邻域的Web Service服务质量预测方法 |
CN104270281A (zh) * | 2014-09-03 | 2015-01-07 | 河海大学 | 一种Web Service QoS组合预测方法 |
-
2015
- 2015-02-25 CN CN201510087331.8A patent/CN104753718B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130955A (zh) * | 2011-03-18 | 2011-07-20 | 东北大学 | 基于协同过滤的组合服务备选服务集生成系统及方法 |
CN103139310A (zh) * | 2013-03-06 | 2013-06-05 | 杭州电子科技大学 | 一种基于混合协同过滤的Web服务QoS预测方法 |
CN103684850A (zh) * | 2013-11-25 | 2014-03-26 | 浙江大学 | 基于服务邻域的Web Service服务质量预测方法 |
CN104270281A (zh) * | 2014-09-03 | 2015-01-07 | 河海大学 | 一种Web Service QoS组合预测方法 |
Non-Patent Citations (1)
Title |
---|
Xin Luo;MengChu Zhou;YunNi Xia;QingSheng Zhu.Predicting web service QoS via matrix-factorization-based collaborative filtering under non-negativity constraint.《Published in: Wireless and Optical Communication Conference (WOCC)》.2014, * |
Also Published As
Publication number | Publication date |
---|---|
CN104753718A (zh) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Marchetti et al. | A dual modifier-adaptation approach for real-time optimization | |
CN104753718B (zh) | 基于非负聚合的缺失服务吞吐率补足方法和装置 | |
CN109190379B (zh) | 一种深度学习系统的漏洞检测方法和装置 | |
WO2021175058A1 (zh) | 一种神经网络架构搜索方法、装置、设备及介质 | |
Dai et al. | An improved radial basis function network for structural reliability analysis | |
CN110263824A (zh) | 模型的训练方法、装置、计算设备及计算机可读存储介质 | |
Liu et al. | Distributed parameter estimation via pseudo-likelihood | |
Li et al. | Testing a linear time series model against its threshold extension | |
CN113592095B (zh) | 一种基于量子计算的模型训练方法及装置 | |
CN106294288B (zh) | 一种分布式非负矩阵分解方法 | |
Truchet et al. | Prediction of parallel speed-ups for las vegas algorithms | |
EP3649582A1 (en) | System and method for automatic building of learning machines using learning machines | |
CN110750852B (zh) | 一种超级电容器的剩余使用寿命预测方法、装置及电子设备 | |
CN111400964B (zh) | 一种故障发生时间预测方法及装置 | |
CN108876038B (zh) | 大数据、人工智能、超算协同的材料性能预测方法 | |
CN111143777A (zh) | 一种数据处理方法、装置、智能终端及存储介质 | |
CN106502983B (zh) | 隐式狄利克雷模型的事件驱动的坍缩吉布斯采样方法 | |
CN117151195A (zh) | 基于求逆归一化的模型优化方法、装置、设备和介质 | |
CN116304884A (zh) | 航天器遥测数据健康预测方法、系统、设备及存储介质 | |
Yassin et al. | Comparison between NARX parameter estimation methods with Binary Particle Swarm Optimization-based structure selection method | |
CN114124554B (zh) | 一种虚拟网络服务链吞吐量预测方法 | |
US20220067236A1 (en) | Physical system simulation | |
CN104660699B (zh) | 基于可变斜率的缺失服务响应时间补足方法和装置 | |
CN115169173A (zh) | 工程机械可靠性分析方法和装置、计算机设备和存储介质 | |
US20240103920A1 (en) | Method and system for accelerating the convergence of an iterative computation code of physical parameters of a multi-parameter system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180919 Address after: 401121 No. 17-1 B2 building, 52 Mount Huangshan Avenue, Yubei District, Chongqing. Patentee after: Chongqing Zhihui hang an Intelligent Technology Research Institute Co., Ltd. Address before: 400020 174 Sha Zheng street, Shapingba District, Chongqing. Patentee before: Chongqing University |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180213 Termination date: 20210225 |
|
CF01 | Termination of patent right due to non-payment of annual fee |