神经协同过滤智能商业选址方法
Intelligent commercial site recommendation with neural collaborative filtering
通讯作者:
收稿日期: 2018-12-17
Received: 2018-12-17
作者简介 About authors
李诺(1995—),女,博士生,从事普适计算研究.orcid.org/0000-0003-3569-894X.E-mail:
为了挖掘商店类别与地址之间的关系,基于神经协同过滤(NCF)框架提出商业选址神经协同过滤方法——NeuMF-RS. 采用嵌入方式分别得到商店类别和地址的表示,利用矩阵分解的思想学习商店类别与地址之间的线性关系;利用深度学习多层感知机学习商店类别与地址之间非线性、深层次的关系;结合这2种方法学习到的关系得到最终结果. 利用北京市的餐馆数据与POI数据来评价NeuMF-RS方法的性能,结果表明,NeuMF-RS相对于其他先进的深度学习方法和协同过滤方法在商业选址方面具有更好的性能,更能兼顾线性与非线性关系.
关键词:
A new neural collaborative filtering method, NCF-RS, was proposed based on the framework of neural collaborative filtering (NCF). In order to discover the relationship between store category and site, the linear relationship between store categories and sites was studied by matrix decomposition, the non-linear and in-depth relationship between store categories and sites was studied by deep learning multi-layer perceptron, then the two relationships were combined for the final results. Restaurants’ data and POI data in Beijing were used to evaluate the performance of NCF-RS. Results indicate that NCF-RS has better performance in intelligent commercial site recommendation than other advanced deep learning methods and collaborative filtering methods, and can take linear and nonlinear relationships into better consideration.
Keywords:
本文引用格式
李诺, 郭斌, 刘琰, 景瑶, 於志文.
LI Nuo, GUO Bin, LIU Yan, JING Yao, YU Zhi-wen.
目前已经出现很多基于地理信息服务、POI数据等多元异构信息来选择其最佳位置的研究[1, 3-5]. 这类研究大多是从多元数据中提取信息来获取各个方面的特征并返回一个数字分数,对应于商店位置的质量评估,使用回归分析的方法为商店找到最佳位置. Karamshuk等[4]依据基于位置的服务信息和人口统计信息得到地理特征(包括密度、邻居熵、竞争性和延森质量)和移动性特征(包括区域流行度、过渡密度、流入流量和过渡质量),使用回归方法为商店找出最优位置. 最近,一些研究将提取的各种特征融入矩阵分解(matrix factorization,MF)技术,进一步提高了商业选址的性能. Guo等[6]将提取的商业特征作为商店项的潜在向量,将地理特征作为地址项的潜在向量,利用矩阵分解模型得到商店的所有地址项的评分,依此选择出最优地址. 然而这些特征需要手工提取,若提取不全面便可能得不到较好的效果;此外,回归和MF方法均是线性模型,若2个特征之间存在某种关联,则此模型就不能很好地表达这些特征.
深度学习在图像识别、文本处理、计算机视觉已取得巨大成功,在推荐系统方面也取得了巨大突破[7],表明深度学习可以从内容中直接提取特征,可以更加准确地学习用户和项目的潜在特征. 因此,本文不直接计算商店特征(密度、环境、口味等)、地址特征(人流量、交通、房价等),而是从深度学习的角度出发,自动提取商店和地址的特征,得到商店对地址的评分以便于为商店推荐出地址列表.
本文使用深度学习中的多层感知机(multi-layer perception,MLP)方法非线性地表达餐馆类别对地址的偏好,同时利用MF方法线性刻画餐馆类别对地址的偏好,将2个偏好值相结合从而得到最终的餐馆类别对地址的偏好,为餐馆类别推荐地址列表. 本文的主要工作如下:1)研究He等[8]提出的神经协同过滤(NCF)框架,并将其应用于智能商业选址推荐. 2)在NCF框架基础上,提出新的应用于商业选址的神经协同过滤方法—NeuMF-RS. 使用MF和MLP技术同时表达餐馆对地址的偏好,将2个偏好值相结合得到最终的餐馆对地址的偏好,据此进行地址推荐. 3)使用大众点评的餐馆数据与高德地图的POI数据验证NeuMF-RS对于地址推荐的可行性与有效性.
1. 相关工作
1.1. 协同过滤
协同过滤(collaborative filtering,CF)基于“物以类聚,人以群分”的假设,忽略了用户或物品的信息,直接使用历史行为(偏好)数据对推荐提出建议. 具体来说,根据用户的历史行为信息分析用户的个性化偏好,找到与目标用户具有相似偏好的用户群,将这个用户群对项目的偏好视为此用户的偏好,建模得到用户对项目的预测评分,最后,将这些预测评分结果提供给用户作为参考. CF方法通常可以分为基于记忆的方法和基于模型的方法.
基于记忆的方法根据所有用户对以前收集的项目的评分进行评分预测,通常包括基于用户的CF方法和基于项目的CF方法. 这2种方法均是根据所有用户对物品的评分,找到相似的用户(项目),然后根据用户(项目)相似性来进行推荐.
基于模型的CF方法[9-10]的主要思想是使用所有收集的评级来学习模型,然后使用该模型进行评分预测. 常用的基于模型的CF方法包括贝叶斯模型[9]、最大熵模型[10]、矩阵分解模型[11-12]、线性回归模型[13]和概率关系模型[14]等. 其中,矩阵分解模型是应用最广泛的方法[15],主要通过学习用户与用户、项目与项目之间的关系来自动获得用户、项目的隐属性,相当于把用户-项目评分矩阵分解为用户隐属性矩阵和项目隐属性矩阵,然后通过用户隐属性向量与项目隐属性向量进行点乘来得到该用户对项目的评分,并依此进行推荐. 本文中NeuMF-RS的线性通道便是利用矩阵分解模型完成的. 这样不仅可以学习到餐馆类别和地址的潜在特征,还可以学习到餐馆类别与地址的固有属性. 最重要的是,本文的NeuMF-RS在矩阵分解的基础上融入了深度学习的方法,可以非线性地刻画餐馆类别对地址的偏好,很大程度上提高了推荐的准确性.
1.2. 基于深度学习的推荐方法
在推荐系统中一般有几种使用深度学习的方法[19]:无监督的学习方法;利用深度学习来预测CF所产生的潜在特征;使用深度学习的方法将学习到的特征作为辅助信息. 例如Ma[19]将深度学习作为一种无监督的学习方法,并通过处理电影海报数据来学习电影之间的相似性. 通常更多的是利用深度学习来对辅助信息建模,比如项目的文字描述[18]、跨域行为的用户[17]以及丰富的知识库[8],然后将深度学习学到的特征与CF的矩阵分解技术相结合. 本文则是利用深度学习来预测CF产生的潜在特征. Xue等[20]提出了一种使用深度神经网络将用户和项目映射到共同低维空间的矩阵分解方法,使用深度学习的方法同时对用户和项目建模,将学习到的用户与项目的潜在向量利用矩阵分解的方式结合得到最终的评分. 与本文直接相关的是He等[8]提出的NCF(neural collaborative filtering),该方法使用深度学习对用户-项目交互矩阵直接建模,完全取代了基于矩阵分解,或将矩阵分解作为通用模型特例用于生成用户和项目潜在特征的方法. 本文的NeuMF-RS在NCF的基础上,考虑到餐馆类别与地址的固有属性而添加了偏置项. NeuMF-RS使用深度学习表示用户、项目的潜在向量,可以线性、非线性双通道、独立地刻画用户对项目的偏好,使得整个模型的灵活性好、准确性高. 虽然本文与深度矩阵分解(deep matrix factorization,DMF)均是使用双通道结构和MLP和MF相结合的方法,但是DMF本质上仍是利用MF线性表达用户对项目的偏好,只是使用MLP的方法来描述了用户与项目的潜在表示;而NeuMF-RS则是利用MF和MLP同时描述用户和项目之间的关系,以此刻画用户对项目的偏好.
2. 采用神经协同过滤的商业选址推荐
2.1. 神经协同过滤
NCF是神经协同过滤方法的一个实例,采用双通道结构将MF与MLP相结合,并允许其学习不同的嵌入式组合,如图1所示.
图 1
输入层包括一个用户u和一个项目i,利用one-hot编码转化为二值化稀疏向量
在神经协同过滤层,从线性与非线性的角度分别对用户-项目建模,最后结合这2个模型的隐藏层的输出作为最后的输出结果.
此过程形式上可以描述为
式中:
接下来学习模型参数. 一般来说,对于显性反馈使用均方根误差损失,而对于隐性反馈则使用交叉熵损失[21]. 此模型是针对隐性反馈建立的,所以,选择交叉熵损失函数(式(4))来学习模型参数,得到最终的预测评分矩阵,以便于进行推荐:
式中:γ为交互矩阵中观察到的项,γ−为消极实例,可将未观察的全体样本视为消极实例,也可以采取抽样的方式将其标记为消极实例.
2.2. NCF应用于餐馆地址推荐
NCF方法是一个通用的推荐方法,对用户-项目交互矩阵进行直接建模,完全取代了基于MF,或将MF作为通用模型特例用于生成用户和项目的潜在特征的方法. 与最先进的MF方法(如eALS和BPR)和基准方法(如ItemPop和ItemKNN)在MovieLens和Pinterest数据集进行比较,结果表明了NCF的显著效果. 本节利用该方法进行餐馆类别地址的推荐.
地址块内存在某餐馆或者地址块内不存在某餐馆的现象可以视为餐馆类别与地址的交互. 若M和N分别表示餐馆类别和地址的数量,定义餐馆类别-地址交互矩阵
3. 改进的神经协同过滤商业选址方法
考虑到餐馆类别与地址的固有属性,本文在NCF的基础上加以改进,得到商业选址方法—NeuMF-RS. 本章首先介绍基于神经协同过滤进行商业选址的一般框架,主要介绍改进的推荐方法—NeuMF-RS.
3.1. 商业选址框架
从推荐系统的角度,基于神经协同过滤的商业选址的框架如图2所示.
图 2
图 2 基于神经协同过滤的商业选址框架
Fig.2 Framework of commercial site recommendation based on neural collaborative filtering
1)数据:此层是数据源层,是指从爬取的原始餐馆和POI数据,经过经纬度匹配,得到如式(5)所示的餐馆类别与地址的交互数据.
2)方法:此层是研究中最核心的一部分,指出了本文为餐馆类别推荐地址所用的方法,可以形式化为
式中:
由于评分二值化,选择交叉熵损失函数(式(4))来学习模型参数,然后得到最终的预测评分矩阵.
3)推荐:对某餐馆类别的所有地址进行评分,并据此推荐Top-N个地址.
3.2. 推荐算法—NeuMF-RS
本文方法是在NCF的基础上设计的,主要是考虑到餐馆类别、地址的固有属性. 有的餐馆类别很广泛,普遍存在;而有的餐馆类别仅是出现在繁华地区。对于地址块,有的地址属于重要位置,此地址块内餐馆较多,但有的地址则比较偏僻,餐馆数量与种类较少. 因此,本文添加餐馆类别与地址的偏置来提高推荐的准确性,推荐算法如图3所示.
图 3
图 3 基于神经协同过滤改进的NCF-RS模型
Fig.3 NCF-RS model based on neural collaboative filtering
使用pu和qi分别作为嵌入层输出的值
式中:bu为餐馆类别的偏置,bi为地址的偏置,
本文基于keras①实现了NeuMF-RS,并选用自适应矩估计(Adam)[16]的方法来优化目标函数(式(4)). 模型优化之后,参数确定,可以用训练好的模型预测每个餐馆类别对所有地址的预测评分,据此评分可以为每个餐馆类别推荐地址.
① https://keras.io/.
算法一中给出了NeuMF-RS算法的伪代码,包括训练、测试与预测阶段.
算法一:NeuMF-RS算法
输入:餐馆类别与地址的交互矩阵
输出:餐馆类别与地址的预测评分矩阵
1) %训练模型
2) 初始化模型参数;
3)利用式(8)、(2)、(9)计算训练集中每个实例的预测评分值;
4) 通过最小化(4)优化模型的参数;
5) %测试模型
6) 利用训练的模型预测测试集的预测评分,评估推荐的性能,并记录最好的推荐性能时模型的参数;
7) %预测
8) 利用记录的模型参数得到餐馆类别与地址的预测评分矩阵;
9) 结束
4. 实验验证
4.1. 实验数据
本文研究使用神经协同过滤的方法为餐馆类别推荐地址,需要大量的餐馆数据. 从图4上可以看到北京餐馆分布广泛、数量极大,因此,本文选择大众点评网②上的北京餐馆数据进行爬取,获得11 653条数据. 接着,利用高德地图API③爬取了北京市的地址块POI信息. 当划分地址块时,若将区域划分为较大块,则餐馆类别与地址的交互较多,数据稀疏性小,从而推荐系统的准确性较高,但是推荐的目标地址不明确,需要进一步确定具体地址. 然而若将区域划分为较小块,则数据稀疏性大,推荐系统的准确性较低。因此,本文最终选择1 000 m×1 000 m的区域作为一个地址块的大小.
② http://www.dianping.com/.
③ http://lbs.amap.com/api/javascript-api/summary/.
图 4
本文将餐馆类别与地址块交互个数大于20个的地址块保留,以防止数据稀疏性大,因此最终的数据包括35种餐馆类别、1 270个地址块,餐馆类别与地址块的之间有9 625次交互,餐馆类别与地址块的矩阵稀疏度为88.53%.
4.2. 基准方法
为了评估改进的NeuMF-RS方法的推荐性能,将其与以下推荐方法进行比较:
1)Item-KNN[13]是基于项目的CF方法,通过不同方法计算项目相似度并获取推荐列表.
2)NeuMF-RS-SVD为NeuMF-RS方法中的SVD部分,即NeuMF-RS中的线性部分.
3)SVD[12]考虑了偏置项的MF,利用均方损失函数来进行优化.
4)DMF[20]带有神经网络的深度MF模型,将用户和项目利用深度神经网络分别映射到相同的低维空间,通过计算相似度来进行预测评分.
5)NCF[8]提出了一个GMF与MLP的双通道混合模型. 线性和非线性独立的建模、用户与项目独立的嵌入,均使得推荐的模型更加灵活,性能更加稳健、卓越. 详见第2.1节.
4.3. 实验设置
为了评估项目推荐的性能,本文采用leave-one-out[8]方法评估,即:对于每一个餐馆类别,随机选择一次交互作为测试集,并将其余的作为训练集. 由于每个餐馆类别的地址选项太多,随机选择100个不与餐馆类别交互的地址,并将要测试的地址排列在这100个地址中.
在参数设置方面,首先用高斯分布(平均值为0,标准偏差为0.01)随机初始化模型参数,然后使用Adam来学习NeuMF-RS模型的参数. 分别测试MLP层的层数[0,1,2,3,4],学习率[0.001,0.005,0.01,0.05,0.1],梯度批次[32,64,128,256,512],采样率[4,8,16,32,64]和平衡因子[0.2,0.4,0.5,0.6,0.8]. 实验结果表明:当MLP层数为3层,学习率为0.005,梯度批次为512,采样率为32,平衡因子为0.5时,推荐的性能最佳.
4.4. 实验结果
图 5
图 5 推荐性能HR@10随潜在因子的变化
Fig.5 Recommendation performance of HR@10 varies with predictive factors
图 6
图 6 推荐性能NDCG@10随潜在因子的变化
Fig.6 Recommendation performance of NDCG@10 varies with predictive factors
总体来看,改进的NeuMF-RS方法对于餐馆类别的地址推荐效果更优、性能更好. 对于Item-KNN,本文测试不同的相邻尺寸作为潜在因素并报告最佳性能. 与最相近的NCF方法相比,改进的NeuMF-RS方法添加了餐馆类别与地址的偏置,推荐性能更优,虽然,从图5可知,当K=10时,NeuMF方法推荐性能更好,但是这已经是该方法的最优性能,而此时NeuMF-RS方法还没有达到其最优性能. 此外,当K=20时,虽然HR@10与NDCG@10尚未达到最高,仍然会随着潜在因子K的变大而变大,但是它增加的幅度较小,消耗的训练时间长. 因此,本文选择K=20作为餐馆类别地址推荐系统的潜在因子.
图 7
图 7 推荐性能HR随推荐列表长度的变化
Fig.7 Recommendation performance of HR varies with length of recommendation list
图 8
图 8 推荐性能NDCG随推荐列表长度的变化
Fig.8 Recommendation performance of NDCG varies with length of recommendation list
5. 结 论
本文基于神经协同过滤方法提出了新的用于商业选址的神经协同过滤方法NeuMF-RS,将深度学习应用于选址推荐,解决了餐馆类别与地址块固有属性的问题. 在真实数据集上的验证结果表明:NeuMF-RS明显优于其他的选址推荐方法,表明NeuMF-RS用于商业选址推荐的可行性与有效性. 但NeuMF-RS存在冷启动的问题,即只能在历史的地址块上进行推荐,并不能评估其他新的地址块,因此后续研究将考虑添加餐馆类别的特征、地址块的特征来得到类别与地址块的表示,从而解决冷启动的问题,提高推荐的准确度.
参考文献
The retail site location decision process using GIS and the analytical hierarchy process
[J].DOI:10.1016/j.apgeog.2013.03.005 [本文引用: 1]
CityTransfer: Transferring Inter-and Intra-City knowledge for chain store site recommendation based on multi-source urban data
[J].
Deep learning based recommender system: a survey and new perspectives
[J].
A maximum entropy approach for collaborative filtering
[J].DOI:10.1023/B:VLSI.0000027485.11890.15 [本文引用: 2]
Matrix factorization techniques for recommender systems
[J].DOI:10.1109/MC.2009.263 [本文引用: 1]
Collaborative filtering beyond the user-item matrix: A survey of the state of the art and future challenges
[J].
/
〈 |
|
〉 |
