基于时间空间上下文的循环神经网络预测位置的方法与流程

文档序号:11708170阅读:442来源:国知局

本发明涉及位置预测的技术领域,更具体地,涉及一种基于时间空间上下文的循环神经网络预测位置的方法。



背景技术:

空间和时间的上下文信息对于分析用户的行为起着关键的作用,而且有助于预测用户将要到达的下一个地点;随着互联网上有效信息的快速增长和系统的收集信息能力不断增强,越来越多基于时间和空间的上下文信息被收集在系统中,使得位置预测问题变得越来越可行和至关重要。

如今,时空预测问题已经得到了广泛的研究,但是他们都有各自的局限性;分解个性化马尔柯夫链(factorizingpersonalizedmarkovchain,fpmc)已成为序列预测最流行的方法之一,但它是基于不同的因子具有很强的独立性这个假设构,这限制了它的性能;而另一种非常流行的方法,张量分解(tf)已经被成功应用于对时间感知的推荐算法和和对时空上下文信息的建模中;在张量分解算法中,时间块和地理位置均被作为张量分解的额外维度,这将会导致在预测未来行动中面临着冷启动的问题。而循环神经网络(rnn)跟fpmc和张量分解这两种算法相比,表现出非常有前景的性能;但是以上所有的方法在连续时间间隔和地理距离的建模上都存在问题。



技术实现要素:

本发明要解决的问题是:提供一种更精确的位置预测的基于时间空间上下文的循环神经网络预测位置的方法。

本发明实现上述目的所提出的技术方案如下:

基于时间空间上下文的循环神经网络预测位置的方法,包括以下步骤:

s1.基于循环神经网络进行建模;

s2.基于步骤s1,将时间信息和空间信息融入到循环神经网络模型;

s3.基于步骤s2,将循环神经网络模型进行参数学习优化;

s4.基于步骤s1~s3,计算时间t时的位置信息,完成对位置信息的预测。

在上述方案中,基于循环神经网络进行建模,将时间因素数据和空间因素数据融入到循环神经网络模型中;然后,将循环神经网络模型进行参数学习优化,基于循环神经网络模型计算时间t时的位置信息,能更精准地预测位置。

优选的,所述步骤s1的具体过程如下:

s11.设循环神经网络模型的输入序列和输出序列分别表示为:u=(x1,x2,...,xt)、v=(y1,y2,...,yt);

s12.基于步骤s11,在循环神经网络模型中的每个样本都建立一个(u,v);

s13.根据循环神经网络模型的输入序列和输出序列建立一个历史访问记录库q,历史访问记录库q={qt1,qt2,...,qti,...qtn},其中qti表示用户在时间ti下访问的位置点,每个位置点具有相应的经纬度坐标(lat,lon);

s14.基于步骤s13,采用矩阵分解方法计算喜好值,设某个时间点,从历史访问记录q中提取出时间和位置点的信息,将被预测的本体与位置点建立一个二维矩阵,其中,纵向表示被预测的本体集合,横向表示位置点,将二维矩阵分解后相乘,计算被测本体的喜好值;

s15.基于步骤s11~s14,基于循环神经网络进行建模。

优选的,所述步骤s2的具体过程如下:

s21.基于循环神经网络基础上加入时间因素数据,引入时间循环神经网络,在二维矩阵的横轴引入时间因素;

s22.基于步骤s21,用时间转移矩阵t1,t2,.......tn计算不同时间间隔产生的影响;

s23.基于步骤s21~s22,基于时间循环神经网络基础上加入空间距离因素数据;引入时间空间循环神经网络,在二维矩阵的横轴引入空间距离;

s24.基于步骤s23,用空间转移矩阵s1,s2.......sm计算不同空间距离产生的影响;

s25.基于步骤s21~s24,对循环神经网络不断加入时间因素和空间因素。

优选的,所述的循环神经网络还包括隐藏序列(h1,h2,...,ht),将循环神经网络中的数据信息看做神经单元,所述步骤s3的具体过程如下:

