推荐算法公式的形成
公式:优先级p=βn+qγm+αy(x)
历史记录系数:α 个人浏览次数系数:β
群体浏览次数系数:γ 个人与群体相似度:q
个人浏览次数:n 群体浏览次数:m
参数解释:
历史记录部分:
在这里本人选择了一个公式:
y = a*e^(bx)
该公式的获取是基于常见的历史记录对现在需要的影响曲线拟合而来。
有研究表明,历史记录对个人当前需要的影响呈现出随时间推移递减的趋势,并且类似于非常有名的艾宾浩斯记忆遗忘曲线:即曲线呈现出快速下降然后缓慢下降,当其时间趋于无穷时,该记录的重要性就会趋于零但永远不等于零。
因为记忆曲线与历史记录曲线并不是完全相同的,经过我们的调查研究分析表明,一个常驻网民的“记忆”会随着时间的推移变得“几乎完全不重要”,其不重要的程度可以去掉“几乎”,通俗点来讲,就是超过一定时间的浏览记录对“现在”的网民来说,不起任何作用。
这个现象与“互联网没有记忆”这一现象有关,在互联网普及的当下,人们“爱好的记忆”的迭代周期非常的快,一个热门头条可能只火一个月,而一个月后,在互联网中更新的信息的冲击下,人们的爱好就会发生改变,其一个月前的“爱好记忆”对现在就没有任何作用了。
基于这个现象,我们对艾宾浩斯记忆遗忘曲线做了一定程度的处理,让其在时间t=30(天)的时候,重要指数y趋于零,然后再通过对网民的浏览爱好分析(主要是对大学生),我们得出了一个粗糙的离散图,然后利用工具,对这个离散图背后的曲线进行拟合,得到的结果为:
a=0.6 ,b=-0.08
有的人可能会有疑惑,为什么选取的母函数是y = a*e^(bx)而不是其他的什么什么。选择这条曲线,是我们在进行足够的数据分析下,从二十多条单调递减的曲线中选择的模型,并在一定时间的检验中,具有98.6%的保真性(当然,这里有我们独特的标准,因为用户爱好这件事从来都没有一个严格的标准,我们只能从大范围考虑)
个人浏览次数系数:β 与群体浏览次数系数:γ
在最后给出的公式中,我们将β与γ的取值视为一致,这里可能会有疑惑,为什么个人与群体的历史记录具有同等的效力呢?
这里就需要具体的情景,因为我们的项目是中医学科相关,如果仅仅让一位有这方面需求的网民通过个人搜索的历史记录来看的话,那么很可能会让这位友人长时间处于某一领域,无法获得更多的知识或者是常识,所以我们通过调低个人浏览记录的比重、调高相似群体的浏览记录比重来达到一种可以让用户获得更多信息的效果。
这里必须强调的一点是,我们之所以如此做,是基于我们的项目特点与用户群体的特点来确定的:我们的项目是做一个普及推广的作用,并非专精、我们的项目面向的用户对象会是各行各业的对中医不甚了解的群体,他们职业各异、知识储备也不尽相同,并且更多的人有更大的可能是为了拓宽眼界来访问我们的站点等等;另外最重要的一点是,作者能力有限,并不是专精于此的研究人员。基于种种实际因素,我们最终敲定了各个参数的具体数值。
个人与群体相似度:q:
这里我们考虑的主要是,用户在注册时或者后来专业之后选择的用户基本特点的信息。我们采用比较常规的想法,一个人对某种事物感兴趣,那么与这个人有相同爱好或者经历的人,应该也会对这种事物感兴趣。所以,我们会简单粗略地计算一下用户的之间的相似度,然后根据相同特点的不同用户的爱好来为我们的当前用户推荐内容。