基于深度聚类的品项分配策略、系统、存储介质和设备的制作方法

文档序号:32104357发布日期:2022-11-09 04:04阅读:50来源:国知局
基于深度聚类的品项分配策略、系统、存储介质和设备的制作方法

1.本发明属于品项分类技术领域,涉及提供基于深度聚类的品项分配策略、系统、存储介质和设备。


背景技术:

2.品项分配过程就是将订单中需要拣选的那些相关性强的货物归为一个类别并放入到对应该类别的一个拣选区内,这个过程就视为一个具体的聚类问题。选择合适的品项分配策略可以在物理条件不变的情况下,大幅度的提高拣选机的拣选能力。
3.现有的聚类方法在计算过程中,定义的聚类损失可能会破环潜在(特征)空间导致缺乏对局部结构的考虑;或者是缺乏对输入数据稀疏特性的考虑;又或者是在数据呈现高维性的现实世界中,使用传统的自编码器(如dec或id ec)去处理这些高维数据和其自身的冗余信息,而这些冗余信息会对表示学习产生消极的影响,这种情况导致在实际的应用中,订单的挑选时间过长,设备的挑选能力低,自动化挑拣能力低。


技术实现要素:

4.本发明的目的在于解决现有技术中订单的挑选时间过长,设备的挑选能力低的问题,提供基于深度聚类的品项分配策略、系统、存储介质和设备。
5.为达到上述目的,本发明采用以下技术方案予以实现:
6.基于深度聚类的品项分配策略,包括以下步骤:
7.s1:构建dcssae网络框架,所述dcssae网络框架包括堆叠式稀疏自编码器网络和深度嵌入聚类层;
8.s2:对堆叠式稀疏自编码器网络进行预训练,得到预训练后的网络权重矩阵,基于得到的网络权重矩阵对dcssae网络中的编码器权重矩阵和解码器权重矩阵进行初始化设置;
9.s3:通过深度嵌入聚类层对原始数据集进行预训练,得到聚类中心,基于得到的聚类中心,对dcssae网络中的聚类中心和所有数据的聚类标签进行初始化设置;
10.s4:将s3中得到的聚类中心和s2中得到的预训练后的网络权重矩阵作为dcssae网络的初始化数据进行迭代训练,得到聚类划分结果。
11.本发明的进一步改进在于:
12.所述步骤s4包括以下步骤:
13.设定最大迭代次数maxiter和目标分布的更新间隔t;
14.当迭代的训练次数大于最大迭代次数maxiter时,表示训练完成,输出训练结果。
15.所述步骤s4包括以下步骤:
16.所述dcssae网络中包含变量参数iter,iter=1;
17.当iter小于等于设定的最大迭代次数maxiter时,进行迭代训练,并判断iter能否整除设定的目标分布的更新间隔t,若能,则执行s401-s405:
18.s401:获取s2中dcssae网络的编码器中每个数据的低维嵌入表示z,
19.s402:根据式(1)、式(2)和s401中的每个数据的低维嵌入表示z更新目标分布p;
[0020][0021]
其中,q
ik
是低维表示点zi与聚类中心μk间的相似度,表示将样本i分配到簇k的概率,进一步能够将zi映射为软标签qi;
[0022]
目标分布p定义为:
[0023][0024]
式中,p
ik
表示辅助分布,p
ik
是p的集合元素;
[0025]
s403:将步骤s402中的标签分配结果保存为lable
old

[0026]
s404:根据式(3)更新每个数据的标签lablei;
[0027][0028]
s405:计算数据更新后改变的标签个数,用改变的标签个数除以原始数据集中数据的个数:
[0029]
若得到的计算值小于预设的停止阈值δ,则停止训练,输出训练结果;
[0030]
若得到的计算值大于预设的停止阈值δ,则执行s406-s407;
[0031]
s406:从原始数据集中选出m个样本,使用m个样本进行小批量随机梯度下降更新网络中的参数,
[0032]
s407:每更新完成一次,变量iter加1,若变量iter加1后大于最大迭代次数maxiter,则训练完成,输出训练结果;
[0033]
若变量iter加1后小于等于最大迭代次数maxiter,则判断变量iter能否整除目标分布的更新间隔t,若能,则重复执行步骤s401-s405,若不能则执行步骤s406-s407。
[0034]
所述步骤s407包括以下步骤:
[0035]
s4071:更新得到的k个聚类中心μ:
[0036][0037]
其中,lc表示深度嵌入聚类层的聚类损失;
[0038]
s4072:更新解码器权重矩阵w


[0039][0040]
其中,l
rec
表示堆叠式稀疏自编码器网络的重构损失;
[0041]
s4073:更新编码器权重矩阵w:
[0042]
[0043]
所述步骤s4071中,lc的计算方法为:
[0044][0045]
其中,q
ik
是低维表示点zi与聚类中心μk间的相似度,p
ik
表示辅助分布;d
kl
表示kl散度。
[0046]
所述步骤s4072中,
[0047]
l
rec
堆叠式稀疏自编码器网络的重构损失的计算方法为:
[0048]
将表示给定输入xi的隐藏层单元的激活,对于给定的n个样本,隐藏层第j个神经元的平均激活值定义为:
[0049][0050]
对激活施加约束以强制特征空间变得稀疏,将其表示为:
[0051][0052]
其中ρ是稀疏参数,重构损失中增加惩罚项,惩罚与ρj不同的单元,用kl散度表示如下:
[0053][0054]
式中,h表示隐藏单元的数量;
[0055]
在ae中的重构损失函数定义为:
[0056][0057]
式中,x表示输入矩阵x∈rn×d;x

表示重构数据矩阵;w表示解码器权重矩阵w∈rd×d′
,d

是表示嵌入层维度;w

表示解码器权重矩阵w

∈rd′×d;
[0058]
基于式(10)和式(11)修正重构损失:
[0059][0060]
其中,β表示控制稀疏性强度的参数。
[0061]
所述堆叠式稀疏自编码器网络为aee网络。
[0062]
基于深度聚类的品项分配系统,包括网络构建模块、网络训练模块、深度嵌入聚类层训练模块和迭代训练模块;
[0063]
网络构建模块,用于构建dcssae网络框架,所述dcssae网络框架包括堆叠式稀疏自编码器网络和深度嵌入聚类层;
[0064]
网络训练模块,用于对堆叠式稀疏自编码器网络进行预训练,得到预训练后的网络权重矩阵,基于得到的网络权重矩阵对dcssae网络中的编码器权重矩阵和解码器权重矩阵进行初始化设置;
[0065]
深度嵌入聚类层训练模块,用于通过深度嵌入聚类层对原始数据集进行预训练,得到聚类中心,基于得到的聚类中心,去初始化dcssae网络中的聚类中心和所有数据的聚
类标签;
[0066]
迭代训练模块,用于将得到的聚类中心和预训练后的网络权重矩阵作为dcssae网络的初始化数据进行迭代训练,得到聚类划分结果。
[0067]
一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明任一项所述方法的步骤。
[0068]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明任一项所述方法的步骤。
[0069]
与现有技术相比,本发明具有以下有益效果:
[0070]
本发明公开了基于深度聚类的品项分配策略,构建的dcssae网络结构中,将传统的自编码器替换成堆叠式稀疏自编码器,在编码器的隐藏层上施加稀疏约束,避免学习到不重要的特征,可以保留原始数据中的关键信息,使学习的嵌入特征更具代表性,同时在网络结构中引入深度聚类模块,深度聚类模块可以直接在共享的特征空间内进行聚类任务,采用迭代训练策略,可以使得深度嵌入聚类模块将更多的注意力放在具备高置信度的实例上,减少低置信度的影响,能够更好的提高聚类性能,在实际的应用中,提高了品项分配的精准性,缩短了分配时间,提高了分类效率。
[0071]
进一步的,本发明在数据得迭代训练的过程中,将堆叠式稀疏自编码器网络的重构损失和深度嵌入聚类层的聚类损失进行联合指导,可以有效防止特征空间的破坏,并保留局部结构,通过同步最小化重构损失和聚类损失,联合指导网络训练,学习面向聚类的特征表示,进一步优化聚类标签的分配,能够有效提升聚类任务的效果。
附图说明
[0072]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0073]
图1为本发明的scssae的网络结构图;
[0074]
图2为本发明实施例中不同γ取值下的acc值示意图;
[0075]
图3为本发明实施例中嵌入层不同维度下的acc值示意图。
具体实施方式
[0076]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
[0077]
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0078]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0079]
在本发明实施例的描述中,需要说明的是,若出现术语“上”、“下”、“水平”、“内”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0080]
此外,若出现术语“水平”,并不表示要求部件绝对水平,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
[0081]
在本发明实施例的描述中,还需要说明的是,除非另有明确的规定和限定,若出现术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0082]
下面结合附图对本发明做进一步详细描述:
[0083]
参见图1,本发明公开了基于深度聚类的品项分配策略,本发明所述的方法是使用堆叠稀疏自编码器进行自训练的新型深度聚类(deep clustering with self-training using stacked sparse auto-encoder,dcssae)框架。
[0084]
本发明实施例所述的网络结构:
[0085]
参见图1,本发明实施例构建的dcssae网络框架有两个模块组成,包含一个基于堆叠式稀疏自编码器(ssae,stacked sparse auto-encoder)网络的表示学习模块,一个连接在ssae网络隐藏层上的深度嵌入聚类层或聚类模块。
[0086]
本发明实施例中的堆叠式稀疏自编码网络为ssae网络;
[0087]
堆叠式稀疏自编码网络ssae:为了保留数据局部结构和考虑到稀疏特性,该自编码器是由一对呈镜像的编码器和解码器组成,并在编码器中添加稀疏约束,旨在学习到高维输入数据的更好的、更具代表性的低维嵌入表示或特征空间,其中m《d。
[0088]
深度嵌入聚类层:为每一个学习到的表示嵌入点zi∈z,通过软聚类的方式分配一个软标签,即为了去寻找一个对聚类任务友好的特征空间,将深度嵌入聚类层直接连接到ssae网络之上,聚类层直接在共享的特征空间内进行聚类任务,并通过质心、目标分布(辅助分布)和软标签(聚类拟合)分布之间的kl散度来计算聚类损失进而迭代更新共享特征空间和k个质心μi。
[0089]
在本发明实施例提出的深度聚类框架中,由于考虑了输入数据的局部结构保留问题,所以重构损失也包含在dcssae网络的总损失内,这样能有效避免特征空间失真的问题。因此,dcssae的目标函数或网络总损失可表示为:
[0090]
l=l
rec
+γl
c (13)
[0091]
式中:表示dcssae网络的总损失;表示ssae网络的重构损失;表示深度
嵌入聚类层的聚类损失;γ表示控制特征空间失真程度的系数。
[0092]
在上式中,可以发现,当且γ=1时,dcssae的损失函数类似于dec方法的,即dcssae一定程度上退化为dec。
[0093]
本发明实施例中,深度嵌入聚类层的聚类损失的计算方法为:
[0094]
深度嵌入聚类层的聚类损失是定义在聚类模块或深度嵌入聚类层中优化目标,主要负责调整嵌入特征,从而能够在低维特征空间中更好地分散样本点,寻找更加适合聚类任务的特征空间,为了使聚类模块将更多的注意力放在具备高置信度的实例上,从而减少低置信度的影响,在该聚类模块下将采用自训练的策略,该策略下的一个重要部分就是软标签的分配,即采用学生t分布来计算软标签分布q或聚类拟合分布,分布q的定义如式1所示,在该式中q
ik
是低维表示点zi与质心μk间的相似度,表示将样本i分配到簇k的概率,可以将zi映射为软标签qi,而对于学生t分布的自由度α,在本发明实施例实验中固定为1。另一方面,对于辅助分布或真实分布p的定义为式2所示,以高置信度的方式来强调这些标签的分配作用:
[0095][0096][0097][0098]
式中,p
ik
是p的集合元素;
[0099]
深度嵌入聚类层或聚类模块旨在通过迭代训练将软标签分布q近似为真是分布p,因此深度嵌入聚类层的聚类损失可以利用kl散度进行表示,定义如式7所示:
[0100][0101]
本发明实施例中,ssae网络下的重构损失的计算方法为:
[0102]
重构损失是定义在基于ssae网络的表示学习模块下的优化目标,ssae网络会尽可能的缩小重构数据与原始数据样本x间的差异度,鼓励学习到的低维表示尽可能多的包含高维原始数据信息。仅考虑通过重构损失前提下,所学习到的低维表示可能无法满足当前的聚类任务,而仅以特征学习中的聚类损失为指导的情况下,嵌入空间可能会出现失真现象并导致学习到不重要的嵌入表示,这些情况都会对聚类性能产生负面影响,所以为了寻找一个对聚类友好的特征空间,需要两类损失联合执导表示的学习,本发明实施例通过在特征学习过程中引入重构损失并采用ssae网络替代dec或idec中的经典自编码器网络。
[0103]
ssae在第二个隐藏层上添加了稀疏性约束,当隐藏单元的数量足够大时,ssae相较于ae仍能挖掘出有趣的嵌入特征,本发明所述的ae为传统的自编码器。
[0104]
为了定义重构损失,让表示给定输入xi的隐藏层单元的激活,对于给定的n个样本,那么隐藏层(第二层上)第j个神经元的平均激活值定义为:
[0105][0106]
因此,对激活施加约束以强制特征空间变得稀疏,将其表示为:
[0107][0108]
其中ρ是稀疏参数,通常设置为接近于0,为了实现约束,大多数隐藏单元的激活必须接近于0。为此,在重构损失中增加惩罚项去惩罚那些与ρj不同的单元,可以用kl散度表示如下:
[0109][0110]
式中,h表示隐藏单元的数量;
[0111]
在ae中的重构损失函数定义为:
[0112][0113]
式中,x表示输入矩阵x∈rn×d;x

表示重构数据矩阵;w表示解码器权重矩阵w∈rd×d′
,d

是表示嵌入层维度;w

表示解码器权重矩阵w

∈rd′×d;
[0114]
基于式(10)和式(11)修正重构损失:
[0115][0116]
其中,β表示控制稀疏性强度的参数。
[0117]
本发明实施例的优化策略:
[0118]
dcssae网络将通过ssae进行预训练以获得初始的目标分布,并通过k-means聚类算法生成初始聚类中心,然后固定γ值,更新或优化dcssae网络中的三个参数,包括编码器和解码器的权重、聚类中心和目标分布p。
[0119]
根据dec方法中的和的定义,可以直接计算出关于zi和μj的梯度。因此,在dcssae中通过采用小批量随机梯度下降和反向传播方法直接更新编码器权重矩阵w、解码器权重矩阵w

和聚类中心μj。
[0120]
目标分布p认定为真实的软标签,但其仍依赖于软标签或拟合分布q,并注意到对于分布p按照原本的方式是使用所有的嵌入表示z在迭代中进行更新,但会造成结果的不稳定性,所以仅使用一批数据来更新参数。
[0121]
式(1)和式(2)表示更新规则,在目标分布更新过程中的样本xi的分配标签labeli受qi影响:
[0122][0123]
本发明实施例在进行训练时,输入的参数包括:数据集聚
类个数k,系数γ,目标分布的更新间隔t,最大迭代次数maxiter,稀疏参数ρ,停止阈值δ;学习率λ和小批量样本数m;
[0124]
输出的结果为:每个数据xi的低维嵌入表示zi,和其所属的簇标签lablei[0125]
具体步骤为:
[0126]
步骤1:构建dcssae网络框架,所述dcssae网络框架包括堆叠式稀疏自编码器网络和深度嵌入聚类层;
[0127]
步骤2:对堆叠式稀疏自编码器网络进行训预练,得到预训练后的网络权重矩阵,基于得到的网络权重矩阵对dcssae网络中的编码器权重和解码器进行初始化设置;
[0128]
步骤3:通过深度嵌入聚类层对原始数据集进行预训练,得到预聚类中心,通过得到的预聚类中心,去初始化dcssae网络中的聚类中心和所有数据的聚类标签;
[0129]
步骤4:将得到的预聚类中心和预训练后的网络权重矩阵作为dcssae网络的初始化数据进行迭代训练,得到聚类划分结果。
[0130]
当iter小于等于最大迭代次数maxiter时,开始迭代训练,当训练的迭代次数大于设置的迭代次数时,表示dcssae网络训练完成,可以输出训练结果。
[0131]
变量iter为网络结构中的一个变量参数,通常iter=1;
[0132]
当开始训练时,计算变量iter否整除目标分布的更新间隔t,若能,则执行:步骤401-步骤405,若不能整除,则执行步骤406至步骤407。
[0133]
步骤401:获取步骤2中dcssae网络的编码器中每个数据的低维嵌入表示
[0134]
步骤402:根据式(1)、式(2)和步骤401中的每个数据的低维嵌入表示z更新目标分布p;
[0135][0136]
其中,q
ik
是低维表示点zi与聚类中心μk间的相似度,表示将样本i分配到簇k的概率,进一步能够将zi映射为软标签qi;
[0137]
辅助分布或真实分布p定义为:
[0138][0139]
式中,p
ik
是p的集合元素;
[0140]
步骤403:将步骤402中的标签分配结果保存为lable
old