s31.利用非线性的sigmoid函数去表示每一个神经单元,其中sigmoid函数的公式表示为:

s32.将所有的神经单元联系到一起构成复杂的函数网,以函数的迭代与组合构建出复杂的输出,形成一个神经网络;

s33.循环神经网络的隐藏序列节点之间增加互联;

s34.循环神经网络存在4条信息流,信息流1从输入序列到达隐藏序列、信息流2从隐藏序列到达输出序列、信息流3从输出序列返回隐藏序列、信息流4包括隐藏序列内的神经单元之间的自连与互连;

s35.对整个循环神经网络使用梯度下降法则,通过求导进行优化;对神经网络所产生的导数问题使用链式法则进行处理,从而达到学习优化;

s36.重复步骤s31~s35,进行循环学习优化。

优选的,所述步骤s4的具体过程如下:

s41.基于步骤s3,被测本体在时间t时的位置点可以表示为:

其中,s表示空间上下文矩阵,t表示时间上下文的矩阵,c是共享参数,通过不断迭代和反向传播进行参数学习优化c;上式的地理上的距离可以计算为一个欧几里德距离:

其中u为指定用户,xt和yt分别表示时间t用户u的地理位置的经度和纬度坐标;

s42.基于步骤s41,可预测被测本体在时间t到位置点q可表示为:

其中,pu表示稳定本体的表征,表明该本体的兴趣和活动范围,而h参数捕获的是在基于时空上下文的动态兴趣;

上面的c参数和h参数都可以根据个人喜好随便初始化一个值(在0到1之间),模型会通过对数据不断学习优化参数的值;

s43.本模型加入贝叶斯个性化排序(bpr),bpr假设用户对访问过的位置点的喜好值要大于未访问位置点的喜好值,即:

其中,v′表示位置负样本,而g(x)是一个非线性函数且g(x)=1/(1+e-x);

s44.将负对数似然,解决以下目标函数j等价为:

其中,θ={p,q,s,t,c}表示所有的参数被估算,λ是一个参数来控制正则化的权重;

而相对于参数的值可以计算为j的推导:

利用链式法则,使用后向传播算法(backpropagationalgorithm,bp)求导对各参数进行学习:

当所有的梯度已经计算完毕,最后采用随机梯度下降来估计模型参数;这个过程将会重复迭代,直到实现收敛。

与现有技术相比,本发明的有益效果是:

本发明提供的方法通过融入了时间因素和空间因素信息,同时,对循环神经网络进行循环学习优化;时间空间循环神经网络能更好地对时空上下文建模和提供更精准的位置预测。

附图说明

图1为本发明提供基于时间空间上下文的循环神经网络预测位置的方法具体步骤流程图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的;为了更好地理解本发明专利,下面结合附图和实施案例对本发明的技术方案做进一步的说明。

下面对本发明的具体实施方案进行描述:

基于时间空间上下文的循环神经网络预测位置的方法,其具体步骤如图1所示:

s1.基于循环神经网络进行建模;

s2.基于步骤s1,将时间信息和空间信息融入到循环神经网络模型;

s3.基于步骤s2,将循环神经网络模型进行参数学习优化;

s4.基于步骤s1~s3,计算时间t时的位置信息,完成对位置信息的预测。

在上述方案中,基于循环神经网络进行建模,将时间因素数据和空间因素数据融入到循环神经网络模型中;然后,将循环神经网络模型进行参数学习优化,基于循环神经网络模型计算时间t时的位置信息,能更精准地预测位置。

在本实施例中,所述步骤s1的具体过程如下:

s11.设循环神经网络模型的输入序列和输出序列分别表示为:u=(x1,x2,...,xt)、v=(y1,y2,...,yt);

s12.基于步骤s11,在循环神经网络模型中的每个样本都建立一个(u,v);

