
《移动商务》课程论文
题 目:
院 (系): 商 学 院
专 业: 电 子 商 务
学生姓名:
学 号:
授课老师: 刘 贤 锋
| 评价内容 | 满分 | 得分 |
| 格式规范,满足字数规定要求 | 10分 | |
| 思路清晰,层次结构分明,紧扣主题 ,无抄袭 | 30分 | |
| 论文有新意,有自己的观点和支撑理由 | 30分 | |
| 观点展开具有合理性和科学性 | 30分 | |
| 总分 | 100分 |
刘贤锋,李淑明
(桂林电子科技大学商学院 广西 桂林 541004)
摘要:针对数据稀疏性问题,提出基于蚁群聚类的项目评分预测方法,在对Web日志分析基础上将用户聚类,针对目标用户的未评分项目,找到目标用户的若干最近邻类簇,利用类簇内其他用户对目标项目的评分预测未评分项目的评分,从而达到降低数据稀疏性目的。最后,结合协同过滤思想设计了相应的推荐算法,并用从自主开发的旅游电子商务网站上收集的数据进行试验仿真。实验结果表明,与其它缓解数据稀疏性的方法相比,文中的方法显著提高了推荐精度。
关键词:电子商务;蚁群聚类;评分预测;推荐算法
0.引言
近年来,电子商务的发展与应用使得互联网商品信息量以指数增长。这虽拓展了消费者的商品选择空间,方便了网络购物,但也使消费者陷入“信息迷航”的困境之中,增加了筛选满意商品的时间和精力成本。为了降低过量商品信息给消费者带来的困扰,减少消费者的购买成本,提高消费者对网站的忠诚度,国内外学者提出了多种信息过滤技术。其中,推荐系统作为一种典型的信息过滤技术,受到了企业界和学术界的广泛关注。推荐算法作为推荐系统的核心,它的性能直接影响推荐质量。目前,主要的推荐算法有协同过滤推荐算法、基于关联规则的推荐算法和基于内容的推荐算法[1]。其中以协同过滤推荐算法的研究和应用最为广泛,它是依据最近邻居用户对商品的偏好预测目标用户对未购买或浏览商品的偏好,并为其筛选偏好程度较高的若干商品。因该算法的简洁和高效性而被应用于各类电子商务系统中,如Amazon.com、CDNow.com、eBay.com、Drugstore和MovieFinder等。
协同过滤推荐算法是以用户对项目的评分数据为依据,但随着电子商务系统规模的扩张及用户和项目数的持续增长,算法的推荐精度受到评分数据稀疏性的制约,因为在数据极端稀疏情况下难以精确找到目标用户的最近邻居集[2]。为了缓解数据稀疏性,国内外研究者提出了多种措施。最常用的方法是给缺省值赋予固定值或平均值,以增加共同评分的项目数,但是该方法忽略了不同用户对项目偏好的异质性[3]。其次是结合奇异值分解和用户特征降低评分数据空间维度以提高评分密度[4],或者利用主成分分析法处理评分数据集中的缺省值[5],不过这些方法极易导致数据丢失。为此,可以通过计算项目的相似性评估缺省值[6],但仍采用传统的度量方法计算项目相似性,评估不够精确。因为在数据极端稀疏时,对同一项目共同评分的用户数极为稀少。因此,可以在计算项目相似性时同时考虑项目评分相似性和项目属性特征相似性[7],或者使用双向关联规则找到目标项目空间上相关联的项目集,利用用户对其它项目的评分对目标项目进行评分预测[8]。然而,上述方法均未能彻底解决稀疏性问题,于是,基于影响集[9]和云模型[10]的推荐方法应运而生,前者利用当前对象的影响集来提高项目的评分密度,后者在知识层面比较用户偏好相似性以解决稀疏性问题。
这些方法虽在一定程度上降低了数据稀疏性,提高了推荐精度,但仍存在以下不足:①以项目为主体,在计算项目相似性基础上构建缺失值填充模型,忽略了用户的主体地位;②对未评分项目的评分预测时,将所有的邻居项目评分平等对待,忽略了不同用户在不同时间的项目评分对目标项目的影响。对此,本文提出基于蚁群聚类的项目评分预测方法,利用蚁群聚类算法对记录用户浏览行为的Web日志进行分析,将偏好相似的用户聚为一类,针对目标用户的未评分项目,首先找到与目标用户偏好相似的若干类簇,根据类簇内不同用户对项目评分的时间给评分赋予不同权重,在此基础上预测未评分项目的评分,达到降低数据稀疏性目的,最后结合协同过滤思想设计了相应的推荐算法。
1. 蚁群聚类基本原理
蚁群聚类源于对蚂蚁尸体堆积和蚁卵分类的研究[11]。核心思想是将待聚类对象随机分布在二维网格上,用蚂蚁测量当前对象在局部环境内的群体相似度,并通过概率转换函数将相似度转换成拾起、移动或放下的概率,经过多次迭代过程,相似的数据对象便可聚为一类。
设时刻某只蚂蚁在地点处发现数据对象,对象与其邻域内对象的平均相似度表示为:
(1)
其中,为相似度参数,为蚂蚁的移动速度,为该蚂蚁的最大移动速度,为地点处以为边长的正方形区域,为数据对象和的空间距离。常用的距离度量方法有欧氏距离和余弦函数法,其中以余弦函数法最为常用,本文采用余弦函数法度量:
(2)
为数据对象和的相似度,用两个对象的属性向量余弦夹角相似度度量,即
(3)
为对象的属性数,为对象的第个属性值。数据对象越相似,则的值越趋近于1,反之则趋近于0。
聚类过程中,蚂蚁总是拾起与邻域最不相似的点,并将其放在与邻域节点最为相似的方格中,拾起与丢弃的概率由概率转换函数决定,可由的函数得到,即:
(4)
(5)
其中,、分别为拾起和丢弃概率,、为阈值常量,越大则小,越大,反之亦然。
2. 基于蚁群聚类项目评分预测的推荐算法
2.1用户聚类生成
为了便于用户聚类,首先使用数据过滤、用户识别、会话识别和路径补充等技术对收集的Web日志文件进行预处理,删掉噪声数据,转换为便于进行聚类的规范化数据存储格式。考虑到用户可能在不同时间点对网站及商品多次访问,为了方便计算,将同一用户的多次访问会话进行合并,构造关系型事务数据库。设电子商务网站所有商品构成的集合为,则构造的用户对商品的浏览事务数据库为,唯一标识一个用户,为用户对商品的总浏览频率,为该用户所浏览的商品总数。
目前,研究和应用较多的聚类算法有均值聚类算法、矢量空间聚类算法、神经网络和模糊聚类算法等[11],由于这些算法的聚类结果过度依赖数据元素的初始排列或输入次序,需手工指定聚类中心及数量,并且聚类过程是不可逆的,因此难以适应复杂群体聚类[12]。蚁群聚类算法有效的克服了上述缺陷,聚类过程可视化,聚类数量在聚类过程自动生成,并具有较好的抗噪声数据能力,能够实现完全分布式控制,自组织性、可扩展性和健壮性均优于传统的聚类算法。因此,本文使用蚁群聚类算法对用户进行聚类。根据蚁群聚类思想,首先将所有用户随机散列在二维空间网格中,利用公式(1)︿(5)在构造的关系数据库上实施用户聚类过程,经过多次迭代便可将相似用户聚为一类,并输出聚类结果和数量,记为,为聚类个数。
2.2项目评分预测
为了能够初步预测用户对未评分项目的评分,首先找到与目标用户最为相似的邻居类簇,利用类簇内其他用户对项目的评分初步评估目标用户对未评分项目的评分,以达到降低数据稀疏性目的。具体过程描述如下。
● 根据类簇密度及目标用户与类簇的相似度选择若干个邻居类簇,类簇是否被选择由公式(6)给出[13]。
(6)
其中,为类簇是否被选择的概率,如果大于阈值则选择,否则则弃之,为类簇总数。为目标用户与类簇的相似性,由用户与聚类中心的距离度量,即:
(7)
表示项目总数,为聚类中心,为聚类中心用户对项目的评分,为用户对项目的评分。为类簇的密度,表示为:
(8)
式中,为类簇内的用户数,为电子商务系统中的用户总数。
● 设目标用户,项目空间中未评分项目集合为,已评分项目集合为,则。设目标用户的最近邻类簇集合为,表示选择的最近邻类簇个数,并且。对于目标项目,邻居类簇内对项目评分过的用户集合为表示,则评估用户对目标项目的评分方法为:
(9)
其中,为用户与类簇内用户的相似程度,可由公式(3)求得,为用户对目标项目的评分,表示用户的评分对目标项目的影响权重,为用户对项目的评分时间距当前时间的差,最新的用户评分具有较大的权重。
● 经过上述处理,用户—项目评分数据库中的大多数项目均有一个评分值,即用户对项目的评分可转换为[14]:
(10)
2.3 产生推荐结果
在经项目评分预测之后的数据集上,结合协同过滤思想为用户提供推荐服务,具体推荐过程描述如下:
● 利用Pearson相关性度量方法计算用户间的偏好相似性,计算方法如下:
(11)
其中,表示经用户和共同评分的项目集,表示用户对项目的评分,表示用户对所有商品兴趣度的平均值。
● 根据计算的相似性找到目标用户的最近邻居集合,其中且。
● 根据目标用户的最近邻居对项目的评分预测用户未评分项目的值,并选择分值较高的个项目推荐给目标用户,计算方法如下:
(12)
和表示目标用户和邻居用户对项目的平均评分,表示目标用户与邻居用户对项目评分的相似度,表示邻居用户对项目的评分。
3.实验仿真与结果分析
本实验在PC机(Pentium T4400,CPU 2.2HZ,内存2G),Windows XP操作系统平台上进行,使用C#程序设计语言在Microsoft Visual Studio 2008开发环境下编程算法程序。
3.1 实验数据
本文以从自主开发的旅游电子商务网站(http://www.youdaike.com)上收集的数据为例进行实验仿真。该网站主要提供旅游产品服务,包括景区门票预订、旅游线路预订和车辆出租预订等,主要以高校大学生为服务对象,本文将每件服务视为一件商品。选取2011年10月6日—2011年11月6日,共一个月的Web日志以及用户对商品的评分数据进行分析。首先使用数据清洗技术,对Web日志文件进行清洗,删除与商品无关的日志记录,并统计每个用户对商品的浏览频率。另外,为了排除个别用户的偶然浏览行为,仅保留单次会话期对商品浏览数大于10的用户,最后得到1331条实验数据,共包含95个IP用户和67件商品的访问记录,最后根据IP对数据集中的会话合并,并保存到易于聚类的关系型数据库中。由于网站的设计上要求用户从四个不同方面对商品进行评分,因此,为了便于实验,将用户对商品的平均评分作为其对该商品的分值,最后得到1135条用户评分数据,包含105个用户对132件商品的评分,评分数据的稀疏性为,可见评分数据极为稀疏。
为了便于实验比较,将评分数据进一步划分为训练集和测试集,对此,引入变量,表示训练集占整个数据集的百分比。比如,表示数据集中80%的评分数据作为训练集,20%评分数据作为测试集。在本实验中,将设为0.8。
3.2评价标准
目前,在推荐算法的推荐质量评价标准中,最常用的是平均绝对差(MAE)[8],它是通过计算预测的用户对项目评分与用户对该项目的真实评分之间的偏差来度量算法预测的准确性,MAE越小,预测的越精确,推荐精度也越高。假设利用我们的算法预测用户对个项目的评分为,用户真实评分为,则平均绝对偏差可描述为:
(6)
3.3实验过程与结果分析
本文将实验过程分为用户聚类、评分预测和推荐三个阶段。鉴于蚁群聚类算法涉及多个参数,因此,实验首先逐渐调整不同参数的取值进行用户聚类,以选择合适的参数为后续实验奠定坚实的基础。通过多次实验发现,当、、、、时,取得较好的聚类效果。根据输出的聚类结果,将阈值设为0.5,利用本文提出的方法对评分数据集中的缺失值预测,最后在处理后的数据集上实施推荐过程。
为了验证本文提出基于蚁群聚类项目评分预测推荐算法(ACR-Based CF)的有效性,分别与传统的推荐算法(CF)、基于项目评分预测的推荐算法(IR-Based CF)、基于奇异值分解的推荐算法(SVD-Based CF)、进行比较。选取的邻居个数从4逐渐增加到20,间隔为4,实验结果如图1所示。
图1算法推荐精度比较
由图1可知,随着选取最近邻个数的增加,无论是传统的还是文中提出的推荐算法的平均绝对差(MAE)均不同程度的降低,推荐质量不断提高。在选取的最近邻居数相同情况下,本文提出的基于蚁群聚类项目评分预测的推荐算法(ACR-Based CF)的平均绝对差(MAE)明显小于传统的推荐算法,推荐精度显著提高,说明文中提出的算法显著由于传统的推荐算法。
4.结论与展望
推荐技术作为解决当前电子商务环境下商品信息过载问题的有效手段之一,受到了企业界和学术界的广泛关注。然而,随着电子商务系统规模的扩展,用户数和项目数量的急剧增长导致用户评分数据的稀疏性。虽然国内外研究者提出了多种缓解稀疏性的方法,但仍存在诸多缺陷。针对当前研究的不足,本文提出基于蚁群聚类项目评分预测的推荐算法,在对用户访问Web日志分析基础上,利用蚁群聚类算法对用户聚类,从用户相似性角度对未评分项目进行初步预测,最后结合协同过滤思想设计了相应的推荐算法。实验结果表明,本文提出的项目评分预测方法显著提高了商品推荐质量和精度。
本文的研究是从用户相似性角度对缺失值评估,进一步拓展了数据稀疏性研究思路,但仍存在不足之处,主要表现在:①在聚类时将用户的多个访问会话平等对待,忽略了不同会话期对用户相似性度量产生的影响;②仅依据用户对项目的评分时间设置权重,忽略了用户的相似性影响,理论上,与目标用户越相似且最新的项目评分应具有较大的权重;③实验数据来源网站日访问量不是很高,收集的数据量相对较少,有待在大规模数据集上深入检验本文方法的有效性。针对这些不足之处,作者将继续对其展开深入的研究。
参考文献
[1]Kim BM, Li Q, Park CS, et al. A new approach for combing content-based and collaborative filters[J]. Journal of Intelligent Information Systems,2006,27(1):79-91.
[2]Panagiotis S, Alexandros N, Apostolos N,et al.Collaborative recommender systems: Combining effectiveness and efficiency[J]. Expert Systems with Applications, 2008,34:2995-3013.
[3]Garcia I, Sebastia L, Onaindia E. On the design of individual and group recommender systems for tourism[J]. Expert Systems with Applications, 2011,38(6):7683-7692.
[4]Vozalis MG, Margaritis GM. Using SVD and demographic data for the enhancement of generalized Collaborative Filtering[J].Information Sciences,2007,117(15):3017-3037.
[5]Lee TQ, Park Y, Park YT. A time-based approach to effective recommender systems using implicit feedback[J]. Expert Systems with Applications,2008,34(4):3055-3062.
[6]邓爱林,朱扬勇,施伯乐.基于项目评分预测的协同过滤推荐算法[J].软件学报,2003,14(9):1621-1628.
[7]张忠平,郭献丽.一种优化的基于项目评分预测的协同过滤推荐算法[J].计算机应用研究,2008,25(9):2658-2683.
[8]刘枚莲,刘同存,张峰.基于双向关联规则项目评分预测的推荐算法研究[J].武汉理工大学学报,2011,33(9):150-155.
[9]陈健,印鉴.基于影响集的协作过滤推荐算法[J].软件学报,2007,18(7):1685-1694.
[10]张光卫,李德毅,,康建初,陈桂生.基于云模型的协同过滤推荐算法[J].软件学报,2007,18(10):2403-2411.
[11]Yang Y, Kamel MS. An aggregated clustering approach using multi-ant colonies algorithms[J]. Pattern Recognition, 2006,39(7):1278-12.
[12]徐选华, 范永峰.改进的蚁群聚类算法及在多属性大群体决策中的应用[J].系统工程与电子技术,2011,33(2):346-349.
[13]Shinde SK, Kulkarni U. Hybrid ersonalized recommender system using centering-bunching based clustering algorithm[J]. Expert Systems with Applications, 2012, 39(1):1381-1387.
[14]刘枚莲,刘同存,李小龙.基于用户兴趣特征提取的推荐算法研究[J].计算机应用研究,2011,28(5):16-1667.