[0141]
步骤404:根据式(3)更新每个数据的标签lablei;
[0142][0143]
步骤405:计算数据更新后改变的标签个数,用改变的标签个数除以原始数据集中数据的个数;
[0144]
若得到的计算值小于设定的停止阈值δ,则停止训练,输出训练结果;
[0145]
若得到的计算值大于设定的停止阈值δ,则执行下一步;
[0146]
步骤406:从原始数据集中选出m个样本,使用m个样本进行小批量随机梯度下降更新网络中的参数,
[0147]
步骤407:每更新完成一次,变量iter加1,若变量iter加1后大于最大迭代次数maxiter,则训练完成,输出训练结果;
[0148]
若变量iter加1后小于等于最大迭代次数maxiter,则判断变量iter能否整除目标分布的更新间隔t,若能,则重复执行步骤401至步骤405,若不能则执行步骤406-步骤407。
[0149]
步骤407具体包括以下步骤:
[0150]
步骤4071:更新得到的k个聚类中心μ:
[0151][0152]
其中,lc表示深度嵌入聚类层的聚类损失;
[0153]
步骤4072:更新解码器权重矩阵w


[0154][0155]
其中,l
rec
表示堆叠式稀疏自编码器网络的重构损失;
[0156]
步骤4073:更新编码器权重矩阵w:
[0157][0158]
步骤5:网络训练完成后,输出每个数据的低维嵌入表示zi和其所属的聚类标签lablei。
[0159]
本发明实施例设置了两个停止条件来保障算法的收敛性:
[0160]
首先,定于了一个停止阈值δ,来表示两次迭代间标签分配发生变化的点的比例,直到两次连续迭代间的标签发生变化的点的比例小于δ,该算法将停止训练;
[0161]
另外一个停止条件是:通过一个迭代器完成,假如第一个收敛条件得不到满足时,迭代器会记录迭代次数,当次数大于所设置的最大迭代次数maxiter时,算法也会强制停止训练。
[0162]
本发明实施例公开了基于深度聚类的品项分配系统,包括网络构建模块、网络训练模块、深度嵌入聚类层训练模块和迭代训练模块;
[0163]
网络构建模块,用于构建dcssae网络框架,所述dcssae网络框架包括堆叠式稀疏自编码器网络和深度嵌入聚类层;
[0164]
网络训练模块,用于对堆叠式稀疏自编码器网络进行预训练,得到预训练后的网络权重矩阵,基于得到的网络权重矩阵对dcssae网络中的编码器权重矩阵和解码器权重矩阵进行初始化设置;
[0165]
深度嵌入聚类层训练模块,用于通过深度嵌入聚类层对原始数据集进行预训练,得到聚类中心,基于得到的聚类中心,去初始化dcssae网络中的聚类中心和所有数据的聚类标签;
[0166]
迭代训练模块,用于将得到的聚类中心和预训练后的网络权重矩阵作为dcssae网
络的初始化数据进行迭代训练,得到聚类划分结果。
[0167]
本发明实施例中,dcssae方法同时考虑了输入的局部结构的保留和稀疏特性:在网络结构中将传统自编码器替换成堆叠式的稀疏自编码器,在编码器的隐藏层上施加稀疏约束,以免学习到不重要的特征,迫使学习到的嵌入特征更具代表性,重构损失有效防止特征空间的破坏并保留局部结构;通过同步最小化重构损失和聚类损失,联合指导网络训练并学习面向聚类的特征表示并优化聚类标签的分配;并为稀疏嵌入表示学习在深度聚类中的应用提供新的视角。本发明公开的方法应用在物流品项分类中,在不考虑场地的因素下,分类更精准快速,可以缩短订单的挑选时间,提高了品项分类的效率,提高了物流配送的效率。
[0168]
本发明一实施例提供的终端设备的示意图。该实施例的终端设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序。所述处理器执行所述计算机程序时实现上述各个方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
[0169]
所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。
[0170]
所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。
[0171]
所述处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0172]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。
[0173]
所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0174]
本发明实施例公开了具体的应用实施例:
[0175]
(1)实验数据集:
[0176]
采用的数据集来源于某电商平台旗下的物流配送中心的订单数据。本发明实施例的实验只随机选择了某季度的85万条数据,此数据的字段均已经过脱敏处理成脱敏数据,并已进行了数据预处理的相关操作,并筛选了12个字段用于本实验,并挑选了10个大类的货物进行研究。
[0177]
数据集文件的说明如表1-1所示,数据集文件中的字段说明如表1-2所示。
[0178]
表1-1数据集文件说明
[0179][0180]
表5-2数据集文件的字段说明
[0181][0182]
实验中,通过对电商综合货物数据进行分析,构建基于dcssae的品项分配聚类模型,然后使用该此模型来测试样品品项的类别是否分配正确。
[0183]
(2)实验环境:
[0184]
实验仅使用1台节点进行计算任务。
[0185]
表1-3为硬件信息,表1-4为软件信息:
[0186]
表1-3硬件信息
[0187][0188]
表1-4软件信息
[0189][0190]
(3)实验参数:
[0191]
表1-5 dcssae网络参数设定
[0192][0193]
在后续的对比实验中,会对上述数据集进行几种比较算法来验证dcssae算法的有效性。为了保证实验的公平性,本发明实施例将对所有算法采用相同的实验协议:关于dec和idec,以及dcssae,本发明实施例让其共享相同的预训练网络和参数,并且嵌入特征的维度d

