用户投票算法随手记

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

相关文章

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基

Mysql中的用户管理实践

《Mysql中的用户管理实践》:本文主要介绍Mysql中的用户管理实践,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录13. 用户管理13.1 用户 13.1.1 用户信息 13.1.2 创建用户 13.1.3 删除用户 13.1.4 修改用户

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

详解如何在SpringBoot控制器中处理用户数据

《详解如何在SpringBoot控制器中处理用户数据》在SpringBoot应用开发中,控制器(Controller)扮演着至关重要的角色,它负责接收用户请求、处理数据并返回响应,本文将深入浅出地讲解... 目录一、获取请求参数1.1 获取查询参数1.2 获取路径参数二、处理表单提交2.1 处理表单数据三、

Springboot实现推荐系统的协同过滤算法

《Springboot实现推荐系统的协同过滤算法》协同过滤算法是一种在推荐系统中广泛使用的算法,用于预测用户对物品(如商品、电影、音乐等)的偏好,从而实现个性化推荐,下面给大家介绍Springboot... 目录前言基本原理 算法分类 计算方法应用场景 代码实现 前言协同过滤算法(Collaborativ

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils