1.本技术涉及数据处理技术领域,更具体地,涉及一种卷烟销量的预测方法及装置。
背景技术:2.销量预测,指根据历史的销售信息和商品的质量信息等信息对将来一段时间的商品销售情况进行预测。准确的销量预测结果可以有效指导商品厂商和销售商对特定商品进行有计划和科学地生产及销售,不仅可以提高商品的销售额以提高商品利润,还能指导商品生产重心的合理调整,以节约人力和生产原料资源,减少浪费。
3.烟草的市场规模庞大,涉及数百种品牌的烟草商品的研发和销售,其销售相关的数据容量巨大,表示的维度高。由于许多特征通常是嘈杂或相互关联的,所以高维特征空间中通常包含一些不具有判别性的冗余信息,冗余的数据特征不仅会增加进行预测任务的神经网络的维数,增大训练深度模型的难度,甚至会掩盖有效数据特征的贡献,从而大幅降低深度模型对卷烟商品的销量预测性能。卷烟的内部销售、商品成分相关信息以及外部的用户评论等信息共同组成了复杂的数据库。如何有效地对相关数据进行检索和筛选,并提取与销量预测相关的特征是一个重要问题。现有的特征提取方法中,需要专家根据经验来提取与目标任务相关的特征值,人力成本较高,且受经验影响较大,提取质量层次不齐。
技术实现要素:4.本技术提供一种卷烟销量的预测方法及装置,利用卷烟销量的预测模型进行销售数据的特征提取和销量的预测,避免人工提取带来的人力成本和质量差异,提高了销量预测的精度。
5.本技术提供了一种卷烟销量的预测方法,包括:
6.利用卷烟销量的预测模型的第一特征提取器从销量预测指标的具体数据中提取特征图;
7.将特征图输入卷烟销量的预测模型的第一回归器,获得卷烟销量的预测值。
8.优选地,销量预测指标的具体数据是从原始数据中筛选出的影响卷烟销量预测的数据。
9.优选地,对特征提取器进行训练包括:
10.构建教师模型,教师模型包括第二特征提取器;
11.对第二特征提取器进行训练;
12.对第二特征提取器进行特征蒸馏,以训练第一特征提取器。
13.优选地,特征蒸馏包括对抗性学习,通过对抗性学习,第一特征提取器生成与第二特征提取器相同的特征图。
14.优选地,特征蒸馏还包括对比学习,通过对比学习,第一特征提取器的输出结果推向正样本,拉离负样本。
15.优选地,教师模型还包括第二回归器;
16.对第一回归器进行训练包括:
17.对第二回归器进行训练;
18.对第二回归器进行知识蒸馏,以训练第一回归器。
19.优选地,知识蒸馏中,依据第二回归器输出的第二销量预测值与第一回归器输出的第一销量预测值之间的距离以及第一销量预测值与实际销量之间的距离来评价知识蒸馏的训练效果。
20.优选地,第一回归器和第二回归器均为包括两个全连接层的全连接网络。
21.本技术还提供一种卷烟销量的预测装置,包括特征提取模块和回归模块;
22.特征提取模块用于利用卷烟销量的预测模型中的第一特征提取器从销量预测指标的具体数据中提取特征图;
23.回归模块用于将特征图输入卷烟销量的预测模型中的第一回归器,获得卷烟销量的预测值。
24.优选地,预测装置还包括预测模型训练模块,预测模型训练模块包括特征蒸馏模块和知识蒸馏模块;
25.特征蒸馏模块用于对教师模型的第二特征提取器进行特征蒸馏,以训练第一特征提取器;
26.知识蒸馏模块用于对教师模型的第二回归器进行知识蒸馏,以训练第一回归器。
27.通过以下参照附图对本技术的示例性实施例的详细描述,本技术的其它特征及其优点将会变得清楚。
附图说明
28.被结合在说明书中并构成说明书的一部分的附图示出了本技术的实施例,并且连同其说明一起用于解释本技术的原理。
29.图1为本技术提供的卷烟销量的预测方法的流程图;
30.图2为本技术提供的卷烟销量的预测模型的结构图;
31.图3为本技术提供的卷烟销量的预测模型的一个实施例的结构图;
32.图4为本技术提供的对卷烟销量的预测模型进行训练的流程图;
33.图5为本技术提供的对卷烟销量的预测模型进行训练的一个实施例的流程示意图;
34.图6为本技术提供的卷烟销量的预测装置的结构图。
具体实施方式
35.现在将参照附图来详细描述本技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本技术的范围。
36.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本技术及其应用或使用的任何限制。
37.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。
38.在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
39.本技术提供一种卷烟销量的预测方法及装置,利用卷烟销量的预测模型进行销售数据的特征提取和销量的预测,避免人工提取带来的人力成本和质量差异,提高了销量预测的精度。
40.实施例一
41.如图1所示,本技术提供的卷烟销量的预测方法包括:
42.s110:利用卷烟销量的预测模型的第一特征提取器从销量预测指标的具体数据中提取特征图。
43.s120:将特征图输入卷烟销量的预测模型的第一回归器,获得卷烟销量的预测值。
44.优选地,销量预测指标是从原始数据中筛选出的影响卷烟销量预测的指标,原始数据包括一种或多种品牌或规格的卷烟的内部信息和外部信息,内部信息包括卷烟的销售情况、卷烟的参数信息等,外部信息包括网络平台的用户评论信息等。
45.作为一个实施例,使用熵值法分析原始数据,从中筛选出影响卷烟销量预测的数据,具体包括:
46.p1:对原始数据进行标准化处理。
47.针对卷烟的k个预设指标进行标注化处理:
48.对于正向指标:
49.对于负向指标:
50.其中,x
ij
表示第i个品牌或规格卷烟的第j个指标的数值;max[xj]为所有品牌或规格卷烟的第j个指标序列中的最大值;min[xj]为所有品牌或规格卷烟的第j个指标序列中的最小值;x
′
ij
为指标化结果。
[0051]
p2:利用标准化后的数据计算每个指标的信息熵:
[0052][0053][0054]
其中p
ij
表示第j个指标下第i个品牌或规格的指标值的比重;ej为第j个指标的熵值;n为品牌或规格的总个数,n≥2。
[0055]
p3:利用每个指标的熵值计算该指标的权重。
[0056][0057]
其中,wj表示第j个指标的权重。将指标值的差异大小定义为gj=1-ej, gj越大则意味着该指标的权重越大;当某项指标下的数据一致时,指标的差异性系数为0。
[0058]
p4:利用每个指标的权重计算该指标在每个品牌或规格卷烟的综合评价值。
[0059]
具体地,用各指标的权重wj与该指标下某个品牌或规格卷烟的指标值比重p
ij
的乘积作为评价某项指标在该品牌或规格卷烟中的综合评价值,作为该指标在该品牌或规格卷
烟中的重要性依据,即
[0060]sij
=wj×
p
ij
ꢀꢀꢀ
(6)
[0061]sij
越大,说明第j个指标在第i个品牌或规格卷烟中的重要性越高。
[0062]
p5:将每个品牌或规格中综合评价值最高的预设数量的指标作为该品牌或规格的销量预测指标,将这些指标的具体数据作为预测模型的输入数据。
[0063]
具体地,如图2所示,卷烟销量的预测模型包括第一特征提取器和第一回归器。
[0064]
图3示出了卷烟销量的预测模型的一个实施例,在该实施例中,第一特征提取器为卷积神经网络,其输入数据为卷烟的销量预测指标的具体数据。该卷积神经网络包括两个一维卷积层,每个卷积层后设置了relu激活函数,第二个卷积层的relu激活函数后设置了最大池化层maxpool。对每个输入数据进行卷积和线性操作后,对获得的最大池化结果进行张量拼接操作,作为第一特征提取器的输出数据。
[0065]
在该实施例中,第一回归器为全连接网络,该全连接网络包括两个全连接层fc1和fc2,其输出数据为卷烟的销量预测值,也就是说,该回归任务的预测输出是单个值。
[0066]
作为一个实施例,对卷烟销量的预测模型进行训练时,将卷烟销量的预测模型作为学生模型,利用教师模型辅助学生模型进行训练,将特征表示和最终知识从复杂的教师模型转移到具有与教师模型不同的网络架构的、紧凑的学生模型上。
[0067]
由于高端卷烟随着时间序列变化(例如在不同的时间段)的销售情况存在相似性规律,因此,作为一个实施例,教师模型可以利用一种卷烟品牌或规格在某一时间序列的销售数据组成的训练集进行训练,而采用另一卷烟品牌或规格在同一时间序列的销售数据组成的训练集对学生模型进行训练,由此通过预测同一时间序列中任意两个卷烟品牌之间的相对销量回归来嵌入与卷烟销售相关的结构特征。在此基础上,可通过补充其他品牌或规格的卷烟的内部信息和外部信息,以及对齐相同时间序列下的信息来提高销量预测效果。由此,通过将这种销量预测方法构建为端到端的框架,实现对不同品牌或规格卷烟的销量预测的可迁移性。
[0068]
具体地,如图4所示,对卷烟销量的预测模型进行训练包括:
[0069]
s410:构建教师模型。
[0070]
请参考图5,教师模型包括第二特征提取器和第二回归器。
[0071]
第二回归器与第一回归器的结构相同,也是包括两个全连接层的全连接网络。作为一个实施例,二者的区别在于第一回归器的回归量具有较少的隐藏单元。
[0072]
作为一个实施例,第二特征提取器为复杂的lstm网络结构,第一特征提取器为紧凑的cnn网络结构。
[0073]
s420:对第二特征提取器和第二回归器进行训练。
[0074]
具体地,将统一时间序列的销量预测指标的具体数据形成的训练集输入第二特征提取器中进行训练,第二特征提取器通过卷积和线性操作提取出有效特征后向下传播进入第二回归器,最终输出该时间序列的销量预测结果。利用该销量预测结果与该时间序列的真实销量带入交叉熵损失函数,获得损失值,并通过反向传播优化第二特征提取器和第二回归器的参数,进一步优化教师模型的性能。
[0075]
s430:对第二特征提取器进行特征蒸馏,以训练第一特征提取器。
[0076]
具体地,特征蒸馏包括对抗性学习。
[0077]
在不同的网络架构之间提取特征难度大,因为特征空间可能完全不同。基于这样的考虑,本技术通过对抗性学习来自动学习用于衡量教师模型和学生模型的特征空间之间的差异的度量,用以对齐教师模型和学生模型的特征图。通过对抗性学习,第一特征提取器生成与第二特征提取器相同的特征图。具体地,通过生成对抗网络(gan,generative adversarial networks) 生成特征图。
[0078]
具体地,如图5所示,令x∈rk×
l
表示具有k个输入传感器和l个时间步长的输入样本,ψ
t
(x)和ψs(x)分别表示来自训练好的第二特征提取器ψ
t
和待训练的第一特征提取器ψs的特征图。
[0079]
图5所示的对抗性学习中,判别器是一个二元分类网络鉴别器,表示为fd,用于区分输入的特征图是来自教师模型还是学生模型。考虑到第一特征提取器和第二特征提取器输出的特征图的尺寸通常不同,在判别器的输入端添加了一个适配器f(可以为单层线性网络)进行特征图尺寸的匹配。对抗性学习可以表述如下:
[0080][0081][0082]
其中,fd(ψ
t
(x))表示判别器对教师模型特征图的判别概率结果,其优化目标是这个值尽可能接近1;e
x
表示在x下计算得到的数学期望;表示最小化判别器fs的损失ld;fd(f(ψs(x)))表示判别器fd对第一特征提取器输出的特征图的判别概率结果,其优化目标是使这个值尽可能接近0;表示最小化生成器模型(由第一特征提取器ψs和适配器f组成) 的损失lg。
[0083]
训练过程中,适配器f与第一特征提取器ψs一起训练,第二特征提取器ψ
t
的参数在训练阶段总是固定的。
[0084]
以对抗的方式训练第一特征提取器ψs和判别器fd。
[0085]
首先,固定ψs和f的参数,训练判别器fd。训练判别器fd的目标是使得正确地将输入特征图进行分类的概率最大化。其中,将输入的特征图分类为“真实”(来自教师模型)或“假”(来自学生模型)。
[0086]
具体地,训练判别器包括两个步骤:1)从第二特征提取器构建一批“真实”特征图,并通过判别器fd转发。在计算损失log(fd(ψ
t
(x)))之后,使用反向传播计算梯度。2)从第一特征提取器中构造一批“假”特征图,这些样本也通过判别器fd转发,然后计算损失log(1-fd(f(ψs(x))))后通过反向传播累积梯度。通过最小化损失方程(7)以及从“真实”和“假”批次中累积的梯度,可以最大化fd正确分类来自学生的ψs(x)和来自老师的ψ
t
(x) 的概率。
[0087]
其次,固定fd的参数,然后通过最小化log(1-fd(f(ψs(x))))来训练ψs(x),以生成更好的“假”特征图,如等式(8)所示。它允许第一特征提取器生成更像第二特征提取器的特征图,这样fd无法分辨它们是来自ψs还是ψ
t
。
[0088]
通过交替应用以上两个步骤,判别器fd最终无法区分特征图是来自第一特征提取器还是来自第二特征提取器。换句话说,第一特征提取器ψs可以生成与第二特征提取器相同或相近的特征图。
[0089]
在此基础上,优选地,特征蒸馏还包括对比学习。
[0090]
对抗性学习能够为特征蒸馏学习一个有效的潜在指标,但仍然存在一些挑战。首先,根据等式(8),ψs的优化完全取决于判别器fd的精度。ψs的训练损失有时难以收敛,尤其是在早期训练阶段。其次,对抗性对齐只能对齐整体分布,但忽略了细粒度特征。为了缓解这些问题,本技术采用对比学习来实现教师模型和学生模型之间的实例特征对齐。特别是,对比损失旨在使得源自同一样本的教师模型和学生模型特征之间的互信息最大化。通过对比学习,第一特征提取器的输出结果推向正样本,拉离负样本。结构紧凑的cnn的学生模型通过对比学习的方法无监督地从教师模型中蒸馏得到内部属性,以提升自身预测性能。
[0091]
如前所述,来自教师模型和学生模型的特征提取器的特征图的维度可能不同。基于这样的考虑,给定一个样本x
l
,分别使用线性嵌入式网络es和 e
t
来变换ψs(x
l
)和ψ
t
(x
l
),获得具有相同维度的特征向量v
l
和
[0092]vl
=es(ψs(x
l
))
ꢀꢀꢀ
(9)
[0093][0094]
如等式(9)和(10)所示,特征向量v
l
和分别来自学生模型和教师模型。es和e
t
是可训练的。对于v
l
,将视为其正向量,同时推导出k个负向量如图5的特征蒸馏模块所示的如果学生模型可以完美地模仿教师模型,则v
l
和应该具有相似的概率分布,并且v
l
和应该具有不同的分布,因为v
l
和来自不同的样本。对比学习的目标是将向量v
l
推向其正样本并将其拉离这k个负样本。
[0095]
从下述等式(11)中的相同数据分布制定了从第一特征提取器输出的正样本和负样本的输出向量u、v的后验概率h(u,v)。
[0096][0097]
其中,n是训练样本的总数,k个负样本被表示为在n个训练样本上随机均匀分布。因此,对比学习的优化目标是使得上述后验分布最大化,这相当于最小化下述等式(12)中定义的对比损失函数lc。在等式(12)中, v和v
+
来自同一分布pd,而v和其负样本v-来自不同分布pn。然后,通过最小化该对比损失lc(即)来更新学生模型的第一特征提取器ψs和嵌入式网络es和e
t
。
[0098][0099]
其中,表示基于pd分布的正样本在教师和学生的嵌入式模型下计算得到的数学期望值,表示基于pn分布的负样本在教师和学生的嵌入式模型下计算得到的数学期望值,h(v
+
,v)表示向量v
+
和v的后验概率,h(v-,v)表示向量v-和v的后验概率。
[0100]
存储库用于存储来自先前学习迭代的所有训练样本的嵌入特征向量。令z={vz}为记忆库,其中z∈[0,a)。假设嵌入特征向量vz的维数为b,则存储库是大小为a
×
b的存储缓冲区。在每次学习迭代期间,使用别名方法,即在其中引入的具有许多离散结果的有效采
样方法,从存储库z中选择k个向量作为负样本在这里,对于一个特定的特征向量v
l
,确保选择的k个负向量的索引不等于l,即负样本与该特定的特征向量是不同的特征向量。
[0101]
每次迭代后,用动量c的每个样本的相应条目更新内存库。根据经验,观察到动量c几乎不会影响最终性能。因此,可以预先将c设置为0.9。对比学习中的另一个超参数是负样本大小k。
[0102]
最后,将对抗性学习中的损失lg和对比学习中的损失lc结合起来,训练学生模型的第一特征提取器ψs。训练第一特征提取器的整体损失 l
g-overall
定义为下述等式(13)。其中,将β统一设置为1.0。
[0103]
l
g-overall
=lg+β*lcꢀꢀꢀ
(13)
[0104]
通过特征蒸馏操作,第一特征提取器为最终的回归任务学习到一个有效的特征图。
[0105]
s440:对第二回归器进行知识蒸馏,以训练第一回归器。从教师模型中进一步蒸馏得到教师模型对卷烟销量的预测结果作为知识,提升学生模型的预测精度。
[0106]
特征蒸馏中的对抗性学习和对比学习都旨在学习教师模型的第二特征提取器。如图5所示,知识蒸馏(即kd学习)中,将同一输入样本x经第一特征提取器和第二特征提取器提取的特征图分别输入到第一回归器和第二回归器中,并分别生成输出第一销量预测值ys′
和第二销量预测值 y
t
′
。在这里,将第二回归器输出的第二销量预测值y
t
′
视为“软标签”,而实际标签(即基本事实,亦即与输入样本x对应的实际销量)表示为y
true
。给定软标签和实际标签,因此可以最小化软损失l
soft
和硬损失l
hard
以更新第一特征提取器和第一回归器。
[0107]
具体地,知识蒸馏中,依据第二回归器输出的第二销量预测值与第一回归器输出的第一销量预测值之间的距离以及第一销量预测值与实际销量之间的距离来评价知识蒸馏的训练效果。
[0108]
具体地,kd学习的损失l
kd
定义如下:
[0109]
l
kd
=α*||y
′
s-y
′
t
||2+(1-α)*||y
′
s-y
true
||2ꢀꢀꢀ
(14)
[0110]
等式(14)中的第一项是知识蒸馏中的“软损失”,它测量学生模型的销量预测值ys′
与软标签y
t
′
之间的距离。第二项是硬损失,它测量软标签 y
t
′
与实际标签y
true
之间的距离。超参数α调整每个项对最终损失的贡献。根据经验,更高的α通常会产生更好的学生模型,这证明了软标签在帮助学生训练方面的有效性。
[0111]
可以理解地,在模型训练中,需要利用评价指标对模型的训练效果进行评估。每次预测结束后,使用评价指标对训练得到的预测模型进行性能评估,若性能不好,可以重复上述操作对预测模型进行优化,直到生成具有较好的卷烟销量预测能力的模型。
[0112]
具体地,预测模型常用如下4个指标中的至少两个来评估模型预测的性能:均方误差(mse)、均方根误差(rmse)、平均绝对误差(mae) 和r-squared。
[0113]
作为线性回归中常用的损失函数,mse越小,说明预测模型描述目标数据具有更好的精确度。
[0114]
[0115]
其中,fo、yo分别表示模型的输出值和实际值。
[0116]
标准差是方差的算术平方根,用于衡量一组数自身的离散程度。均方根误差用于衡量观测值和真值之间的偏差。
[0117][0118]
平均绝对误差是绝对误差的平均值,能更好地反映预测值误差的实际情况。
[0119]
直接在模型里进行自动优化参数。
[0120]
r-squared的分子是训练的模型预测的误差和,分母是随机猜测的误差和(通常取观测值的平均值)。如果结果是0,表示模型和随机猜测的效果类似;若结果是1,则说明模型完全拟合实际情况,越接近1,说明回归拟合情况越好,一般认为超过0.8的模型拟合优度较高。
[0121]
核实mae。补充mae指标,来优化参数。
[0122]
实施例二
[0123]
基于上述预测方法,本技术还提供一种卷烟销量的预测装置。如图6 所示,预测装置包括特征提取模块610和回归模块620。
[0124]
特征提取模块610用于利用卷烟销量的预测模型中的第一特征提取器从销量预测指标的具体数据中提取特征图。
[0125]
回归模块620用于将特征图输入卷烟销量的预测模型中的第一回归器,获得卷烟销量的预测值。
[0126]
作为一个实施例,预测装置还包括预测模型训练模块630,预测模型训练模块630包括特征蒸馏模块6301和知识蒸馏模块6302。
[0127]
特征蒸馏模块6301用于对教师模型的第二特征提取器进行特征蒸馏,以训练第一特征提取器。
[0128]
知识蒸馏模块6302用于对教师模型的第二回归器进行知识蒸馏,以训练第一回归器。
[0129]
本技术解决了现有的特征提取方法需要依赖人类专家提取与目标任务相关的特征值,且来自互联网的外部数据缺乏有效的标注数据等问题。本技术通过对学生模型的第一特征提取器进行训练,通过第一特征提取器实现从原始数据中提取有效特征,减少无关特征对卷烟销量预测的干扰,在数据挖掘阶段提高模型的预测性能。另外,本技术中,通过对比学习降低人工标注的工作量,使用无监督的训练手段进一步对数据集的特征信息进行提纯,实现对卷烟商品进行有效的销量预测的目的。
[0130]
虽然已经通过例子对本技术的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本技术的范围。本领域的技术人员应该理解,可在不脱离本技术的范围和精神的情况下,对以上实施例进行修改。本技术的范围由所附权利要求来限定。