保持一致;对于一些无监督方法(例如,ae、pca),保证其对数据集的维度降为d

,然后在执行k-means算法进行聚类操作;所有方法的聚类数k应保持一致。将预训练的dcssae网络的结构设置为d-400-400-1600-d

大小的编码器,和d
′‑
400-400-1600-d大小解码器,其中d表示数据的维度。预训练网络的迭代次数固定为150,学习率固定为0.1%,聚类数和k-means方法中设置的保持一致。经过预训练后,dec、idec和dcssae中的网络架构设置与预训练网络类似,但dec将会抛弃解码器,dcssae会在隐藏层中添加了稀疏性限制。此外,在idec和dcssa e中控制聚类损失的系数γ并设置为0.15,dcssae中的稀疏参数ρ固定为0.03,最大迭代次数maxiter设置为15000,停止阈值δ设置为0.1%来控制算法是否停止训练。此外,由于在一些方法的聚类模块中使用的是k-means聚类方法,但由于其高敏感的特性,故所有
的方法将重复执行5次以获得聚类性能的均值。
[0194]
(4)参数敏感性分析
[0195]
此部分的目的是分析dcssae网络的参数敏感性对聚类性能的影响,其中包含γ、嵌入层的维度d

的取值讨论。
[0196]
由于dcssae方法中的重构损失可以有效地防止特征空间在聚类过程中的失真,这对于提高聚类效果有着明显的作用。因此,首先分析控制聚类损失的贡献系数γ的敏感性,因为它会直接影响到在总损失中的贡献程度。在基于本部分数据集的情况下,γ的值分别设置为0.05、0.1、0.15、0.2和0.25,并在展示了在不同γ下的获得的聚类准确率acc值,如图2所示。
[0197]
由图2可见,当γ=0.15时,dcssae在5个指标中的acc得分最高,而当γ=0.05和γ=0.25时,acc指标的得分明显低于其余三种情况,随着γ在这个[0.1,0.2]区间上改变,其余两种γ下的acc和γ为0.15最高acc的差距不明显。因此建议设置参数γ的最佳区间在[0.1,0.2]这个范围内,而在本次实验中,取最大的acc下的γ值为0.15。
[0198]
另外,本发明实施例还评估了嵌入层的维度对聚类性能的影响。通过将嵌入层维度大小d

更改为[5,10,15,

,45,50],并以5为间隔展示聚类精确率acc,如图3所示。
[0199]
由图3可以观察到,dcssae在d

=10的条件下,获得了最好的聚类效果。此外,发现到并不是越大的维度,聚类效果越好,反而太大的维度会明显损害聚类性能。当d

从5提高到10时,聚类性能达到最优,而当d

大于10时,聚类效果越发变差,并且,当d

大于20时,聚类性能下降的尤为明显。高维度造成聚类性能下降的原因可能是dcssae从原始数据中获得了更多的信息,但该信息中一定程度上带来了更多的冗余信息,导致学习到了更少强判别性的嵌入表示。因此,本次实验中设置将嵌入层的维度d

固定在10。
[0200]
(5)数据聚类效果:
[0201]
模型训练完成后,使用dcssae聚类模型和其他深度聚类模型进行对比实验,实验结果如下:
[0202]
表1-6实验结果
[0203][0204]
根据实验结果可以发现,本发明所设计的基于改进密度峰值算法在数据集上的acc值为0.837,优于其他深度算法,具备更好的聚类性能。
[0205]
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1