s13.根据循环神经网络模型的输入序列和输出序列建立一个历史访问记录库q,历史访问记录库q={qt1,qt2,...,qti,...qtn},其中qti表示用户在时间ti下访问的位置点,每个位置点具有相应的经纬度坐标(lat,lon);

s14.基于步骤s13,采用矩阵分解方法计算喜好值,设某个时间点,从历史访问记录q中提取出时间和位置点的信息,将被预测的本体与位置点建立一个二维矩阵,其中,纵向表示被预测的本体集合,横向表示位置点,将二维矩阵分解后相乘,计算被测本体的喜好值;

s15.基于步骤s11~s14,基于循环神经网络进行建模。

在本实施例中,所述步骤s2的具体过程如下:

s21.基于循环神经网络基础上加入时间因素数据,引入时间循环神经网络,在二维矩阵的横轴引入时间因素;

s22.基于步骤s21,用时间转移矩阵t1,t2,.......tn计算不同时间间隔产生的影响;

s23.基于步骤s21~s22,基于时间循环神经网络基础上加入空间距离因素数据;引入时间空间循环神经网络,在二维矩阵的横轴引入空间距离;

s24.基于步骤s23,用空间转移矩阵s1,s2.......sm计算不同空间距离产生的影响;

s25.基于步骤s21~s24,对循环神经网络不断加入时间因素和空间因素。

在本实施例中,所述的循环神经网络还包括隐藏序列(h1,h2,...,ht),将循环神经网络中的数据信息看做神经单元,所述步骤s3的具体过程如下:

所述的循环神经网络还包括隐藏序列(h1,h2,...,ht),将循环神经网络中的数据信息看做神经单元,所述步骤s3的具体过程如下:

s31.利用非线性的sigmoid函数去表示每一个神经单元,其中sigmoid函数的公式表示为:

s32.将所有的神经单元联系到一起构成复杂的函数网,以函数的迭代与组合构建出复杂的输出,形成一个神经网络;

s33.循环神经网络的隐藏序列节点之间增加互联;

s34.循环神经网络存在4条信息流,信息流1从输入序列到达隐藏序列、信息流2从隐藏序列到达输出序列、信息流3从输出序列返回隐藏序列、信息流4包括隐藏序列内的神经单元之间的自连与互连;

s35.对整个循环神经网络使用梯度下降法则,通过求导进行优化;对神经网络所产生的导数问题使用链式法则进行处理,从而达到学习优化;

s36.重复步骤s31~s35,进行循环学习优化。

其中,在本实施例中,所述步骤s4的具体过程如下:

s41.基于步骤s3,被测本体在时间t时的位置点可以表示为:

其中,s表示空间上下文矩阵,t表示时间上下文的矩阵,c是共享参数,通过不断迭代和反向传播进行参数学习优化c;上式的地理上的距离可以计算为一个欧几里德距离:

其中u为指定用户,xt和yt分别表示时间t用户u的地理位置的经度和纬度坐标;

s42.基于步骤s41,可预测被测本体在时间t到位置点q可表示为:

其中,pu表示稳定本体的表征,表明该本体的兴趣和活动范围,而h参数捕获的是在基于时空上下文的动态兴趣;

上面的c参数和h参数都可以根据个人喜好随便初始化一个值(在0到1之间),模型会通过对数据不断学习优化参数的值;

s43.本模型加入贝叶斯个性化排序(bpr),bpr假设用户对访问过的位置点的喜好值要大于未访问位置点的喜好值,即:

其中,v′表示位置负样本,而g(x)是一个非线性函数且g(x)=1/(1+e-x);

s44.将负对数似然,解决以下目标函数j等价为:

其中,θ={p,q,s,t,c}表示所有的参数被估算,λ是一个参数来控制正则化的权重;

而相对于参数的值可以计算为j的推导:

利用链式法则,使用后向传播算法(backpropagationalgorithm,bp)求导对各参数进行学习:

当所有的梯度已经计算完毕,最后采用随机梯度下降来估计模型参数;这个过程将会重复迭代,直到实现收敛。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1