CN111475744A - 一种基于集成学习的个性化位置推荐方法 - Google Patents
一种基于集成学习的个性化位置推荐方法 Download PDFInfo
- Publication number
- CN111475744A CN111475744A CN202010257793.0A CN202010257793A CN111475744A CN 111475744 A CN111475744 A CN 111475744A CN 202010257793 A CN202010257793 A CN 202010257793A CN 111475744 A CN111475744 A CN 111475744A
- Authority
- CN
- China
- Prior art keywords
- recommendation
- sub
- algorithm
- addresses
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000011156 evaluation Methods 0.000 claims abstract description 75
- 238000012549 training Methods 0.000 claims abstract description 59
- 230000010354 integration Effects 0.000 claims abstract description 24
- 239000011159 matrix material Substances 0.000 claims abstract description 14
- 238000004364 calculation method Methods 0.000 claims description 35
- 238000005516 engineering process Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 2
- 101150075118 sub1 gene Proteins 0.000 claims description 2
- JHGSLSLUFMZUMK-UHFFFAOYSA-N [2-hydroxy-2-(4-hydroxyphenyl)ethyl]-[4-(4-hydroxyphenyl)butan-2-yl]azanium;chloride Chemical compound Cl.C=1C=C(O)C=CC=1C(O)CNC(C)CCC1=CC=C(O)C=C1 JHGSLSLUFMZUMK-UHFFFAOYSA-N 0.000 claims 1
- 238000012163 sequencing technique Methods 0.000 claims 1
- 238000001914 filtration Methods 0.000 description 16
- 230000006399 behavior Effects 0.000 description 6
- 238000011160 research Methods 0.000 description 6
- 230000004927 fusion Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- YOETUEMZNOLGDB-UHFFFAOYSA-N 2-methylpropyl carbonochloridate Chemical compound CC(C)COC(Cl)=O YOETUEMZNOLGDB-UHFFFAOYSA-N 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000007499 fusion processing Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于集成学习的个性化位置推荐方法,该方法包括:第一步、将签到数据集转换成评分矩阵;第二步、选择若干个推荐子算法,将活跃用户访问过的地址划分为训练子数据集和评估子数据集。利用训练子数据集,各子算法为评估数据集中的地址和未访问过的地址计算预评分;第三步、利用评估数据集,计算各子模型的推荐精度F1,生成精度权重值集合;第四步、选择信息增益IG为稳定性指标,评估各子模型的稳定性,计算稳定性权重值集合;第五步、为活跃用户计算最终的总加权系数。集成模型将各子算法对未访问地址的预评分按总加权系数融合,生成最终预测评分;第六步、评估本发明提出的方法与集成前各子算法的综合性能,评价本发明的有效性。
Description
技术领域
本发明涉及社交网络中一种基于集成学习的个性化位置推荐方法,属于人工智能与机器学习技术领域。
背景技术
基于位置的社交网络(Location-based Social Networks,LBSNs)是在线社交网络(Online Social Network)与位置服务(Location-based Service)逐渐融合并发展的产物,为线上的虚拟网络与线下的真实世界提供了紧密联系的平台。近年来,随着移动设备的广泛普及和定位技术的快速发展,一大批基于位置的社交网络迅速兴起。在LBSNs中,用户之间可以建立复杂的社交关系,如朋友关系、同事关系、亲戚关系等。用户还可以利用社交网络中添加的地理信息查看一些感兴趣的地点(points-of-interest,POIs),如餐厅,商店,电影院等,并在访问兴趣点时利用移动设备进行签到,发布其地理位置信息,分享他们的建议和评论。LBSNs帮助商家进一步了解网络背后真实的用户,从而“投其所好”地为不同用户定制符合其需求的个性化服务。
随着在LBSNs中注册的用户数量越来越多,LBSNs存储并积累了丰富的可利用信息,这些海量的信息使得用户不能在有限的时间内快速有效地找到自己需要的信息。因此,致力于解决“信息过载”问题的推荐***受到了越来越多研究人员的关注。如著名的Amazon公司运用推荐***给用户推荐商品,为商家提高了点击率和营业额;电影推荐网站Netflix通过举办推荐***大赛吸引了众多研究团队致力于提高推荐准确度的研究。作为一种特殊的信息过滤***,推荐***不需要用户主动提供确定的关键词信息,而是通过分析用户已有的历史行为,对用户的兴趣爱好进行建模,挖掘用户的潜在偏好,进而主动给用户推荐符合其需求的商品、服务等。基于大量的用户信息、好友信息、位置信息,研究人员面向LBSNs实现了一些诸如好友推荐、专家发现、位置推荐、活动推荐、路径推荐等应用。其中,位置推荐的研究是目前该领域的一个研究热点。
推荐算法是推荐***的主要技术构成,算法效率的高低很大程度上决定了推荐***的运行效率与推荐结果的准确性。根据设计策略,推荐算法主要包括协同过滤算法、基于内容的推荐算法和混合推荐算法,其中,协同过滤算法又包括基于记忆的协同过滤算法(如基于用户的协同过滤(UBCF)、基于项目的协同过滤(IBCF))和基于模型的协同过滤算法(如奇异值分解(SVD)、聚类模型、概率潜在语义分析(PLSA))。在基于内容的位置推荐中,可从位置中提取许多特性,比如标签、分类和用户评论。从用户的配置文件中提取用户的偏好,然后与位置配置文件匹配,以获得准确的推荐。UBCF算法将用户的签到行为转换为用户-位置评分矩阵,利用数据集的信息找到当前活跃用户的相似用户,利用他们的兴趣偏好,预测活跃用户对未签到地点的评分,预测评分最高的位置会被推荐给当前用户。IBCF算法则是基于这样一个假设:用户总是偏向与他之前喜欢的项目高度相似的地址。因此IBCF算法首先计算位置之间的相似度,并将与用户的POIs最为相似(预测评分最高)的地址推荐给活跃用户。SVD算法是矩阵分解的经典代表,其主要任务是生成低秩近似。用SVD算法分解后的低维正交矩阵在原始矩阵的基础上降低了噪音,且可以更有效地揭示用户和商品的潜在关联。在SVD算法中,项目之间存在一些共有的特征,用户喜欢某一项目是因为他们对这些特征的评分较高,通过将用户的评分用线性代数方法分解为一些特征,就可以根据用户对这些特征的喜好程度来预测用户对未访问地址的喜好。
以上传统推荐技术既没有考虑到位置的地理特征影响,也没有利用用户之间的社交关系。然而,位置推荐***中的每个位置都具有用经纬度标识的地理特征,并且POIs的地理特征会对用户的访问偏好产生重要的影响。此外,用户社交关系也会影响到用户的签到行为,当用户不确定自己想去的地点时,往往会参考社交网络中朋友的历史访问记录。因此,在设计位置推荐算法时,需要着重考虑情境方面的因素,挖掘位置地理特征并利用用户之间的社交关系。
基于社会化的协同过滤(Social-based Collaborative Filtering,SCF)是同时考虑用户的个人偏好和社交关系的一种推荐方法,其基于的假设是朋友之间都会有相同的兴趣偏好,并且容易相互影响,活跃用户更愿意通过朋友的经验来为自己做出决定。在SCF中,计算地址的预测评级时只需要考虑活跃用户的朋友的偏好。在计算活跃用户与他的朋友之间的相似度时,可以利用两者对已访问地点的历史评分,也可以利用用户居住地之间的地理距离,或者同时考虑他们友谊网络的交集和签到历史的相似度。此外,还有一些研究致力于挖掘位置的地理特征,部分技术采用矩阵因子分解的方法,更多的算法则是通过一个常见的概率分布来模拟地理影响,例如幂律分布、多中心高斯分布、核密度估计(KDE)等。其中,在利用KDE预测用户访问新位置的概率时,地理位置对每个用户的签到活动的影响是个性化的,构造了一个更有表现力的地理感知推荐***。
然而,当前的位置推荐技术大多都是单一的算法模型,由于所有的模型都是基于一定的理论假设,这就导致了每种算法都存在固有的缺陷,只在某一特定的应用场景才能发挥出色。例如,基于内容的位置推荐适合处理冷启动问题,但它需要大量的用户和地点的结构信息,这增加了***的存储和计算成本;UBCF和IBCF算法只考虑评级数据中的邻域效应,导致其虽然挖掘了用户偏好,但忽略了项目内容的特征,限制了推荐结果的多样性,更重要的是,CF算法不能为新项目或不活跃的用户提供有效推荐,即存在所谓的冷启动问题;SVD算法的计算复杂度高、运行速度慢,且推荐的准确性也有待提高。为了克服单一算法的局限性,一些研究者开始关注如何把少量几种评分预测方法组合为一个整体模型。集成学***均性能;能发现任何单个学习算法无法得到的结合解答;对于噪声和异常点,采样的变动更不敏感;能结合多个分布数据源或数据源的多个特征得到解答,而多个数据源或数据源的多个特征的结果融合在分布式数据挖掘中正变得越来越重要。集成学习技术的有效性使得其在生物特征识别、计算机辅助医疗诊断、文本识别、Web信息过滤等众多领域得到了广泛应用。
目前,已有一些推荐***将集成学习应用到个性化推荐问题中,增加了信息推荐的有效性和适应性。然而,相关研究证明,现有的基于集成学习的推荐***仍存在很多缺点和不足,归纳起来有以下几点:
(1)在融合的过程中,考虑的子算法的数量固定且种类有限,集成模型的可扩展性不强。目前热门的基于集成学习的位置推荐***大多数都只考虑了两种算法的融合,且子算法一般都是某一种协同过滤算法或位置访问概率估计,其应用场景和***性能的提升幅度受到一定的限制。现有的集成框架无法支持任意数量、任意种类的推荐子算法的融合。
(2)集成算法需要设定一些加权系数将各个子算法的预测结果融合成最终的预测评分,加权系数表示了各个子算法的重要性。已有算法的融合规则通常是加法或乘法或其他简单的线性组合,其加权系数对所有用户都是一致的。然而,在现实世界中,由于每个用户、每个项目的特征不同,因此对于不同的用户来说,最优的子算法并不一致,即子算法中最能够挖掘和反映用户兴趣的算法因人而异。由此可见,有必要为每个用户量身定制一组权重系数,通过个性化加权的方式确保集成算法能够针对不同的用户“偏向”不同的子算法。
(3)为了增强用户的使用体验,一个好的推荐***应当具备健壮性这一特征。推荐***的健壮性包含准确性和稳定性两个不可或缺的因素。然而,目前的研究大多只专注于其中一个方面。实际上,预测的准确性决定了用户是否喜欢推荐的位置,***的稳定性则反映了推荐***是否在各种应用场景中都能够产生一致的推荐项。忽略了其中的任意一个方面都会影响用户的粘性,降低服务提供商的利润。
(4)目前为数不多的稳定性研究几乎都将应用场景限定于恶意攻击,如某攻击者试图向用户推荐事先设定好的项目。然而,除了恶意攻击外,由于数据源限制(如稀疏性、冷启动)、不同的数据预处理方式和模型训练带来的不确定性也会导致推荐结果的不一致,影响***的稳定性。但在非恶意攻击场景下的***稳定性研究却几乎空白。
以上所述为现有基于集成学***台的设计、开发、部署与运行中带来较大弊端,尤其是在海量项目信息的网络平台上造成推荐***服务质量的下降,进而影响电子商务***的销售业绩。
发明内容
针对现有技术的不足,本发明以构建可扩展性强、推荐精度高、推荐结果稳定的位置推荐***为目标,提供了一种基于集成学习的个性化位置推荐方法,该方法***地给出了集成推荐算法的技术流程方案。同时,本发明以***论为理论依据,将健壮性评估体系作为推荐***一个必要的组成部分,在考虑推荐结果准确性的同时,还考虑到非恶意攻击下数据利用和用户行为的多样性特征,创新地提出使用信息增益作为***稳定性指标的评价模式,量化由数据源限制(如稀疏性、冷启动)、不同的数据预处理方式和模型训练带来的不确定性,提升推荐***输出结果的稳定性。此外,在集成模型中,对每个子模型实施个性化加权,为用户量身定制最符合其兴趣特征的集成推荐算法,进而强化了推荐***的服务质量。
本发明解决其技术问题所采取的技术方案是:本发明将活跃用户访问过的地址按一定的比例划分为训练子数据集和评估子数据集。选取若干个任意类型的推荐子算法,利用活跃用户训练子数据集中的历史评分信息,各子算法为活跃用户计算其他地址的预评分。对比评估子数据集中地址的历史评分和预评分信息,对各子算法进行准确性评估和稳定性评估,根据评估结果为活跃用户生成个性化加权系数。将各个子算法对未访问地址的预评分利用加权系数结合起来,生成集成模型对活跃用户未访问地址的最终预测评分,对所有未访问地址的预测评分进行排序,选择排名靠前的若干个地址推荐给活跃用户(如图1所示)。
本发明方法的具体流程包括:
步骤1,收集、整理原始的用户签到数据集C,将其转换成用户-位置评分矩阵R。
步骤2,选取基于位置的社交网络LBSN中某活跃用户ua作为推荐服务对象。选择任意类型、任意个数的推荐子算法A1,A2,…,An。将活跃用户访问过的地址按一定的比例划分为训练子数据集和评估子数据集。利用活跃用户训练子数据集的已访问信息,各推荐子模型为活跃用户未访问过的地址和评估子数据集中的地址计算预评分。
步骤3,选择推荐精度的评价指标F1为推荐准确度评估指标,对比评估子数据集中地址的真实评分以及预评分信息,评估各个子模型的推荐准确度。依据各推荐子模型的推荐精度指标F1值,为活跃用户ua计算精度权重值集合Wa。
步骤4,选择信息增益IG为***稳定性评估指标,对比评估子数据集中地址的真实评分以及预评分信息,评估各个子模型在非恶意攻击场景下的***稳定性。依据各推荐子模型的信息增益IG值,为活跃用户ua计算稳定性权重值集合Ga。
步骤5,综合考虑集成推荐***的健壮性,平衡推荐精度和***稳定两者之间的关系,在两组加权系数的基础上为活跃用户ua计算最终的总加权系数Ca。将各个推荐子模型对未访问地址的预评分按总加权系数Ca融合起来,生成集成模型对未访问地址的最终预测评分。对所有未访问地址按最终预测评分排序,为活跃用户提供排名靠前的若干个地址组成的推荐列表。
步骤6,使用精度指标和稳定性指标评价各推荐***的健壮性,重点对比本发明提出的基于集成学习的个性化位置推荐算法与集成前各子算法的综合性能,评价所提出技术的适用性和有效性。
有益效果:
1、本发明可扩展性强,支持任意类型、任意个数的推荐子算法进行融合。在实际应用中,本发明可以根据不同的应用场景、不同的数据特征选择合适的推荐子算法,在任意一个已有算法的基础上获得更高的推荐质量,提高基于位置社交网络中的用户粘性,帮助商家为用户精准推送广告,从而吸引更多的潜在消费者。
2、本发明通过分析每个用户不同的行为特征,为各个活跃用户量身定制一组权重系数,通过个性化加权的方式确保集成算法能够针对不同用户“偏向”最能够挖掘其兴趣的子算法。这种“因人而异、量身定制”的集成方式大大提高了用户对社交网络平台的使用满意度,也有助于其它机器学习问题的解决,对实际应用具有非常重要的意义。
3、本发明在融合的过程中,选择综合了准确率和召回率的推荐精度指标F1值作为推荐准确性的评估指标,确保了集成模型在推荐准确度上优于各个子模型,保证了推荐结果受用户的喜爱程度,实现了提高推荐算法预测准确性的目标。
4、本发明创新地使用信息增益作为推荐***稳定性的评估指标,充分考虑由数据源限制(如稀疏性、冷启动)、不同的数据预处理方式和模型训练带来的不确定性,能够对导致***不稳定的若干因素进行度量,保证了推荐***在非恶意攻击的场景下的***稳定性。
5、本发明综合考虑预测准确度和***稳定性,鲁棒地提升了推荐***的服务质量。该发明具有一定的普适性与移植性,不仅可以应用于位置推荐***,也适用于其他传统项目的个性化推荐领域,具有广阔的工业化应用前景。
6、本发明以构建可扩展性强、推荐精度高、推荐结果稳定的位置推荐***为目标,在考虑推荐结果准确性的同时,还考虑了数据利用和用户行为的多样性特征,创新地提出使用信息增益作为***稳定性指标的评价模式,量化由数据源限制(如稀疏性、冷启动)、不同的数据预处理方式和模型训练带来的不确定性,很好地提升了推荐***输出结果的稳定性。
附图说明
图1是本发明提出的基于集成学习的个性化位置推荐方法流程图。
图2是本发明提出的基于集成学习的个性化位置推荐方法的具体步骤流程图。
图3是本发明将原始的用户签到记录转换成用户-位置评分矩阵的步骤流程图。
图4是本发明实施案例中各推荐子算法运行100次(每次随机选择一组目标用户)后,其基于评估子数据集上的推荐精度指标F1的频率直方图。
图5是本发明实施案例中各推荐子算法运行100次(每次随机选择一组目标用户)后,其基于评估子数据集上的信息增益IG的频率直方图。
图6是本发明实施案例中集成模型运行100次后准确率的箱形图。
图7是本发明实施案例中集成模型运行100次后召回率的箱形图。
图8是本发明实施案例中集成模型运行100次后推荐精度指标F1的箱形图。
图9是本发明实施案例中集成模型与各子模型推荐精度指标F1对比的柱状图。
图10是本发明实施案例中集成模型与各子模型信息增益IG对比的柱状图。
具体实施方式
下面结合附图和具体实例,对本发明作进一步详细说明。
本发明设计和实现的具体流程如图2所示,过程中主要的变量、参数如表1。
表1 主要变量与参数的功能
第一步、收集、整理原始的用户签到数据集C,将其转换成用户-位置评分矩阵R,具体流程见图3,操作步骤如下:
(1.a)选择目标推荐***的用户签到数据集C。该数据集由U个用户对L个地址的历史签到记录组成,从每一条签到记录中提取出用户ID、地址ID、访问时间、地址经度、地址纬度等信息。
(1.b)将每条签到记录转换成三元组(ui,lj,nij),其中ui是第i个用户(1≤i≤U),lj是第j个项目(1≤j≤L),nij表示用户ui访问地址lj的次数。
(1.c)计算所有用户在位置lj的总访问次数NC_auj。
(1.d)计算用户ui访问过的位置总数NLCi。
(1.e)计算用户ui访问所有位置的总访问次数NC_ali。
(1.f)计算访问过位置lj的所有用户数量NUCj。
(1.g)将用户ui在地址lj的签到次数nij转换成用户ui对地址lj的评分rij,具体方法是:
其中,rij表示用户ui对地址lj的评分,nij表示用户ui在地址lj的签到次数,NC_auj表示所有用户在位置lj的总访问次数,L表示地址总数,NLCi表示用户ui访问过的位置总数,NC_ali表示用户ui访问所有位置的总访问次数,U表示用户总数,NUCj表示访问过位置lj的所有用户数量。
(1.h)将上述用户评分进行归一化操作,具体计算方法为:
其中,rij表示用户ui对地址lj的评分,min表示用户-位置评分矩阵R中所有评分的最低值,max表示所有评分的最高值。经过归一化操作后,用户ui对地址lj的评分rij被映射到[0,1]区间中,数值1表示用户访问该位置的频率很高,非常喜欢该位置;数值0表示用户从未访问过该位置,评分数值越高表示用户越喜欢该地址。
汇总所有的评分,形成用户-位置评分矩阵R={rij},i∈[1,U],j∈[1,L],其中i表示用户编号,j表示地址编号,U表示用户总数,L表示地址总数,rij表示用户ui对地址lj的评分。
第二步、选取LBSN中某活跃用户ua作为推荐服务对象。选择任意类型、任意个数的推荐子算法A1,A2,…,An,n为推荐子算法的个数。将活跃用户访问过的地址按一定的比例划分为训练子数据集和评估子数据集。利用活跃用户训练子数据集的已访问信息,各推荐子模型为活跃用户未访问过的地址和评估子数据集中的地址计算预评分。操作步骤如下:
(2.a)获取推荐***当前服务的某个活跃用户ua的信息。
(2.b)根据应用场景和数据特征,选择一组推荐算法A1,A2,…,An(n为推荐子算法的个数)作为本发明中集成模型的子算法,例如基于用户的协同过滤算法(UBCF)、基于项目的协同过滤算法(IBCF)、基于社会化的协同过滤(SCF)、核密度估计(KDE)、奇异值分解(SVD)、已有的其他集成算法等均可供选择。
(2.c)根据各推荐子算法的运算机制,对各算法进行模型训练,得到各推荐子模型M1,M2,…,Mn(n为推荐子算法的个数)。
(2.d)为所有活跃用户设定一个统一的地址划分比例p,将活跃用户ua访问过的地址按该比例划分为训练子数据集Sub1a和评估子数据集Sub2a。
(2.e)利用各推荐子模型M1,M2,…,Mn(n为推荐子算法的个数)以及活跃用户ua的训练子数据集Sub1a的信息,对未访问过的地址集NewLa和评估子数据集Sub2a中的地址lk(lk∈NewLa∪Sub2a)计算预评分,记为
第三步、选择推荐精度的评价指标F1为推荐准确度评估指标,对比评估子数据集Sub2a中地址的真实评分以及预评分信息,评估各个子模型的推荐准确度。依据各推荐子模型的推荐精度指标F1值,为活跃用户ua计算精度权重值集合Wa,实现步骤如下:
(3.a)将第二步中各推荐子算法用Ax(1≤x≤n)表示,n为推荐子算法的个数。收集各个子算法为活跃用户ua计算的预评分信息,将评估子数据集Sub2a中的所有地址按预评分进行排序,取排名前M的地址,生成训练列表TopMax集合。
(3.b)收集活跃用户ua对评估子数据集Sub2a中的所有地址的真实评分,将评估子数据集Sub2a中真实评分大于goodrating的地址放入集合偏好子数据集Prefera。
(3.c)计算各推荐子算法Ax的准确率Precision,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤n)表示某个推荐子算法(n为推荐子算法的个数),训练列表TopMax表示评估子数据集Sub2a中预评分最高的前M个地址的集合,偏好子数据集Prefera表示评估子数据集Sub2a中真实评分大于goodrating的地址集合,M表示训练列表TopMax集合中的地址个数。
(3.d)计算各推荐子算法Ax的召回率Recall,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤n)表示某个推荐子算法(n为推荐子算法的个数),训练列表TopMax表示评估子数据集Sub2a中预评分最高的前M个地址的集合,偏好子数据集Prefera表示评估子数据集Sub2a中真实评分大于goodrating的地址集合,M表示训练列表TopMax集合中的地址个数。
(3.e)计算各推荐子算法Ax的综合精度指标F1,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤n)表示某个推荐子算法(n为推荐子算法的个数),M表示训练列表TopMax集合中的地址个数,precision(ua,Ax,M)表示各推荐子算法Ax(1≤x≤n)的准确率,recall(ua,Ax,M)表示各推荐子算法Ax(1≤x≤n)的召回率。
(3.f)计算为活跃用户ua推荐时各推荐子算法Ax的精度权重值Wax(1≤x≤n),n为推荐子算法的个数,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤n)表示某个推荐子算法(n为推荐子算法的个数),M表示训练列表TopMax集合中的地址个数,F1(ua,Ax,M)表示各推荐子算法Ax(1≤x≤n)的推荐精度。
第四步、选择信息增益IG为***稳定性评估指标,对比评估子数据集中地址的真实评分以及预评分信息,评估各个子模型在非恶意攻击场景下的***稳定性。依据各推荐子模型的信息增益IG值,为活跃用户ua计算稳定性权重值集合Ga,实现步骤如下:
(4.a)计算评估子数据集Sub2a中的信息熵,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Sub2a表示将活跃用户ua访问过的地址按一定比例划分后得到的评估子数据集,偏好子数据集Prefera表示评估子数据集Sub2a中真实评分大于goodrating的地址集合。
(4.b)将第二步中各推荐子算法用Ax(1≤x≤n)表示,n为推荐子算法的个数。计算将评估子数据集Sub2a中的地址按子算法Ax的推荐结果分类(分为推荐和不推荐)时的条件熵,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤n)表示某个推荐子算法(n为推荐子算法的个数),Sub2a表示将活跃用户ua访问过的地址按一定比例划分后得到的评估子数据集,训练列表TopMax表示评估子数据集Sub2a中预评分最高的前M个地址的集合,M表示训练列表TopMax集合中的地址个数,TPax是推荐列表中用户真正喜欢的地址个数,FNax是不在推荐列表中(未被推荐)的用户真正喜欢的地址个数。
(4.c)计算评估子数据集Sub2a中的地址按子算法Ax的推荐结果分类后的信息增益,具体计算方法为:
IG(ua,Ax,M)=D(ua)-T(ua,Ax,M) (9)
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤n)表示某个推荐子算法(n为推荐子算法的个数),M表示训练列表TopMax集合中的地址个数,D(ua)表示评估子数据集Sub2a中的信息熵,T(ua,Ax,M)表示将评估子数据集Sub2a中的地址按子算法Ax的推荐结果分类(分为推荐和不推荐)时的条件熵。
(4.d)计算为活跃用户ua推荐时各推荐子算法Ax的稳定性权重值Gax(1≤x≤n),n为推荐子算法的个数,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤n)表示某个推荐子算法(n为推荐子算法的个数),M表示训练列表TopMax集合中的地址个数,IG(ua,Ax,M)表示各推荐子算法Ax(1≤x≤n)的稳定性程度。
第五步、综合考虑集成推荐***的健壮性,平衡推荐精度和***稳定两者之间的关系,在两组加权系数的基础上为活跃用户ua计算最终的总加权系数Ca。将各个推荐子模型对未访问地址的预评分按总加权系数Ca融合起来,生成集成模型对未访问地址的最终预测评分。对所有未访问地址按最终预测评分排序,为活跃用户提供排名靠前的若干个地址组成的推荐列表。具体实施步骤为:
(5.a)计算为活跃用户ua推荐时各推荐子算法Ax(1≤x≤n)的最终加权系数Cax,n为推荐子算法的个数,具体计算方法为:
其中,Cax表示推荐子算法Ax预评分的最终权重值,Wax表示为活跃用户ua推荐时,推荐子算法Ax预评分的精度权重值,Gax表示推荐子算法Ax预评分的稳定性权重值。
(5.b)针对活跃用户ua未访问过的位置lk(lk∈NewLa),集成算法为这些位置计算最终预测评分,具体计算方法为:
(5.c)对活跃用户未访问过的所有地址按照集成算法的最终预测分排序,将排名靠前的N个位置组成推荐列表,并将推荐列表TopNLista返回给活跃用户。
第六步、使用精度指标和稳定性指标评价各推荐***的健壮性,重点对比本发明提出的基于集成学习的个性化位置推荐算法与集成前各子算法的综合性能,评价所提出技术的适用性和有效性。实现步骤如下:
(6.a)从目标数据集中随机选取U×10%个用户作为活跃用户集AU,为集合中每个活跃用户运行各推荐算法,生成推荐列表。
(6.b)使用精度指标和稳定性指标评价各推荐***的健壮性,各算法为活跃用户集AU运行一次的准确率Precision、召回率Recall、推荐精度指标F1和信息增益IG的值是AU集合中所有用户该指标的平均值。
(6.c)重复(6.a)和(6.b)步骤Ntimes次,即所有算法独立运行Ntimes次。
(6.d)设定本发明提出的集成算法与各子推荐算法的准确率Precision、召回率Recall、推荐精度指标F1和信息增益IG的值是Ntimes次运行结果的平均值。
(6.e)对比分析各指标结果:如果集成算法的推荐精度指标F1大于所有子推荐算法的推荐精度指标F1值,则说明集成算法的推荐精度比所有子算法都高;如果集成算法的信息增益IG指标大于子推荐算法信息增益IG指标中的最大值,则说明集成算法比所有子算法都稳定;如果以上两个结论都成立,则说明本发明提出的技术的健壮性更强。
下面以具体的基于位置的社交网络为例,详细说明本发明中的基于集成学习的个性化位置推荐方法是如何运行的。
Brightkite是一个基于位置的社交网络服务提供商,用户通过签到分享他们的位置。该社交网络中包含58228个用户和693362个位置,用户之间形成了214078条社交关系。Brightkite数据集收集了2008年4月至2010年10月期间4491143条签到信息,已成为推荐***研究人员最为常用的测试数据集之一。本发明选择Brightkite数据集中洛杉矶地区的数据为例进行实例化说明。
第一步、收集、整理原始的用户签到数据集C,将其转换成用户-位置评分矩阵R,具体操作步骤如下:
(1.a)选择示例数据集Brightkite中洛杉矶地区的用户签到数据集C。该数据集由1233个用户在2951个地址的61710条历史签到记录组成,用户之间形成了4216条社交关系,每个用户的平均签到次数为50.05次,平均拥有6.84个朋友,每个位置上的平均访问次数为20.91次。每一条签到记录中包含了用户ID、地址ID、访问时间、地址经度、地址纬度等信息。
(1.b)将每条签到记录转换成三元组(ui,lj,nij),其中ui是第i个用户(1≤i≤1233),lj是第j个项目(1≤j≤2951),nij表示用户ui访问地址lj的次数。
(1.c)计算所有用户在位置lj的总访问次数NC_auj。
(1.d)计算用户ui访问过的位置总数NLCi。
(1.e)计算用户ui访问所有位置的总访问次数NC_ali。
(1.f)计算访问过位置lj的所有用户数量NUCj。
(1.g)将用户ui在地址lj的签到次数nij转换成用户ui对地址lj的评分rij,具体方法是:
其中,rij表示用户ui对地址lj的评分,nij表示用户ui在地址lj的签到次数,NC_auj表示所有用户在位置lj的总访问次数,NLCi表示用户ui访问过的位置总数,NC_ali表示用户ui访问所有位置的总访问次数,NUCj表示访问过位置lj的所有用户数量。
(1.h)求出用户-位置评分矩阵R中所有评分的最低值min=0和所有评分的最高值max=12.61。对上一步得出的用户评分进行归一化操作:
其中,rij表示用户ui对地址lj的评分。
经过归一化操作后,用户ui对地址lj的评分rij被映射到[0,1]区间中,数值1表示用户访问该位置的频率很高,非常喜欢该位置;数值0表示用户从未访问过该位置,评分数值越高表示用户越喜欢该地址。
汇总所有的评分,形成用户-位置评分矩阵R={rij},i∈[1,1233],j∈[1,2951],其中i表示用户编号,j表示地址编号。
第二步、选取LBSN中某活跃用户ua作为推荐服务对象。选择任意类型、任意个数的推荐子算法A1,A2,…,An,n为推荐子算法的个数。将活跃用户访问过的地址按一定的比例划分为训练子数据集和评估子数据集。利用活跃用户训练子数据集的已访问信息,各推荐子模型为活跃用户未访问过的地址和评估子数据集中的地址计算预评分。操作步骤如下:
(2.a)获取示例数据集Brightkite中某个洛杉矶地区的活跃用户ua的个人信息、社交关系、历史访问记录。
(2.b)选择四个推荐算法A1=基于用户的协同过滤算法(UBCF)、A2=奇异值分解(SVD)、A3=基于社会化的协同过滤(SCF)、A4=核密度估计(KDE)作为本发明中集成模型的子算法。原因如下:UBCF是基于记忆的协同过滤算法的典型代表,它能挖掘用户的个人偏好,但却不能为新项目或不活跃的用户提供有效推荐,即存在所谓的冷启动问题;SVD是基于模型的协同过滤算法中矩阵分解技术的典型代表,它能够应对UBCF中的冷启动问题,但它的计算复杂度高、运行速度慢,且推荐的准确性也有待提高;考虑到用户之间的社交关系是LBSN的一个主要特征,本发明选用了SCF算法作为UBCF算法的一个补充,即在UBCF算法的基础上考虑了社交关系对用户行为模式的影响,SCF能够获得更加精确的推荐,但与UBCF一样,它仍然存在冷启动、推荐结果类型单一等问题;考虑到LBSN中位置的地理属性特征,KDE算法将地理位置对每个用户的签到活动的影响模拟为个性化概率分布,合理地挖掘了LBSN中位置的地理特征。此外,与前三个子算法不同,KDE无需参考其他用户的访问信息,因此特别适用于稀疏评分矩阵。它的主要缺点是推荐精度不高,算法性能不稳定。
从以上四个子算法独特的优缺点来看,本发明选择的四个子算法相辅相成,优劣互补。
(2.c)对各算法进行模型训练,得到各推荐子模型MUBCF,MSVD,MSCF,MKDE。
(2.d)为所有活跃用户设定一个统一的地址划分比例p=0.4,将活跃用户ua访问过的地址按该比例划分为训练子数据集Sub1a和评估子数据集Sub2a。
(2.e)利用各推荐子模型MUBCF,MSVD,MSCF,MKDE以及活跃用户ua的训练子数据集Sub1a的信息,UBCF、SVD、SCF、KDE算法对未访问过的地址集NewLa和评估子数据集Sub2a中的地址lk(lk∈NewLa∪Sub2a)计算预评分,分别记为
第三步、选择推荐精度的评价指标F1为推荐准确度评估指标,对比评估子数据集Sub2a中地址的真实评分以及预评分信息,评估各个子模型的推荐准确度。依据各推荐子模型的推荐精度指标F1值,为活跃用户ua计算精度权重值集合Wa,实现步骤如下:
(3.a)收集各推荐子算法Ax(1≤x≤4)为活跃用户ua计算的预评分信息将评估子数据集Sub2a中的所有地址lk(lk∈Sub2a)按预评分进行排序,取排名前M=10的地址,为每个算法Ax生成训练列表Top10ax。
(3.b)收集活跃用户ua对评估子数据集Sub2a中的所有地址的真实评分,将评估子数据集Sub2a中真实评分大于goodrating=0.05的地址放入偏好子数据集Prefera。
(3.c)计算各推荐子算法Ax的准确率Precision,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤4)表示某个推荐子算法,训练列表TopMax表示评估子数据集Sub2a中预评分最高的前10个地址的集合,偏好子数据集Prefera表示评估子数据集Sub2a中真实评分大于0.05的地址集合,M表示训练列表TopMax集合中的地址个数(M=10)。
(3.d)计算各推荐子算法Ax的召回率Recall,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤4)表示某个推荐子算法,训练列表TopMax表示评估子数据集Sub2a中预评分最高的前10个地址的集合,偏好子数据集Prefera表示评估子数据集Sub2a中真实评分大于0.05的地址集合,M表示训练列表TopMax集合中的地址个数(M=10)。
(3.e)计算各推荐子算法Ax的综合精度指标F1,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤4)表示某个推荐子算法,M表示训练列表TopMax集合中的地址个数(M=10),precision(ua,Ax,M)表示各推荐子算法的准确率,recall(ua,Ax,M)表示各推荐子算法的召回率。
将四个子算法运行100次(每次随机选择一组目标用户)后,其基于评估数据集上的推荐精度指标F1的频率直方图如图4所示。
(3.f)计算为活跃用户ua推荐时各推荐子算法Ax的精度权重值Wax(1≤x≤4),具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤4)表示某个推荐子算法,M表示训练列表TopMax集合中的地址个数(M=10),F1(ua,Ax,M)表示各推荐子算法Ax(1≤x≤4)的推荐精度。
第四步、选择信息增益IG为***稳定性评估指标,对比评估子数据集中地址的真实评分以及预评分信息,评估UBCF、SVD、SCF、KDE在非恶意攻击场景下的***稳定性。依据各推荐子模型的信息增益IG值,为活跃用户ua计算稳定性权重值集合Ga,实现步骤如下:
(4.a)计算评估子数据集Sub2a中的信息熵,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Sub2a表示将活跃用户ua访问过的地址按一定比例划分后得到的评估子数据集,偏好子数据集Prefera表示评估子数据集Sub2a中真实评分大于0.05的地址集合。
(4.b)计算将评估子数据集Sub2a中的地址按子算法Ax(1≤x≤4)的推荐结果分类(分为推荐和不推荐)时的条件熵,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤4)表示某个推荐子算法,Sub2a表示将活跃用户ua访问过的地址按一定比例划分后得到的评估子数据集,训练列表TopMax表示评估子数据集Sub2a中预评分最高的前10个地址的集合,M表示训练列表TopMax集合中的地址个数(M=10),TPax是推荐列表中用户真正喜欢的地址个数,FNax是不在推荐列表中(未被推荐)的用户真正喜欢的地址个数。
(4.c)计算评估子数据集Sub2a中的地址按子算法Ax的推荐结果分类后的信息增益,具体计算方法为:
IG(ua,Ax,M)=D(ua)-T(ua,Ax,M) (21)
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤4)表示某个推荐子算法,M表示训练列表TopMax集合中的地址个数(M=10),D(ua)表示评估子数据集Sub2a中的信息熵,T(ua,Ax,M)表示将评估子数据集Sub2a中的地址按子算法Ax的推荐结果分类(分为推荐和不推荐)时的条件熵。
将四个子算法运行100次(每次随机选择一组目标用户)后,其基于评估子数据集Sub2a上的信息增益IG指标的频率直方图如图5所示。
(4.d)计算为活跃用户ua推荐时各推荐子算法Ax的稳定性权重值集合Gax(1≤x≤4),具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤4)表示某个推荐子算法,M表示训练列表TopMax集合中的地址个数(M=10),IG(ua,Ax,M)表示各推荐子算法Ax(1≤x≤4)的稳定性程度。
第五步、综合考虑集成推荐***的健壮性,平衡推荐精度和***稳定两者之间的关系,在两组加权系数的基础上为活跃用户ua计算最终的总加权系数Ca。将各个推荐子模型对未访问地址的预评分按总加权系数Ca融合起来,生成集成模型对未访问地址的最终预测评分。对所有未访问地址按最终预测评分排序,为活跃用户提供排名靠前的若干个地址组成的推荐列表。具体实施步骤为:
(5.a)计算为活跃用户ua推荐时各推荐子算法Ax(1≤x≤4)的最终加权系数Cax,具体计算方法为:
其中,Cax表示推荐子算法Ax预评分的最终权重值,Wax表示为活跃用户ua推荐时,推荐子算法Ax预评分的精度权重值,Gax表示推荐子算法Ax预评分的稳定性权重值。
(5.b)针对活跃用户ua未访问过的位置lk(lk∈NewLa),集成算法为这些位置计算最终预测评分,具体计算方法为:
(5.c)对活跃用户未访问过的所有地址按照集成算法的最终预测分排序,将排名靠前的N个位置组成推荐列表,并将推荐列表TopNLista返回给活跃用户(N可以取值为5的倍数,通常情况下,5≤N≤50)。
第六步、使用精度指标和稳定性指标评价各推荐***的健壮性,重点对比本发明提出的基于集成学习的个性化位置推荐算法与集成前四个子算法的综合性能,评价所提出技术的适用性和有效性。实现步骤如下:
(6.a)从目标数据集中随机选取123个用户作为活跃用户集AU,为集合中每个活跃用户运行集成推荐算法和四个子算法,生成推荐列表。
(6.b)使用精度指标和稳定性指标评价各推荐***的健壮性,各算法为活跃用户集AU运行一次的准确率Precision、召回率Recall、推荐精度指标F1和信息增益IG的值是AU集合中所有用户该指标的平均值。
(6.c)重复(6.a)和(6.b)步骤100次,即所有算法独立运行100次。
本发明提出的集成模型在100次运行过程中产生的100个准确率Precision、召回率Recall、推荐精度指标F1的箱形图分别如图6、图7、图8所示。
(6.d)设定本发明提出的集成算法与四个子推荐算法的准确率Precision、召回率Recall、推荐精度指标F1和信息增益IG的值是100次运行结果的平均值。当N取不同数值时,各推荐算法的准确率Precision、召回率Recall、推荐精度指标F1和信息增益IG结果分别如表2、表3、表4和表5所示:
表2 不同推荐算法的准确率Precision指标值
表3 不同推荐算法的召回率Recall指标值
表4 不同推荐算法的推荐精度F1指标值
表5 不同推荐算法的信息增益IG指标值
本案例中集成模型与各子模型推荐精度指标F1对比的柱状图如图9所示,信息增益IG指标对比的柱状图如图10所示。
(6.e)对比分析各指标结果:集成算法的准确率Precision、召回率Recall、推荐精度指标F1均大于所有子推荐算法的相应指标值,说明集成算法的推荐精度比所有子算法都高;集成算法的信息增益IG指标大于子推荐算法信息增益IG指标中的最大值,说明集成算法比所有子算法都稳定;以上两个结论说明本发明提出的技术的健壮性更强。
有别于常规的集成算法,本发明以构建可扩展性强、推荐精度高、推荐结果稳定的位置推荐***为目标,在考虑推荐结果准确性的同时,还考虑了数据利用和用户行为的多样性特征,创新地提出使用信息增益作为***稳定性指标的评价模式,量化由数据源限制(如稀疏性、冷启动)、不同的数据预处理方式和模型训练带来的不确定性,提升推荐***输出结果的稳定性。此外,为每个用户量身定制一组权重系数,通过个性化加权的方式确保集成算法能够针对不同的用户“偏向”不同的子算法。本发明提出的技术有助于提升推荐***的健壮性,强化推荐***的服务质量,具有广阔的应用前景,有望在基于位置的社交网络市场中获得广泛的应用。
以上所述技术流程,仅是本发明的较佳实施方式,但并不能代表本发明的所有细节。任何熟悉本技术领域的专业人员在本发明揭露的技术范围内,在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于集成学习的个性化位置推荐方法,其特征在于,所述方法包括如下步骤:
步骤1,收集、整理原始的用户签到数据集C,将其转换成用户-位置评分矩阵R;
步骤2,选取基于位置的社交网络LBSN中某活跃用户ua作为推荐服务对象,选择任意类型、任意个数的推荐子算法A1,A2,…,An,将活跃用户访问过的地址划分为训练子数据集和评估子数据集,利用活跃用户训练子数据集的已访问信息,各推荐子模型为活跃用户未访问过的地址和评估子数据集中的地址计算预评分;
步骤3,选择推荐精度的评价指标F1为推荐准确度评估指标,对比评估子数据集中地址的真实评分以及预评分信息,评估各个子模型的推荐准确度,依据各推荐子模型的推荐精度指标F1值,为活跃用户ua计算精度权重值集合Wa;
步骤4,选择信息增益IG为***稳定性评估指标,对比评估子数据集中地址的真实评分以及预评分信息,评估各个子模型在非恶意攻击场景下的***稳定性,依据各推荐子模型的信息增益IG值,为活跃用户ua计算稳定性权重值集合Ga;
步骤5,在两组加权系数的基础上为活跃用户ua计算最终的总加权系数Ca,将各个推荐子模型对未访问地址的预评分按总加权系数Ca融合起来,生成集成模型对未访问地址的最终预测评分,对所有未访问地址按最终预测评分排序,为活跃用户提供排名靠前的若干个地址组成的推荐列表;
步骤6,对比本发明提出的基于集成学习的个性化位置推荐算法与集成前各子算法的综合性能,评价所提出技术的适用性和有效性。
2.根据权利要求1所述的一种基于集成学习的个性化位置推荐方法,其特征在于,所述方法的步骤1包括:
步骤11:选择目标推荐***的用户签到数据集C,所述数据集由U个用户对L个地址的历史签到记录组成,从每一条签到记录中提取出用户ID、地址ID、访问时间、地址经度、地址纬度信息;
步骤12:将每条签到记录转换成三元组(ui,lj,nij),其中ui是第i个用户(1≤i≤U),lj是第j个项目(1≤j≤L),nij表示用户ui访问地址lj的次数;
步骤13:计算所有用户在位置lj的总访问次数NC_auj;
步骤14:计算用户ui访问过的位置总数NLCi;
步骤15:计算用户ui访问所有位置的总访问次数NC_ali;
步骤16:计算访问过位置lj的所有用户数量NUCj;
步骤17:将用户ui在地址lj的签到次数nij转换成用户ui对地址lj的评分rij,具体方法是:
其中,rij表示用户ui对地址lj的评分,nij表示用户ui在地址lj的签到次数,NC_auj表示所有用户在位置lj的总访问次数,L表示地址总数,NLCi表示用户ui访问过的位置总数,NC_ali表示用户ui访问所有位置的总访问次数,U表示用户总数,NUCj表示访问过位置lj的所有用户数量;
步骤18:将上述用户评分进行归一化操作,具体计算方法为:
其中,rij表示用户ui对地址lj的评分,min表示用户-位置评分矩阵R中所有评分的最低值,max表示所有评分的最高值;
汇总所有的评分,形成用户-位置评分矩阵R={rij},i∈[1,U],j∈[1,L]。
3.根据权利要求1所述的一种基于集成学习的个性化位置推荐方法,其特征在于,所述方法的步骤2包括:
步骤21:获取推荐***当前服务的某个活跃用户ua的信息;
步骤22:根据应用场景和数据特征,选择一组推荐算法A1,A2,…,An作为集成模型的子算法;
步骤23:根据各推荐子算法的运算机制,对各算法进行模型训练,得到各推荐子模型M1,M2,…,Mn;
步骤24:为所有活跃用户设定一个统一的地址划分比例p,将活跃用户ua访问过的地址按该比例划分为子数据集Sub1a和子数据集Sub2a;
4.根据权利要求1所述的一种基于集成学习的个性化位置推荐方法,其特征在于,所述的步骤3包括:
步骤31:收集第二步中各推荐子算法Ax(1≤x≤n)为活跃用户ua计算的预评分信息,将Sub2a中的所有地址按预评分进行排序,取排名前M的地址,生成集合TopMax;
步骤32:收集活跃用户ua对Sub2a中的所有地址的真实评分,将Sub2a中真实评分大于goodrating的地址放入集合Prefera;
步骤33:计算各推荐子算法Ax的准确率Precision,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤n)表示某个推荐子算法(n为推荐子算法的个数),训练列表TopMax表示评估子数据集Sub2a中预评分最高的前M个地址的集合,偏好子数据集Prefera表示评估子数据集Sub2a中真实评分大于goodrating的地址集合,M表示训练列表TopMax集合中的地址个数;
步骤34:计算各推荐子算法Ax的召回率Recall,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤n)表示某个推荐子算法(n为推荐子算法的个数),训练列表TopMax表示评估子数据集Sub2a中预评分最高的前M个地址的集合,偏好子数据集Prefera表示评估子数据集Sub2a中真实评分大于goodrating的地址集合,M表示训练列表TopMax集合中的地址个数;
步骤35:计算各推荐子算法Ax的综合精度指标F1,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤n)表示某个推荐子算法(n为推荐子算法的个数),M表示训练列表TopMax集合中的地址个数,precision(ua,Ax,M)表示各推荐子算法Ax(1≤x≤n)的准确率,recall(ua,Ax,M)表示各推荐子算法Ax(1≤x≤n)的召回率;
步骤36:计算为活跃用户ua推荐时各推荐子算法Ax的精度权重值集合,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤n)表示某个推荐子算法(n为推荐子算法的个数),M表示训练列表TopMax集合中的地址个数,F1(ua,Ax,M)表示各推荐子算法Ax(1≤x≤n)的推荐精度。
5.根据权利要求1所述的一种基于集成学习的个性化位置推荐方法,其特征在于,所述方法的步骤4包括:
步骤41:计算Sub2a中的信息熵,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Sub2a表示将活跃用户ua访问过的地址按一定比例划分后得到的评估子数据集,偏好子数据集Prefera表示评估子数据集Sub2a中真实评分大于goodrating的地址集合;
步骤42:计算将Sub2a中的地址按子算法Ax(1≤x≤n)的推荐结果分类时的条件熵,推荐结果分类分为推荐和不推荐,具体计算方法为:
其中,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤n)表示某个推荐子算法(n为推荐子算法的个数),Sub2a表示将活跃用户ua访问过的地址按一定比例划分后得到的评估子数据集,训练列表TopMax表示评估子数据集Sub2a中预评分最高的前M个地址的集合,M表示训练列表TopMax集合中的地址个数,TPax是推荐列表中用户真正喜欢的地址个数,FNax是不在推荐列表中(未被推荐)的用户真正喜欢的地址个数;
步骤43:计算Sub2a中的地址按子算法Ax的推荐结果分类后的信息增益,具体计算方法为:
IG(ua,Ax,M)=D(ua)-T(ua,Ax,M) (9)
ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤n)表示某个推荐子算法(n为推荐子算法的个数),M表示训练列表TopMax集合中的地址个数,D(ua)表示评估子数据集Sub2a中的信息熵,T(ua,Ax,M)表示将评估子数据集Sub2a中的地址按子算法Ax的推荐结果分类(分为推荐和不推荐)时的条件熵;
步骤44:计算为活跃用户ua推荐时各推荐子算法Ax的稳定性权重值集合加权系数,具体计算方法为:
其中,Gax表示推荐子算法Ax预评分的稳定性权重值,ua表示当前享受推荐服务的活跃用户,Ax(1≤x≤n)表示某个推荐子算法(n为推荐子算法的个数),M表示训练列表TopMax集合中的地址个数,IG(ua,Ax,M)表示各推荐子算法Ax(1≤x≤n)的稳定性程度。
6.根据权利要求1所述的基于集成学习的个性化位置推荐方法,其特征在于,所述方法的步骤5包括:
步骤51:计算为活跃用户ua推荐时各推荐子算法Ax(1≤x≤n)的最终加权系数,具体计算方法为:
其中,Cax是为活跃用户ua推荐时的最终加权系数,Wax表示为活跃用户ua推荐时,推荐子算法Ax预评分的精度权重值,Gax表示推荐子算法Ax预评分的稳定性权重值;
步骤52:针对活跃用户ua未访问过的位置lk(lk∈NewLa),集成算法为这些位置计算最终预测评分,具体计算方法为:
步骤53:对集合NewLa中的所有地址按照集成算法的最终预测分排序,将排名靠前的N个位置组成推荐列表,并将推荐列表TopNLista返回给活跃用户。
7.根据权利要求1所述的一种基于集成学习的个性化位置推荐方法,其特征在于,所述的步骤6包括:
步骤61:从目标数据集中随机选取U×10%个用户作为活跃用户集AU,为集合中每个活跃用户运行各推荐算法,生成推荐列表;
步骤62:使用精度指标和稳定性指标评价各推荐***的健壮性,各算法为活跃用户集AU运行一次的精度指标Precision、Recall、F1和稳定性指标IG的值是AU集合中所有用户该指标的平均值;
步骤63:重复上述步骤61和62步骤Ntimes次,即所有算法独立运行Ntimes次;
步骤64:设定集成算法与各子推荐算法的Precision、Recall、F1和IG的值是Ntimes次运行结果的平均值;
步骤65:对比分析各指标结果:如果集成算法的F1大于所有子推荐算法的F1值,则说明集成算法的推荐精度比所有子算法都高;如果集成算法的IG指标大于子推荐算法IG指标中的最大值,则说明集成算法比所有子算法都稳定;如果以上两个结论都成立,则说明集成算法的健壮性更强。
8.根据权利要求1所述的一种基于集成学习的个性化位置推荐方法,其特征在于,所述方法将活跃用户访问过的地址按一定的比例划分为训练子数据集和评估子数据集,选取若干个任意类型的推荐子算法,利用活跃用户训练子数据集中的历史评分信息,各子算法为活跃用户计算其他地址的预评分,对比评估子数据集中地址的历史评分和预评分信息,对各子算法进行准确性评估和稳定性评估,根据评估结果为活跃用户生成个性化加权系数,将各个子算法对未访问地址的预评分利用加权系数结合起来,生成集成模型对活跃用户未访问地址的最终预测评分,对所有未访问地址的预测评分进行排序,选择排名靠前的若干个地址推荐给活跃用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010257793.0A CN111475744B (zh) | 2020-04-03 | 2020-04-03 | 一种基于集成学习的个性化位置推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010257793.0A CN111475744B (zh) | 2020-04-03 | 2020-04-03 | 一种基于集成学习的个性化位置推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111475744A true CN111475744A (zh) | 2020-07-31 |
CN111475744B CN111475744B (zh) | 2022-06-14 |
Family
ID=71750449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010257793.0A Active CN111475744B (zh) | 2020-04-03 | 2020-04-03 | 一种基于集成学习的个性化位置推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111475744B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112036987A (zh) * | 2020-09-11 | 2020-12-04 | 杭州海康威视数字技术股份有限公司 | 确定推荐商品的方法和装置 |
CN114881689A (zh) * | 2022-04-26 | 2022-08-09 | 驰众信息技术(上海)有限公司 | 基于矩阵分解的楼宇推荐方法和*** |
CN115687801A (zh) * | 2022-09-27 | 2023-02-03 | 南京工业职业技术大学 | 一种基于位置时效特征和时间感知动态相似性的位置推荐方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120229624A1 (en) * | 2011-03-08 | 2012-09-13 | Bank Of America Corporation | Real-time image analysis for providing health related information |
CN106776982A (zh) * | 2016-12-02 | 2017-05-31 | 深圳市唯特视科技有限公司 | 一种采用机器学习的社交媒体情感分析方法 |
CN107633444A (zh) * | 2017-08-29 | 2018-01-26 | 南京理工大学紫金学院 | 基于信息熵与模糊c均值聚类的推荐***噪声过滤方法 |
WO2019010379A1 (en) * | 2017-07-07 | 2019-01-10 | Dion Sullivan Dion | SYSTEM AND METHOD FOR EVALUATING THE REAL SCOPE OF INFLUENCERS OF SOCIAL NETWORKS |
CN109241227A (zh) * | 2018-09-03 | 2019-01-18 | 四川佳联众合企业管理咨询有限公司 | 基于stacking集成学习算法的时空数据预测建模方法 |
CN109543109A (zh) * | 2018-11-27 | 2019-03-29 | 山东建筑大学 | 一种融合时间窗技术和评分预测模型的推荐算法 |
-
2020
- 2020-04-03 CN CN202010257793.0A patent/CN111475744B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120229624A1 (en) * | 2011-03-08 | 2012-09-13 | Bank Of America Corporation | Real-time image analysis for providing health related information |
CN106776982A (zh) * | 2016-12-02 | 2017-05-31 | 深圳市唯特视科技有限公司 | 一种采用机器学习的社交媒体情感分析方法 |
WO2019010379A1 (en) * | 2017-07-07 | 2019-01-10 | Dion Sullivan Dion | SYSTEM AND METHOD FOR EVALUATING THE REAL SCOPE OF INFLUENCERS OF SOCIAL NETWORKS |
CN107633444A (zh) * | 2017-08-29 | 2018-01-26 | 南京理工大学紫金学院 | 基于信息熵与模糊c均值聚类的推荐***噪声过滤方法 |
CN109241227A (zh) * | 2018-09-03 | 2019-01-18 | 四川佳联众合企业管理咨询有限公司 | 基于stacking集成学习算法的时空数据预测建模方法 |
CN109543109A (zh) * | 2018-11-27 | 2019-03-29 | 山东建筑大学 | 一种融合时间窗技术和评分预测模型的推荐算法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112036987A (zh) * | 2020-09-11 | 2020-12-04 | 杭州海康威视数字技术股份有限公司 | 确定推荐商品的方法和装置 |
CN114881689A (zh) * | 2022-04-26 | 2022-08-09 | 驰众信息技术(上海)有限公司 | 基于矩阵分解的楼宇推荐方法和*** |
CN115687801A (zh) * | 2022-09-27 | 2023-02-03 | 南京工业职业技术大学 | 一种基于位置时效特征和时间感知动态相似性的位置推荐方法 |
CN115687801B (zh) * | 2022-09-27 | 2024-01-19 | 南京工业职业技术大学 | 基于位置时效特征和时间感知动态相似性的位置推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111475744B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Christensen et al. | Social group recommendation in the tourism domain | |
Xu et al. | A novel POI recommendation method based on trust relationship and spatial–temporal factors | |
Ghafouri et al. | A survey on web service QoS prediction methods | |
Zhou et al. | Privacy-preserving online task allocation in edge-computing-enabled massive crowdsensing | |
Sojahrood et al. | A POI group recommendation method in location-based social networks based on user influence | |
Xu et al. | Integrated collaborative filtering recommendation in social cyber-physical systems | |
Li et al. | Next and next new POI recommendation via latent behavior pattern inference | |
CN111475744B (zh) | 一种基于集成学习的个性化位置推荐方法 | |
Bok et al. | Social group recommendation based on dynamic profiles and collaborative filtering | |
Eliyas et al. | Recommendation systems: Content-based filtering vs collaborative filtering | |
Fan et al. | Modeling temporal effectiveness for context-aware web services recommendation | |
CN114036376A (zh) | 一种基于k均值聚类的时间感知自适应兴趣点推荐方法 | |
Cao et al. | Multi-feature based event recommendation in event-based social network | |
CN114528480A (zh) | 一种基于k均值聚类的时间感知自适应兴趣点推荐方法 | |
Gu et al. | Context aware matrix factorization for event recommendation in event-based social networks | |
Li et al. | From reputation perspective: a hybrid matrix factorization for qos prediction in location‐aware mobile service recommendation system | |
Liao et al. | GRBMC: An effective crowdsourcing recommendation for workers groups | |
Cheng et al. | Online social trust reinforced personalized recommendation | |
Fu et al. | Collaborative filtering recommendation algorithm towards intelligent community | |
KR20150122307A (ko) | 광고 제공 방법 및 서버 장치 | |
Kanaujia et al. | A framework for development of recommender system for financial data analysis | |
Liu et al. | VGMF: visual contents and geographical influence enhanced point‐of‐interest recommendation in location‐based social network | |
Meng et al. | POI recommendation for occasional groups Based on hybrid graph neural networks | |
Wu et al. | Service recommendation with high accuracy and diversity | |
Lu | Personalized Recommendation Algorithm of Smart Tourism Based on Cross‐Media Big Data and Neural Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |