1.一种基于训练数据挖掘的位置预测方法,其特征在于,该方法具体包括以下步骤:S1:获取用户‑位置交互数据;
S2:分别对用户和位置的特征进行embedding;
S3:选择正负样本;
S4:使用基于流行度原则和信息量公式的负样本抽样算法抽取部分负样本,具体包括:首先根据每一个数据集的签到情况筛选出流行度高的位置列表,判断用户是否进行过签到,然后再结合信息量公式为每个用户从列表中抽取负样本;
其中,信息量公式为:
δ=‑log pj
其中,δ表示信息量,pj表示用户p访问位置j的概率;在进行负样本抽样时要满足在同一时刻用户没有签到记录;
S5:通过两种不同的策略来挖掘Hard negative;
S6:构建Hard selection strategy来训练负样本;
S7:使用正负样本训练生成对抗网络模型,形成负样本增强生成对抗网络NDA‑GAN模型,使其能够辨别正负样本,并生成可置信数据;
形成负样本增强生成对抗网络NDA‑GAN模型,具体包括:根据步骤S3~S6的方式选取出负样本后,根据每个用户和访问地点之间的逻辑关系构建用于生成负样本的生成对抗网络NDA‑GAN,生成网络由一个编码器组成,它获取一条输入数据xi,并将其映射到一个低维向量上;随机向量zi映射到同一维度后与该输入数据向量拼接,然后共同传递到解码器网络之中,解码器生成数据;对抗性判别器网络被训练用于区分来自真实数据分布的样本和伪分布;过程如下:(1)随机初始化向量zi,其中z是满足高斯分布的变量,如下公式所示:z=N(0,I)
(2)生成数据:
v=f(z)
其中,f表示神经网络训练的实现,v是正在生成的向量;
(3)向判别器提供不同于生成器输入的xi但是来自于同一类的输入xj同时,不提供有关负样本类的信息,生成器必须学习与该负样本类能够保持一致的特征并归纳;
(4)建立损失函数,选取二分类问题常用损失函数BCELoss,公式如下:loss(xi,yi)=‑wi[yilogxi+(1‑yi)log(1‑xi)]其中,ploss表示总体损失, 表示真实数据损失, 表示生成数据损失,output表示生成数据,lablereal表示条件对应标签,loss(xi,yi)表示损失值,wi表示权值,yi表示条件对应标签;
S8:运用训练好的NDA‑GAN模型进行位置预测,得到TOP‑K排序,预测用户下一时刻可能访问的地点序列。
2.根据权利要求1所述的位置预测方法,其特征在于,步骤S1中,获取的数据包括:用户、温度、经纬度、周、月、访问时长、降水量和风速;
关系对包括:{用户:周,用户:月,用户:用户,用户:访问时长,位置:降水量,位置:风速,位置:温度}。
3.根据权利要求1所述的位置预测方法,其特征在于,步骤S3中,正样本的选择方式为:使用已访问过的位置作为正样本;
负样本的选择方式为:
(1)随机取样,对于每个访问,从数据集中随机抽取位置作为负样本;
(2)对于每个访问,随机抽取处于召回前列却没有被访问的位置结果作为负样本。
4.根据权利要求1所述的位置预测方法,其特征在于,步骤S5中,通过不同的策略来挖掘Hard negative,具体包括:首先,使用在embedding过程中更接近正样本的例子作为训练中的Hard negative,方式如下:在每一批次里面以动态且有效的方式选择hard negatives,每批包含n个正样本对(i)然后对于每个用户u ,使用其他正样本位置信息 形成一个小的位置池,并选择排序后Top‑k的地点作为最难选定的负样本来创建训练。
5.根据权利要求1所述的位置预测方法,其特征在于,步骤S8中,运用构建好的NDA‑GAN模型,将用户和位置用ui, 的表示方式构成三元组 作为训练集T送入NDA‑GAN模型中进行训练,利用训练好的模型去预测用户与新的位置的关系,预测结果代表了用户是否会在未来访问该位置,通过top‑k排序生成用户将会访问的位置序列。