[0041] 收集某烟草企业3年(即2010年1月到2012年12月)的配方数据进行研究。其中包括24个卷烟品牌,涉及共1534个配方及其包含的1220种单料烟。选用配方数据(配方,单料烟)、单料烟化学信息数据(8种化学信息:总糖、还原糖、总烟碱、总氮、钾、氯、蛋白质、施木克值)、成品烟历史数据(8种化学信息:总糖、还原糖、总烟碱、总氮、钾、氯、蛋白质、施木克值,6种感官指标信息:光泽、香气、谐调、杂气、刺激性、余味,3种烟气指标信息:一氧化碳、焦油、烟气烟碱),作为数据输入,建立基于NMF的卷烟配方维护模型并进行实验验证。
[0042] 本实施方式的基于NMF的卷烟配方维护方法,如图1和图5所示,包括如下步骤:
[0043] 步骤S1:数据处理。
[0044] 将配方数据转换成二进制配方矩阵Y(n×m),其中,Y矩阵的行表示n个配方,列表示m个单料烟。如果某配方i含有某j单料烟则Yij为1,否则为0。
[0045] 将单料烟组转换成二进制配方向量 与矩阵Y类似,但只是一个配方。
[0046] 步骤S2:确定模型系数矩阵M。
[0047] 应用数据挖掘和NMF相关方法利用大量数据训练模型,通过训练来确定模型参数k的大致范围,随后通过验证过程求出k的最优解,再根据模型参数k计算模型系数矩阵M。如图2所示,配方数据的分解为:
[0048] Yold_formulas≈Wold_formulasH=Xold_formulasM (1)
[0049] 其中Yold_formulas和Xold_formulas是配方的二进制表示,W和H通过最小化Y和WH之间的平方误差来确定,其中k为分解的参数。NMF方法将识别给定配方数据的信息,并用k个潜在特征总结这些信息。所以k的值对于数据的表示至关重要。k的最优值经过10折交叉验证期确定。
[0050] 用最小二乘法估计模型系数矩阵:
[0051]
[0052] 步骤S21:调整验证集。
[0053] 基于10折交叉验证将配方数据分为训练、验证和测试数据集,其中,测试集占配方数据的10%,训练集+验证集共占90%。在训练和验证模型时采用基于10折交叉验证的方法,将训练集+验证集随机平均分为10份,在10次循环中,每次选取9份作为训练集用于训练模型,1份作为验证集用于调整模型参数,最后测试集用于测试模型性能。
[0054] 对于验证集中的每个配方,随机选择一个单料烟并从配方中消除,模型完成配方的能力是通过验证模型是否能够检索从配方中消除的单料烟来完成的。对于验证集中的每个配方,随机选择一个单料烟并从配方中消除,这个单料烟在两种配方中是可以相同的,也可以是不同的。在验证集的二进制配方矩阵中,将消除的单料烟对应的“1”替换为“0”,即yfs=1→yfs=0。其中f为验证的配方之一,s为配方中随机选择的单料烟,配方完成验证后将恢复到它们的初始状态(yfs=0→yfs=1)。
[0055] 步骤S22:训练模型参数k。
[0056] 上述的验证集用于调整模型参数。验证过程中,模型为每个配方返回1220个单料烟预测值的有序列表。接着,确定被消除的单料烟在输出单料烟有序列表中的排列等级。如果消除的单料烟在列表中具有最高预测值,则其排名是1(最高等级),验证过程如图3所示。
[0057] 将修改后的验证集配方输入训练模型,模型输出验证集中所有单料烟的预测值列表。将配方中已经存在单料烟的预测值替换为零之后,将验证配方的预测值从高到低排序,并确定有序列表中消除的单料烟的等级。
[0058] 根据大量历史实验结果,确定矩阵分解参数k的取值范围取为30~40,根据式(1)训练集配方的二进制矩阵Ytrain被分解成W和H:
[0059] Ytrain≈WtrainH=XtrainM (3)
[0060] Ytrain和Xtrain是训练集中的二进制配方。当Xold_recipe=Xtrain时,计算模型系数矩阵[0061]
[0062] 所以验证集配方的预测值为:
[0063]
[0064] 其中Xvalidate是验证集中的二进制配方矩阵。Yvalidate,pred根据图3验证过程确定的Xvalidate中每个消除单料烟在推荐序列表中的等级。针对每个验证集,分别计算所选范围中的每个k值对应的平均数等级,选择平均等级最小的k值作为当前验证集的最优k值。在所有验证集的最优值k中,选择中位数值作为模型的最优k值。
[0065] 步骤S23:计算模型系数矩阵M。
[0066] 此时的数据集为步骤S22中的训练集+验证集,即Yvalidate+train。使用验证期间得到的最优k值,通过NMF方法分解矩阵Yvalidate+train。使用式(2)计算模型系数矩阵M,其中Xold_recipe=(Xvalidate+train)。
[0067] 步骤S3:计算单料烟的预测值
[0068] 用配方向量 乘以模型系数矩阵M(m×m),即 产生一个新的向量输出 中的每一个值都在0和1之间,对应于每个单料烟的预测值。预测值接近1意味着应该将该单料烟添加到配方中,可以搭配出好的配方。预测值接近0,意味着此单料烟不适合与其他单料烟组合成新配方。
[0069] 步骤S4:获得推荐的替换单料烟列表S。
[0070] 在 中,将 中已有的单料烟的预测值替换为零或负值,因为这些单料烟已经存在,不能再添加到配方中。接着,将 预测值从高到低排序,具有较高预测值的单料烟在这个有序列表的顶部,已经存在的单料烟在这个列表的底部。取顶部的前t个与输入单料烟具有良好组合的单料烟S。
[0071] 步骤S5:启发式选择替换单料烟。
[0072] 在单料烟选择时,有两种替换方案分别为一对一替换和多对多替换方案。替换方案根据缺失单料烟和替换单料烟的化学成分信息(总糖、还原糖、总烟碱、总氮、钾、氯、蛋白质、施木克值)的相似度,本文利用传统的欧几里得距离作为计算相似度的方法,距离值越小则意味着相似度越高。在S中选择最合适的一组(种)单料烟D,即为模型推荐的替换单料烟。
[0073] 两种替换方案如下:
[0074] 方案1:一对一替换(One Versus One,OVO)。当某配方缺失一种单料烟时,计算缺失的一个单料烟与推荐的t个单料烟化学指标信息的相似度并排序,从中选择相似度最大的一个进行替换;
[0075] 方案2:多对多替换(Multiple versus multiple,MVM)。当某配方缺失x(1
[0076] 当缺失DLC01,DLC02,…,DLCx共x个单料烟时,在推荐的t个单料烟中选出x个单料烟为一组,进行排列组合,共C(t,x)组。首先,分别计算组合的x个单料烟和缺失的每个单料烟的平均相似度距离ave_d1,ave_d2,…,ave_dx。接着,对x个平均相似度距离求和,产生C(t,x)个和值sum_dn(n=1,2,…,C(t,x))并保存,选出和最小的一组,所对应的单料烟ZDLCx1,ZDLCx2,…,ZDLCxn,即为替换单料烟D,如图4所示。
[0077] 为了评估模型挖掘单料烟间配伍规则的性能,对测试集配方进行与验证集相同的修改,即yfs=1→yfs=0,其中f为测试的配方之一,s为配方中随机选择的单料烟。
[0078] 测试集包含153个配方,对于测试数据集中的每个配方,确定消除单料烟在推荐列表中的等级,将用于计算如下3种模型性能度量指标:
[0079] (1)在推荐单料烟的有序列表中消除单料烟的平均数等级。
[0080] (2)在推荐单料烟的有序列表中消除单料烟的中位数等级。
[0081] (3)消除的单料烟位于推荐单料烟列表的前10位、20位、30位的百分比。
[0082] 为了测试模型对卷烟配方维护的效果,需要进行卷烟配方维护实验。选用某品牌卷烟的一个配方FBI0282,包含23种单料烟,进行实验。假设配方FBI0282中分别缺失1种,3种单料烟,产生2个单料烟组:(1)单料烟组1:缺失单料烟AD0280。(2)单料烟组2:缺失单料烟AD0280、AD0603、DLC0277。
[0083] 使用图1框架建立模型,t设定为30,这时训练使用的数据集包含所有配方。为了度量NMF模型维护的效果,采用基于支持向量机的感官预测模型预测新配方的感官和烟气指标。10次实验的测试结果如表1‑3所示。
[0084]
[0085] 表1
[0086]
[0087] 表2
[0088]
[0089] 表3
[0090] 由表1中k的均值可知,k的最优值约等于37。这意味着需要大约37个潜在特征来表达配方数据。这些特征是稀疏的,这正是NMF方法的一个特点。观察表1的等级部分,第一个度量(平均等级)说明平均每一个被消除的单料烟可以在推荐的单料烟有序列表中的第29位置(共1220个单料烟)找到,第二个度量(中位等级)说明50%的消除单料烟的等级小于6。第三个度量表明被消除的单料烟被发现在前十等级的配方占测试配方(共153个单料烟)的
63.99%,而被消除的单料烟排在前30的配方占测试配方的百分比达到了82.48%。以上说明模型表现很好。
[0091] 用以上两组单料烟作为模型实例输入,分别进行OVO配方维护和MVM配方维护实验,推荐出替换单料烟及缺失单料烟信息如表3所示。
[0092] 在表2中,基于OVO方法推荐的单料烟为DLC0568,对比单料烟DLC0568与AD0280的化学元素,很相近,所以当单料烟AD0280缺失时,可用推荐的单料烟DLC0568替换缺失单料烟AD0280。MVM是三对三替换,缺失单料烟AD0280,AD0603,DLC0277分别用单料烟DLC0977、DLC0245、AD0495替换,从表4可以看出它们对应化学指标差别很小。
[0093] 计算上述替换后形成的新配方与原配方的感官和烟气指标的平均绝对偏差,如表3所示。
[0094] 在表3中,两个新配方分别是使用OVO和MVM方法替换后形成的新配方。新配方1和新配方2与原配方的感官和烟气指标的平均绝对偏差都很小,新配方2与原配方的感官和烟气指标的平均绝对偏差相对略大一些,但是在可接受范围之内,说明去时单料烟替换之后能保证原品牌烟的感官质量和烟气指标的稳定。
[0095] 综上,NMF卷烟配方维护模型能推荐与输入单料烟组中的单料烟形成良好组合的单料烟,不仅能进行一对一替换,而且能进行多对多替换,实验结果证明了此模型能有效维护原品牌烟的感官质量和烟气指标的稳定。