用户投票算法随手记

2024-04-09 23:18
文章标签 算法 用户 投票 随手

本文主要是介绍用户投票算法随手记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【随手记。 请点进原文看。。。。原文写的好好啊好好的偷笑


前四篇与发布时间有关:


(1)基于用户投票的排名算法(一):Delicious和Hacker News

http://www.ruanyifeng.com/blog/2012/02/ranking_algorithm_hacker_news.html

前者通过没60min更新一次最近被收藏的数目,以此来排名。

在 被收藏数目(得票数目)的基础上加入了帖子的发帖时间,已解决Delicious不能让新帖子浮上来的问题。score = ( P- 1) / (T +2)^G 首先它排除了发帖人的票数,然后,它的时间因素考虑到了帖子刚刚发···而导致分母过小的问题(+了一个平均时间)。还考虑了时间导致的帖子的分衰减速度问题:重力因子G。


(2)reddit:  在 赞成 的 基础上,引入了  反对 。

考虑了:

帖子的发帖时间: t = 发帖时间 - 某个固定值。 (帖子越早发,这个值越小)

赞成与反对的差值: 

投票方向 1:赞成多 , 0:一样多,   -1:反对票多。

帖子的受肯定程度 (否定程度) z 。是个底数为10的对数形式的,说明帖子越往后 如果突然有一部分人投一样的票  就不会很会受影响了。


(3) stackof  overflow  :不光考虑到了   赞成 和  反对  两个因素。还考虑到了帖子被浏览的次数,被回答的次数,问题得分,回答得分,发帖时间,最后一个回答的时间 等。【帖子本身质量、用户参与度、时间】


(4)把牛顿冷

却定律  Newton‘s law  of  cooling   应用到排名貌似很cool : http://www.ruanyifeng.com/blog/2012/03/ranking_algorithm_newton_s_law_of_cooling.html

定律内容: 物体的冷却速度与                它当前的温度和室内温度的差值    成正比。


后(5)

与时间无关: http://www.ruanyifeng.com/blog/2012/03/ranking_algorithm_wilson_score_interval.html

不是简单的用 好评数 - 差评数, 或 好评率 来评判某个帖子是否热门。 引入了  置信区间 。又由于 置信区间不能很好的解决 小样本 的问题,又提到了  威尔逊 区间。


贝叶斯平均法:  http://www.ruanyifeng.com/blog/2012/03/ranking_algorithm_bayesian_average.html

IDMB采用的方法。

它借鉴了"贝叶斯推断"(Bayesian inference)的思想:既然不知道投票结果,那就先估计一个值,然后不断用新的信息修正,使得它越来越接近正确的值。

它可以解决 被关注比较少的帖子 排名不公平的问题。。。因为 这类型的帖子 使用上述置信区间的话,由于样本比较少,置信区间的跨度都比较大,下限也大,所以采用上面(5)的方法的话,最后结果不怎么对它有利

















这篇关于用户投票算法随手记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/889486

相关文章

openCV中KNN算法的实现

《openCV中KNN算法的实现》KNN算法是一种简单且常用的分类算法,本文主要介绍了openCV中KNN算法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录KNN算法流程使用OpenCV实现KNNOpenCV 是一个开源的跨平台计算机视觉库,它提供了各

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

mysql删除无用用户的方法实现

《mysql删除无用用户的方法实现》本文主要介绍了mysql删除无用用户的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 1、删除不用的账户(1) 查看当前已存在账户mysql> select user,host,pa

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

golang字符串匹配算法解读

《golang字符串匹配算法解读》文章介绍了字符串匹配算法的原理,特别是Knuth-Morris-Pratt(KMP)算法,该算法通过构建模式串的前缀表来减少匹配时的不必要的字符比较,从而提高效率,在... 目录简介KMP实现代码总结简介字符串匹配算法主要用于在一个较长的文本串中查找一个较短的字符串(称为

通俗易懂的Java常见限流算法具体实现

《通俗易懂的Java常见限流算法具体实现》:本文主要介绍Java常见限流算法具体实现的相关资料,包括漏桶算法、令牌桶算法、Nginx限流和Redis+Lua限流的实现原理和具体步骤,并比较了它们的... 目录一、漏桶算法1.漏桶算法的思想和原理2.具体实现二、令牌桶算法1.令牌桶算法流程:2.具体实现2.1

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp