时间:2024-05-04
李蒙,李文敬
(1.南宁师范大学计算机信息工程学院,南宁 530000;2.南宁师范大学物流管理与工程学院,南宁 530000)
2021年全国社会物流总额达到300万亿元,表示着我国物流需求在不断扩大。但是,目前海量的物流交易量主要依赖人工查找或配对网上的物流需求信息来完成。存在物流人工成本高,查找匹对的物流需求信息难、获取精准的物流需求信息慢,物流产业效率、效益偏低等问题。为此我们融合了多目标粒子群算法和深度学习算法,解决物流需求精准的匹配与推荐,实现物流服务交易的智能化,具有重要的科学意义和应用前景。
深度学习在物流领域的应用主要是图像处理、无人驾驶与无人机配送。经过深度学习后的模型对大量的表单内容进行识别,对文档扫描件或图片中的印章进行识别,以及识别手写文字、数字等,大幅避免人工输单。在仓储上替代人工管理,可以快速识别子库区、库区汽车数量、车辆所在车位号与系统进行实时对比,如果不吻合将会报警。
在深度学习和推荐算法相结合的应用上,王若夕等[1]提出了一种Deep&Cross Network(DCN)框架,用来解决广告点击率的预测问题。Heng-Tze Cheng等[2]提出了一种Wide&Deep Learning的方法,首次应用到了推荐系统当中,并成功的将其应用到了谷歌应用商店的推荐当中。Maxim Naumov等人[3]通过将深度学习结合协同过滤算法和预测分析,提供了目前推荐系统与深度学习结合的最优效果。郭华峰等人[4]研发了DeepFM神经网络框架,将FM与DNN相结合,可以同时学习高阶和低阶的组合特征,使学习模型要比学习单一方面特征模型更加优秀。由何湘南等人[5]提出神经协同过滤算法,将用户的隐式反馈作为特征进行建模,证明了非线性的引入将会让深度学习模型的效果变好。而李国祥等人[6]利用深度学习技术,对区域物流需求进行预测,并获得了较好的结果。Alex等人[7]最早将深度学习应用于图像处理方向,并奠定了用于图像识别的深度神经网络发展基础[7]。He等人[8]借鉴门阀控制流的思想,改善了学习目标和难度。谷歌是最早将无人汽车上路实测的公司,探讨了无人汽车上路的可能性[9]。紧随其后的就是特斯拉公司,其“Autopilot”技术取得了重大的突破,使得无人驾驶汽车在某些特定情况下,汽车已经基本实现自动驾驶[10]。王凌霄等人[11]探讨了农村“最后一公里”无人机配送的可能性。郭兴军[12]对“最后一公里”的任务分配和路径规划进行优化,并取得了良好的结果。
双边匹配问题可以简单的概括为根据供需双方的需求信息,寻找出匹配双方一对一、一对多、多对多的稳定组合方式。双边匹配的目的是使匹配双方最大化找到满意的对方。目前,双边匹配应用最广泛的领域就是在未婚男女的婚姻匹配方面。双边匹配的开端源于Gale和Shapley(1962)提出的“高考入学和稳定婚姻问题”,他们对稳定匹配的存在性、最优稳定匹配、递延接受算法和匹配问题的线性规划等进行了开创性的研究[13]。在实际研究中,张海燕等人[14]根据数据包洛分析法的基本原理,将不同的方法结合起来进行评价,从而对物流供应商进行筛选,使得选择的结果会更加的科学、合理和有效。牛志强等人[15]利用一个多智能体的框架,来模拟物流配送中不同配送波次策略下的订单交付过程,表明了不同的网络购物需求对应着不同的配送波次策略。Mehrdad Rostami等人[16]使用了基于群体智能的各类算法,应用到了特征选择上,并与传统的SI algorithm方法相比较,获得了更好的结果。袁铎宁等[17]对手术医生和择期手术患者这类一对多的双边匹配问题,构建了满足期望水平的医患稳定匹配方案的多目标优化模型。孔德财等[18]针对货车司机和货主的匹配关系,以双方满意度最大为目的,双目标精准匹配优化模型。
虽然精准匹配技术已经在某些行业种进行应用,并取得了一些成果,但目前尚未见关于客户和物流服务商的稳定匹配研究。因此,关于物流行业中客户和物流服务商的稳定匹配研究具有一定的理论意义和实际价值。基于此,本文在稳定匹配的理论基础上,提出一种考虑物流需求约束的物流精准稳定匹配方法。
推荐算法在电子商务领域的应用较为广泛,推荐算法的广义定义是,通过一些数字算法,推测出用户可能喜欢的事物。目前,推荐算法可以大致的分为三类,基于内容的推荐算法、协同过滤推荐算法和混合推荐算法。基于内容的推荐,是利用事物的内容信息做出推荐,不需要用户的评价意见,这种方法可以获得更好的推荐精度,但因为基于事物的内容推荐,会产生冷启动问题。协同过滤推荐算法使目前应用最广泛的推荐算法,它是利用和目标用户相似喜好的邻近用户的喜好来进行推荐,这样做的好处是能有效的利用内容,发掘用户的潜在偏好。混合推荐算法,由于不同推荐算法有不同的缺点和优点,所以在实际中经常被采用多种推荐算法组合使用。群体智能是模仿大自然某些生物的社会行为,应用到了计算机系统当中。相比于其他算法,群体智能算法在解决优化问题上优势更大。群体智能,自1991年意大利学者Dorigo提出蚁群优化理论开始,群体智能作为一个理论被正式提出[19]。任帅等[20]将蚁群聚类应用到协同过滤的推荐算法中,用于改善算法收敛难、冷启动的问题。刘娇[21]为改善协同过滤推荐算法的种种弊端,引入了群体智能中的布谷鸟搜索算法,并获得了较大的成功。王静[22]使用协同过滤推荐算法应用于学习资源的推荐,为了取得更好的效果,采用群体智能中的蚁群算法作为优化策略。
综上,目前尚缺少针对物流服务交易群智推荐算法的研究成果。为了解决物流服务交易中,查找匹对的物流需求信息难、获取精准的物流需求信息慢的问题。本文解决的基本思路是:第一步、分析研究物流交易信息的快速查找与精准匹配算法,第二步进行智能预测和群智推荐算法的研究。
物流服务交易流程是指在复杂的互联网环境下,由多物流服务交易平台提供的物流服务商发布的物流服务信息,客户发布的物流的需求信息。然后,由供求双方根据发布的信息与满足自身需求的物流服务商或客户进行联系、商谈、议价和达成交易,最后由物流服务商完成物流服务。传统的物流服务交易流程如图1所示。
图1 传统的物流服务交易流程
在图1中客户和物流服务商根据自身需求,通过互联网查找到相应的服务信息,客户通过平台获得对应物流服务商的物流订单,物流服务商也可以通过平台对相应的物流进行跟踪。客户和物流服务商之间的付款方式通过第三方支付平台。平台可以将双方需求可视化,对在这条供应链上的物流服务进行优化。人工精准匹配方法有时会称为主观经验法,该方法是依靠决策者的主观分析和判断,在匹配过程中充分发挥人的智慧作用,主要包括评分法、分等级、加权平均法等。虽然这些方法具有简单直观、易于使用的优点,但评价结果很大程度上依赖于专家的水平和对客户或物流服务商的认知程度。
物流信息一般伴随着物流活动的产生而产生,包括包装、仓储、装卸、运输等各方面的信息。导致物流信息进行爆炸式增长,如何从物流信息中针对用户的需求信息,检索到符合用户要求的物流服务商,成为亟待解决的问题[23]。文献[23]中,首先从需求信息文本中提取出地点、供应、需求属性,根据提取出来的属性值,寻找最优路径,并推送给相应的客户。
物流服务一般可以根据物流时间、物流费用、物流效率来进行衡量,在物流服务中需要减少物流时间、降低物流成本、提高物流效率。根据网络上所发布的信息,一般客户和物流服务商主要关注物流价格、物流载重、物流时间、物流冷链等方面。不论是物流价格,还是其他需求属性,每个需求属性所受到的影响因素也不尽相同,匹配双方对需求属性的定义也不尽相同。比如说物流价格,物流服务商一般希望这个价格越高越好,而客户更希望这个价格越低越好,双方都有一个价格接受区间,物流成本一般受到天气、人工、距离等因素的影响,其他需求属性同理。随着科技的发展,有些冷鲜类食物要求需要冷链进行运输,相比普通的运输方式,冷链运输的成本会更高,影响因素更为复杂。
单目标优化因为只有一个目标,可以根据该目标比较解的好坏。多目标优化一般指的是情境中,需要达成多个目标,由于多个目标间容易存在冲突,很难得出唯一最优解,所以在目标之间做出折衷和协调处理,使总体的目标尽可能达到最优。由于精准匹配双方一般会有多个需求信息进行匹配,每个需求信息对匹配双方的定义不同,并且需求属性间甚至会存在内在冲突,这点恰好与多目标优化进行对应。根据已有研究,本文在求解精准匹配问题时考虑的需求属性有:价格(fa1)、服务所需时间(f a2)、载重(fa3)、含有冷链(fa4)。通过对精准匹配属性分析,将其分为三种类型,根据类型不同进行求解,形成最优的匹配关系。多目标优化视角下精准匹配模型构建为:
约束条件:
设m为甲方个体数,n为乙方个体数,假设甲乙双方需求条件数都为x,和分别表示甲方和乙方的对应需求条件的权重值,和分别是下位所求出对应的满意度。上述模型中,式(1)表示匹配双方满意度平均值的最大值。式(2)表示甲乙双方达成匹配的匹配对数量的最大值。式(3)表示一方个体i与另一方个体j是否达成匹配。式(4)表示甲方各需求条件权重比例之和为1,且各需求条件比重大于0。式(5)表示乙方各需求条件权重比例之和为1,且各需求条件比重大于0。式(6)表示甲方个体总需求条件满意度之和不超过匹配对个数。式(7)表示乙方个体总需求条件满意度之和不超过匹配对个数。
物流交易匹配模型大体如图1所示。
图2 物流交易匹配模型
从精准匹配角度来看,匹配公式如式(1)、(2)、(3)所示。
基于2.3中的原则和需求,构建群智匹配算法。将群体智能和精准匹配相结合,使用群体智能中的多目标粒子群优化算法,对群智匹配算法的求解过程进行优化,让其更快找到最优解。约束条件设为每个客户只能与一个物流服务商进行配对。本文对粒子群算法的惯性权重进行改进,使粒子能够较快的收敛于全局最优值。将z ij作为粒子群的目标函数,随机初始化粒子群的粒子,找到使z ij最大的时的匹配对,并输出该条件下的匹配对。粒子位置xi更新公式不变,速度vi更新公式调整为:
其中,t为算法的迭代次数,r1、r2是分布在[ 0,1]的随机数,c1,c2为常数,pBest i(t)为第t代单个粒子找到的个体极值,g Best i(t)为第t代整个粒子群目前找到的全局极值,wt为惯性权重。由于粒子群算法搜索方案是用粒子在整个空间进行搜索,需要在开始搜索阶段,是惯性权重较大,结束搜索阶段,惯性权重较小,即惯性权重随着迭代次数的增加而逐渐减少,其数学描述如式(12)所示:
通过上述的改进,可得如下算法:
算法1改进粒子群算法
输入:初始化后客户和物流服务商的需求信息。
输出:每个客户和每个对应的物流服务商的满意度。
Begin:
步骤1 初始化粒子群中各粒子的位置和速度,设定粒子群的各项参数。
步骤2 计算种群中每个粒子的适应度值,初始化种群个体最优值和全局最优值,将目前各粒子的的位置信息和适应度值存储在pi中,将目前所有粒子的中适应度值最优的给位置和适应度值存储进p g中。
步骤3 根据式(12)对惯性权值进行更新。
步骤4 根据式(10)和(11)对各粒子的位置和速度信息进行更新。
步骤5 各粒子适应度值与其经过的最好位置进行比较,以更新粒子当前的个体最优值。
步骤6 各粒子适应度值和种群全局最优值进行比较,以更新粒子当前的全局最优值。
步骤7 找到使f(M k)最小的值,就是所找到了最优匹配方案(相对于客户)。
步骤8 若迭代次数达到最大值,则退出程序,否则,转至步骤3。
End.
双边匹配问题,假设在供需双方数量充足的情况下,客户集合为A={A1,A2,…,Am} (m≥2),其中Ai表示第i个客户,i=1,2,…,m;物流服务商集合为B={B1,B2,…,B n}(n≥2),其中B j表示第j个物流服务商,j=1,2,…,n。则I={1 ,2,…,m},J={1 ,2,…,n}。由于物流服务交易流程中双方主体的需求属性是多种多样的,为了选择出最适合客户的物流服务商,设Ai个体期望需求条件为,B j个体实际需求条件为,f axi表示第i个客户的需求条件,表示第j个物流服务商的需求条件,max表示最多的需求条件。客户选择物流服务商,根据客户和物流服务商的需求属性的匹配度来衡量双方主体的匹配程度,记为z xij。M k={ (i,j)|i∈m,j∈n}是客户和物流服务商之间其中一个有效匹配,M={M1,M2,…,M k}是所有有效匹配的集合。根据不同需求属性类型,定义不同的匹配度函数。
(1)收益型属性。收益型属性表示属性越大越好,定义函数为客户对物流服务商的属性x的匹配度:
(2)成本型属性。成本型属性表示越小越好的属性,定义函数为客户对物流服务商的属性x的匹配度。
(3)硬约束和区间型属性。硬约束是指必须满足等号约束条件,区间型属性是指要求属性符合某个区间。
客户对不同的需求条件有着不同的喜好和偏爱,此时应给所有需求条件赋予偏好权值,用来表示客户对不同需求条件的需求程度不同,用wxi来表示。满足条件
则客户个体Ai的总满意度Asi为:
客户将所有物流服务商按照Asi的大小进行排序,从而得到客户Ai对所有物流服务商的满意度排序。标记序号为Ai(B j),表明物流服务商B j在客户Ai满意度排序中的排列序号。定义M k的匹配函数为:
由于本文优先考虑对客户而言,所以若满足min[f(M k),M k∈M],且M k是稳定匹配,则M k为客户优先的情况下最优稳定匹配。
本文针对该流程中的双方选择阶段,将选择匹配的过程交给机器,避免效率低下的人工选择方式。利用粒子群算法的寻优优势,与双边匹配相结合,找寻最优匹配方案。多目标粒子群物流交易信息群智匹配要求匹配双方需求信息有一个或多个重合点才能进行匹配。该算法流程如图3所示。
图3 多目标粒子群物流服务交易信息群智匹配算法
本节将多目标粒子群物流服务交易信息群智匹配算法流程详细列举出来,通过客户和物流服务商的需求信息,找到所有可能的匹配方案,最后使用群体智能当中的粒子群算法,寻找匹配方案中的最优解。
算法2多目标粒子群物流服务交易信息群智匹配算法
步骤1 初始化客户和物流服务商需求信息
步骤2 将步骤1的初始化信息传入算法1当中
步骤3 运行算法1并输出最优解。
步骤4 结束算法
广告点击率预测问题(CTR),是推荐系统中一个重要问题,其目的是估计用户点击推荐项目的概率。通过对客户点击行为背后隐含的特征交互对解决CTR问题有重要意义。例如,在物流服务交易中,每次到了需发货的时间段,物流服务商的浏览量都会增加,这表明时间会和实际工作存在着交互作用。根据文献[2],同时考虑低阶和高阶交互比单独考虑两者的情况有更多的改善。
物流信息既包含货物体积、货物重量等连续型变量,也包含如是否含有冷链这一类的非连续型变量。一般而言,用于模型训练的原始特征总是高度稀疏的、超高维的、连续和不连续混合的,这种类型数据是无法直接输入进网络中进行训练。需要一个嵌入层将这些输入向量压缩成一个低维的、密集的向量,然后在进一步输入进第一个隐藏层当中。根据模型文献[4]的DeepFM模型,对其进行改进并运用到物流行业中,测试效果。模型使用因子分解机(FM)来学习低阶特征交互,深度神经网络(DNN)来学习高阶特征交互,将FM和DNN并行结合隐式的交互这些特征。不论是连续型变量还是非连续型变量都可以输入进网络中,对其进行分类。最后,输出预测结果,并展示给用户。
图4 Deep FM模型架构
从图中可以很明显的看出FM层与中间层是并行关系,它们共享输入的稠密特征,所以deepFM的预测结果就可以认为是:
其中,̂∈(0,1)用来预测是否会选择哪些物流服务商,yFM就是FM的输出部分,yDNN则是中间层的输出部分。
因子分解机(factorization machine,FM)是Steffen Rendle提出的一种基于矩阵分解的机器学习算法[24]。在推荐系统中,用户和项目之间一般不仅仅是线性关系,还包含一些非线性关系,所以采用FM框架来学习特征之间的线性关系,以及使用潜在向量的内积表示特征与特征之间交互作用。
FM可以有效的捕捉二阶特征交互,特别是在数据集较为稀疏的情况下。在以往的方法中,使用线性回归的方法只能用来表示特征与特征之间的线性关系,没有考虑到特征与特征之间的交互关系。在引入特征之间交互关系后,如果数据集中成对成对的特征没有交互,将会影响最终模型的效果。而在FM模型中特征之间的交叉关系使用潜在矩阵的内积来表示,可以将没有关联的特征之间的交互关系进行隐式表达。所以,如果训练数据中从未出现或很少出现数据交互的情况下,用FM是一个很好的解决方案。
在模型中,深度部分是一个多层的前馈神经网络组成。一般在推荐系统中所收集的原始特征是高维且稀疏的,而深度神经网络要求数据是低维且密集的,否则会导致网络难以训练。需在数据进入到网络前对数据进行预处理,对数据进行特征工程,采用嵌入层将稀疏特征映射成稠密特征。具体来说,嵌入可以将每个one-hot向量ei(第i个位置为1,其他位置为0的稀疏矩阵)通过查找来获得相应的行向量。嵌入层的输出表达:
其中,m表示共有多少数据。然后,前馈神经网络的表达式为:
其中,l是层数,σ是激活函数,a(l)是l层的输出,W(l)是模型权重,b(l)是第l层的偏置。最后,输出一个特征函数,使用激活函数来进行多分类。
由于FM部分和DNN部分共享嵌入层的输入,使整个网络直接从原始数据当中学习低阶和高阶特征,模型可以不用在使用特征工程预处理数据集了。
许多基于深度学习的推荐系统使用相似的基本思路处理数据集中的稀疏特征。谷歌公司更是提证明了推荐模型学习两种特征是要优于只学习一种特征模型。例如,FNN,PNN以及Wide and Deep等。FNN是一种使用因子分解机的前馈神经网络,该网络只能学习高阶特征和特征之间的交互,无法学习低阶特征。PNN与FNN恰恰相反,它可以学习高阶特征,而忽视低阶特征。Wide and Deep既可以学习高阶特征也可以学习低阶特征,但是需要特征工程来对数据进行预处理。DeepFM不仅能学习高阶特征和低阶特征而且可以学习特征之间的交互关系,不需要特征工程,直接从原始特征当中进行学习,DeepFM模型与其他模型的比较如表1所示。
表1 与其他深度模型的比较
为了保证模型测量的准确性,测试模型的整体性能,需要创建和获取用于实现的数据集以供测试。本实验采用了经典数据集criteo,该数据集是由13个连续型特征和26个离散型特征组成,训练集有4000万行,测试集有600万行。但该数据集没有提供各个特征所代表的名称,我们无法了解到具体特征含义。
为构建物流服务交易群智推荐算法,提高物流服务交易效率,本文将群体智能、深度学习以及匹配推荐等技术综合应用起来。其中,群体智能采用的是粒子群算法,深度学习运用的是DeepFM模型。粒子群算法(PSO)是群体智能中使用最普遍的一种智能算法,具有快速的搜索能力、易于理解的算法结构和易于实现的算法思想等优点,但该算法在搜索过程中局部搜索能力较差、搜索精度不高,不利于种群跳出局部最优解,针对复杂问题,算法又可能收敛不到全局最优解。DeepFM模型是在谷歌的Wide&Deep模型基础上进一步改进提出的模型,有效的解决了低阶特征和高阶特征在模型中进行交互的问题,完全避免了特征工程,但该模型依然需要庞大的数据来完成训练。
算法3物流服务交易群智推荐算法
步骤1 初始化客户和物流服务商双方需求信息。
步骤2 将初始化后的信息输入进多目标粒子群物流服务交易信息群智匹配算法当中。
步骤3 运行算法2并输出结果。
步骤4 收集数据集,并进行归并整理,选出部分作为训练集,另一部分作为测试集。
步骤5对DeepFM模型使用训练集进行训练,并用测试集检验模型的性能。
步骤6 将步骤3里的内容输入进模型,进行预测,得出预测结果。根据预测结果进行相应的推荐。
为验证本文提出的改进粒子群算法应用多属性匹配中的有效性,在多个模拟仿真平台上进行实验。假设某物流平台有如下物流交易意向信息:有10个客户(A1,A2,…,A10)需要物流服务,10个物流服务商(B1,B2,…,B10)提供物流服务。假设双方主体由4种需求属性,分别是价格(fa1)、服务所需时间(fa2)、载重(fa3)、是否有冷链(fa4),其中价格为成本型属性,服务所需时间为区间型属性,载重为效益性属性,而最后冷链为硬约束属性。相应的权重系数分别为w1=0.5、w2=0.3、w3=0.1、w4=0.1。假设一个客户只能选择一个物流服务商。客户和物流服务商的交易意向如表1、表2所示。
表2 客户交易意向信息
表3 物流服务商交易意向信息
数据集是由实例(X,y)组成,其中X通常记录了一对客户和物流服务商,以及y∈{ }0,1是指客户选择物流服务商的行为,其中y=1时表示客户选择了该物流服务商,否侧y=0。数据集使用的Criteo数据集包含了4500万用户记录,共有13个连续特征和26个非连续特征,将该数据集分为两份,80%用于训练,其余20%用于测试。在该模型中各项参数设置为:①dropout参数:0.5。②大致的网络结构:400-400-400。③优化器:Adam。④激活函数:ReLU。
为验证本文提出算法的有效性,在多平台物流系统中进行模拟仿真实验。使用python语言编写算法,并在多个模拟平台中加入该算法,进行模拟仿真实验。
实验测试计算机硬件环境如下:处理器Intel Core i5-9400F,显卡GeForce GTX 1660,内存8 GB,采用的计算机软件环境,是在Pycharm中的Python环境中运行所有实验,使用Tensorflow工具包来搭建、训练和测试DeepFM模型
匹配结果如表4所示。
表4 匹配结果及总体满意度
由于无法直观的观察到改善后的粒子群算法的性能,所以在相同参数下,对改进粒子群算法和传统粒子群算法进行300此迭代后性能对比,改进粒子群算法和传统粒子群算法的对比如图5和图6所示。
由图5和图6的对比可以发现,改进粒子群算法相比于传统粒子群算法可以更快的收敛于最优值,比传统粒子群算法效率更高。
图5 传统粒子群算法
图6 改进粒子群算法
为了测试本文中运用DeepFM模型所取得的效果,通过准确率和损失函数来评估模型的性能。都采用相同的数据集,将其他四种模型与DeepFM进行对比,对比结果如表5所示。相比于其他模型,DeepFM的准确率提升了1%左右,而损失函数降低了2%左右。
表5 各模型的性能对比
从图5和图6的对比可以发现,改进粒子群算法相比于传统粒子群算法可以更快收敛到最优值上,明确的表现了改进粒子群算法相比于传统粒子群算法的优势。
从表5可以看出,学习特征之间的交互提高了DeepFM的性能。同时学习低阶和高阶特征交互,再次提高了模型的性能,相比于只学习低阶特征交互或高阶特征交互的模型,DeepFM达到了最好的学习效率。同时学习高阶和低阶特征交互以及高阶和低阶特征交互特征提高了模型的性能。DeepFM要优于只学习单独特征交互的模型。总体而言,DeepFM模型相比于其他深度学习模型有明显提升改善。
本文提出了双边匹配和群体智能结合的方法,用于解决客户和物流服务商之间的多属性交易匹配问题,使用改进后的粒子群算法进行寻优,有效地提升了传统粒子群算法收敛速度慢的问题。深度学习及推荐算法的结合,预测客户是否会选择匹配的物流服务商,仿真实验表明,该预测方法可以达到80%的准确率。通过该论文发现,客户和物流服务商之间的交易不单单指本文所列出的属性,也包含其他属性,依然有不少问题亟待研究,因此,依然需要我们深入探索,进一步研究出更好的解决方案。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!