基于用户标签的时间衰减因子

来源:互联网 发布:产业结构不断优化 编辑:程序博客网 时间:2024/05/18 02:10

转自:https://my.oschina.net/xiaoluobutou/blog/686183

摘要: 标签的权重可以称为标签的热度,权重越大,热度就越高,时间衰减因子体现了标签的热度随着时间逐渐冷却的过程。

背景

依据用户发帖子所属于的分类,给用户打标签,并确定标签的权重。

比如:A用户总共发了8个贴子,其中有1个帖子属于spark分类,3个属于hadoop分类,4个属于storm分类。系统会给用户分别打个spark,hadoop,storm三个标签,但是这三个标签的权重该怎么确定呢?

有一种简单的方案:用贴子的数量做为权重,那在这个例子中,spark权重就是1,hadoop权重就是3,storm权重就是4。这样是有问题的,比如如果4个跟storm相关的帖子是前年发的,而3个跟hadoop相关的帖子是近一周发的。这样的话,只计算数量,storm的权重比hadoop的权重高,看上去不合理,因为没有考虑到时效性,在我们看来,hadoop分类下的帖子数量虽然没storm的帖子数量多,但是发帖的时间距离现在比较近,更能反应发帖者目前的状态。

指数衰减

某个量的下降速度和它的值成比例,称之为服从指数衰减。用符号可以表达为以下微分方程,其中N是指量,λ指衰减常数。

方程的一个解为:


这里N(t)是与时间t有关的量,N0 = N(0)是初始量,即在时间为零时候的量。

衰减速率的测定

平均寿命

如果这个衰减量是一个集合中的离散元素,可以计算元素留在集合中的平均时间长度。这被称为平均寿命(一般称寿命)。并且它可以被证明与衰减速率有关。


平均时间(或被称为指数时间常数)由此被看做一个简单的缩放时间

因而,这是量减少到初始量的1/e所需要的时间。

利用指数衰减函数做为时间衰减因子,这个也是 牛顿冷却定律 最终的一个形态,标签的权重可以称为标签的热度,权重越大,热度就越高,时间衰减因子体现了标签的热度随着时间逐渐冷却的过程。