1.一种基于集成学习的个性化位置推荐方法,其特征在于,所述方法包括如下步骤:步骤1,收集、整理原始的用户签到数据集C,将其转换成用户‑位置评分矩阵R;
步骤2,选取基于位置的社交网络LBSN中某活跃用户ua作为推荐服务对象,选择任意类型、任意个数的推荐子算法A1,A2,…,An,将活跃用户访问过的地址划分为训练子数据集和评估子数据集,利用活跃用户训练子数据集的已访问信息,各推荐子算法为活跃用户未访问过的地址和评估子数据集中的地址计算预评分;
步骤3,选择推荐精度的评价指标F1为推荐准确度评估指标,对比评估子数据集中地址的真实评分以及预评分信息,评估各推荐子算法的推荐准确度,依据各推荐子算法的推荐精度指标F1值,为活跃用户ua计算精度权重值集合Wa;
步骤4,选择信息增益IG为系统稳定性评估指标,对比评估子数据集中地址的真实评分以及预评分信息,评估各推荐子算法在非恶意攻击场景下的系统稳定性,依据各推荐子算法的信息增益IG值,为活跃用户ua计算稳定性权重值集合Ga;
步骤5,在精度权重值集合Wa和稳定性权重值集合Ga的基础上为活跃用户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;
步骤25:利用各推荐子算法M1,M2,…,Mn以及活跃用户ua的Sub1a子数据集信息,对未访问过的地址集NewLa和子数据集Sub2a中的地址lk,lk∈NewLa∪Sub2a计算预评分,记为
4.根据权利要求1所述的基于集成学习的个性化位置推荐方法,其特征在于,所述方法的步骤5包括:步骤51:计算为活跃用户ua推荐时各推荐子算法Ax,1≤x≤n的最终加权系数,具体计算方法为:其中,Cax是为活跃用户ua推荐时的最终加权系数,Wax表示为活跃用户ua推荐时,推荐子算法Ax预评分的精度权重值,Gax表示推荐子算法Ax预评分的稳定性权重值;
步骤52:针对活跃用户ua未访问过的位置lk,lk∈NewLa,集成算法为这些位置计算最终预测评分,具体计算方法为:其中,Cax是为活跃用户ua推荐时的最终加权系数, 是推荐子算法Ax针对活跃用户ua未访问过的位置lk的预评分;
步骤53:对集合NewLa中的所有地址按照集成算法的最终预测分排序,将排名靠前的N个位置组成推荐列表,并将推荐列表TopNLista返回给活跃用户。
5.根据权利要求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指标中的最大值,则说明集成算法比所有子算法都稳定;如果以上两个结论都成立,则说明集成算法的健壮性更强。
6.根据权利要求1所述的一种基于集成学习的个性化位置推荐方法,其特征在于,所述方法将活跃用户访问过的地址按一定的比例划分为训练子数据集和评估子数据集,选取若干个任意类型的推荐子算法,利用活跃用户训练子数据集中的历史评分信息,各子算法为活跃用户计算其他地址的预评分,对比评估子数据集中地址的历史评分和预评分信息,对各子算法进行准确性评估和稳定性评估,根据评估结果为活跃用户生成个性化加权系数,将各个子算法对未访问地址的预评分利用加权系数结合起来,生成集成模型对活跃用户未访问地址的最终预测评分,对所有未访问地址的预测评分进行排序,选择排名靠前的若干个地址推荐给活跃用户。