当前位置: 首页 > news >正文

从平均数到排名算法

平均数用更少的数字,概括一组数字。属于概述统计量、集中趋势测度、位置测度。中位数是第二常见的概述统计量。许多情况下比均值更合适。算术平均数是3中毕达哥拉斯平均数之一,另外两种毕达哥拉斯平均数是几何平均数和调和平均数。

算术平均

A M = 1 n ∑ i = 1 n x i AM = \frac{1}{n}\sum_{i=1}^n x_i AM=n1i=1nxi

几何平均

G M = ( ∏ i n x i ) 1 n GM = (\prod_i^n x_i)^{\frac{1}{n}} GM=(inxi)n1

可以通过面积/体积运算来理解几何平均:两个实数a,b分别对应长方形的边和宽,则实数a,b的几何平均等于这样一个正方形的边长,这个正方形的面积与a、b组成的长方形的面积相等。

更多维度情况下类似。

调和平均

H M = n ∑ i = 1 n 1 x i HM = \frac{n}{\sum_{i=1}^n\frac{1}{x_i}} HM=i=1nxi1n

两点间包含 n 段长度相同的路程,每段路程采用不同的速度 x i x_i xi完成,完成所有路程的平均速度就是x_i的调和平均。

平方平均数

Q M = 1 n ∑ i = 1 n x i 2 QM = \sqrt{\frac{1}{n}\sum_{i=1}^nx_i^2} QM=n1i=1nxi2

平均数之间的关系

H M ≤ G M ≤ A M ≤ Q M HM \le GM \le AM \le QM HMGMAMQM

关系的几何证明:

请添加图片描述

排名算法

排名问题形式简单,也就是将一组对象根据其重要性加以排序,但其解答往往不是那么简单的,充满了悖论和谜题。目前看来排名问题吸引了越来越多的人的研究兴趣,原因可能包括信息量的指数增长,数据收集能力的增强。排名的对象五花八门,比如网页、视频、直播、新闻、股票、球队等等。

排名聚合的目的是通过某种算法将多个排名结果加以融合,产出最终的单一的更好的排名结果。平均法是比较常见的排名聚合的方法,下面讨论采用不同的均值算法对排名结果的影响。

  • 调和平均:
    • H M = 2 1 / x + 1 / y , ∂ H M ∂ x = 2 ( 1 1 + x / y ) 2 , ∂ H M ∂ y = 2 ( 1 1 + y / x ) 2 HM = \frac{2}{1/x+1/y},\frac{\partial HM}{\partial x} = 2(\frac{1}{1 + x/y})^2,\frac{\partial HM}{\partial y} = 2(\frac{1}{1 + y/x})^2 HM=1/x+1/y2,xHM=2(1+x/y1)2,yHM=2(1+y/x1)2
    • 自变量x, y中较小者的导数较大,平均值结果受到较小值的影响较大
  • 几何平均数
    • G M = x y , ∂ G M ∂ x = 1 2 y x , ∂ G M ∂ y = 1 2 x y GM = \sqrt{xy},\frac{\partial GM}{\partial x} = \frac{1}{2}\sqrt{\frac{y}{x}}, \frac{\partial GM}{\partial y} = \frac{1}{2}\sqrt{\frac{x}{y}} GM=xy ,xGM=21xy ,yGM=21yx
    • 自变量x, y中较小者的导数较大,且在接近零的时候导数趋向无穷大,因此几何平均数在零附近的极小值极为敏感。
  • 算术平均数
    • A M = x + y 2 , ∂ A M ∂ x = 0.5 , ∂ A M ∂ y = 0.5 AM = \frac{x+y}{2},\frac{\partial AM}{\partial x} = 0.5, \frac{\partial AM}{\partial y} = 0.5 AM=2x+y,xAM=0.5,yAM=0.5
    • 自变量x, y导数恒定不变,不偏袒较小值和较大值
  • 平方平均数
    • Q M = x 2 + y 2 2 , ∂ Q M ∂ x = 2 1 + ( y / x ) 2 , ∂ Q M ∂ y = 2 1 + ( x / y ) 2 QM = \sqrt{\frac{x^2+y^2}{2}},\frac{\partial QM}{\partial x} = \sqrt{\frac{2}{1 + (y/x)^2}}, \frac{\partial QM}{\partial y} = \sqrt{\frac{2}{1 + (x/y)^2}} QM=2x2+y2 ,xQM=1+(y/x)22 ,yQM=1+(x/y)22
    • 自变量x, y中较大者的导数较大,平均值受较大值的影响较大

例子:考虑 x , y ∈ ( 0 , 1 ) x,y\in(0,1) x,y(0,1), 且固定 y = 0.8,观测均值随x的变化趋势(黑色:QM,橘色:AM,红色:GM,蓝色:HM)

  • x ∈ ( 0 , 0.2 ) x \in (0, 0.2) x(0,0.2) ,随着x的增大,平方平均数几乎持平,算术平均数已0.5的恒定速度增长,几何平均数增长速度最大,调和平均数增长速度紧次于几何平均数;在 x 远小于 y 的区域,平方平均数几乎不受x变化的影响,算术平均值以恒定的0.5的比例受到x变化的影响,几何平均数以远大于0.5的比例受x变化的影响,调和平均数的影响比例介于几何平均数和算术平均数之间。
  • x ∈ ( 0.2 , 0.8 ) x\in(0.2, 0.8) x(0.2,0.8),随着 x 的继续增大,对平方平均数的影响逐渐递增,算术平均数的变化率依旧不变,几何平均数从左侧接近0.5,调和平均数与几何平均数类似
  • x ∈ ( 0.8 , 1.0 ) x\in(0.8,1.0) x(0.8,1.0),随着 x 的继续增大,对平方平均数的影响继续递增,超过所有其他平均数,算术平均的变化率依然保持恒定,几何平均数变化率下降到0.5以下,但高于调和平均数。

请添加图片描述

因此在对具有多个排序属性值的对象继续排序

  • 算术平均值对多属性值的量纲不敏感,选取的对象可能是个别属性特长的,也可以是综合能力(不存在短板属性)都不错的
  • 几何平均和调和平均值对较小属性值敏感,如果对象存在短板属性,则整体排名不会太高,因此选出来的对象倾向于综合能力不错,不存在明显短板的内容
  • 平方平均值对较大值比较敏感,因此选出的内容倾向于某些熟悉特长的对象,存不存在短板影响不是很大

上文的分析对设计排名算法的启发是:

  • 多个属性缺一不可,不能有短板的情况下,适宜几何平均数和调和调和平均数:比如信息检索中的指标f1,是模型查准率precision和查全率recall的调和平均数,原因是一个有使用价值的模型,不能存在明显的偏科,大部分情况下precision = 0.9, recal = 0.1的模型,不如precisio = 0.6,recall = 0.6的模型,查准率查全率太小的模不具有实用价值。几何平均和调和平均排名中,值域小的属性对结果的影响较大,值域大的熟悉对结果影响较小,一点层度上有些反直觉
  • 容许多个属性出现某些短板,适宜算术平均值:比如一般的考试成绩汇总,采用的是加法求和,其实等价于算术平均,算术平均允许某些科目有短板,只要考生有另外一些特长科目,整体排名也会不错,又或则考试没有明显的特长,但也没有明显的短板,排名也会不错。
  • 平方平均数鼓励特长,惩罚中庸,与几何平均和调和平均相对的另一个极端。

几个属性值同分布的情况下,几类排序算法是等价的。但拉齐分布的隐射过程,可能会导致失去了原始值的信息。

相关文章:

从平均数到排名算法

平均数用更少的数字,概括一组数字。属于概述统计量、集中趋势测度、位置测度。中位数是第二常见的概述统计量。许多情况下比均值更合适。算术平均数是3中毕达哥拉斯平均数之一,另外两种毕达哥拉斯平均数是几何平均数和调和平均数。 算术平均 A M 1 n ∑…...

如何使用ESP8266微控制器和Nextion显示器为Home Assistant展示温度传感器和互联网天气预报

第一部分:引言与项目概述 在智能家居领域,实时监控和显示环境数据已经成为了一个热门的话题。无论是室内温度、室外温度,还是游泳池的温度,都可以通过各种传感器轻松获取。但如何将这些数据以直观、美观的方式展现出来呢&#xf…...

阻塞队列-生产者消费者模型

阻塞队列介绍标准库阻塞队列使用基于阻塞队列的简单生产者消费者模型。实现一个简单型阻塞队列 (基于数组实现) 阻塞队列介绍 不要和之前学多线程的就绪队列搞混; 阻塞队列:也是一个队列,先进先出。带有特殊的功能 &…...

Vector Art - 矢量艺术

什么是矢量艺术? 矢量图形允许创意人员构建高质量的艺术作品,具有干净的线条和形状,可以缩放到任何大小。探索这种文件格式如何为各种规模的项目提供创造性的机会。 什么是矢量艺术作品? 矢量艺术是由矢量图形组成的艺术。这些图形是基于…...

ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(一)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 1、数据库表方面 在原来sys_notice修改基础上增加一个表叫sys_notice_send 表结构如下: DROP …...

数据结构:二叉树的基本概念

文章目录 1. 二叉树的定义2. 二叉树的特点3. 特殊二叉树斜树满二叉树完全二叉树 4. 二叉树的性质 1. 二叉树的定义 如果我们猜一个100以内的数字,该怎么猜才能理论最快呢? 第一种方式:从1,2一直猜到100, 反正数字都是100以内,总能猜到的 第二种方式:先猜50,如果比结果小,猜75…...

利用Socks5代理IP加强跨界电商爬虫的网络安全

随着跨界电商的兴起,爬虫技术在这个领域变得越来越重要。然而,网络安全一直是一个值得关注的问题。在本文中,我们将讨论如何利用代理IP和Socks5代理来增强跨界电商爬虫的网络安全,确保稳定和可靠的数据采集,同时避免封…...

Spring学习笔记6 Bean的实例化方式

Spring学习笔记5 GoF之工厂模式_biubiubiu0706的博客-CSDN博客 Spring为Bean提供了多种实例化方式,通常包括4中(目的:更加灵活) 1.通过构造方法实例化 2.通过简单工厂模式实例化 3.通过factory-bean实例化 4.通过FactoryBean接口实例化 新建模块 spring-005 依赖 <!--S…...

大二毕设.3-网盘系统-用户模块讲解

目录 模块功能介绍 具体实现讲解 constants层&#xff1a;存放用户模块常量类 entity层&#xff1a;存放实体类&#xff0c;与数据库中的属性值基本保持一致 mapper层&#xff1a;对数据库进行数据持久化操作 service层&#xff1a;业务逻辑层&#xff0c;主要是针对具体…...

(Vue2)智慧商城项目

新增两个目录api、utils api接口模块&#xff1a;发送ajax请求的接口模块 utils工具模块&#xff1a;自己封装的一些工具方法模块 第三方组件库vant-ui PC端&#xff1a;element-ui&#xff08;element-plus&#xff09; ant-design-vue 移动端&#xff1a;vant-ui Mint UI…...

Nginx实战

虚拟主机 虚拟主机指的就是⼀个独⽴的站点&#xff0c;具有独⽴的域名&#xff0c;有完整的www服务&#xff0c;例如⽹站、FTP、邮件等 。Nginx⽀持多虚拟主机&#xff0c;在⼀台机器上可以运⾏完全独⽴的多个站点。⼀些草根流量站⻓&#xff0c;常会搭建个⼈站点进⾏资源分享交…...

day-57 代码随想录算法训练营(19)动态规划 part 17

647.回文子串 思路&#xff1a;动态规划 1.dp存储&#xff1a;判断以i开始&#xff0c;j结尾的字符串是否是回文串2.动态转移方程&#xff1a;当s[i]s[j]时&#xff0c;如果j-i<1,d[i][j]true; 如果 dp[i1][j-1]true&#xff0c;那么dp[i][j…...

在项目中,关于前端实现数据可视化的技术选择

前言 在项目中&#xff0c;数据可视化以图表、报表类型为主。 需求背景 技术框架是Vue2.x版本&#xff0c;组件库是Ant Design of Vue能够支撑足够多的图表类型开发图表大小/位置能够随意变动图表样式需要支持丰富多样的用户配置强大、开放的图表语法支持复杂的数据可视化场景…...

DT 卡通材质学习 一

渐变着色器 相交线 笔刷和卡通结合使用 修改器...

【游戏引擎架构】6.2 资源管理器

资源管理器可以分为离线部分系统和运行时系统 文章目录 离线资源管理数据库资产管道 运行时资源管理文件结构内存管理文件间引用 离线资源管理 数据库 UE的数据库可以直接浏览、编辑资产&#xff0c;看到运行时的状态&#xff1b;但也存在两个较大的缺点&#xff1a; 版本管…...

spring的ThreadPoolTaskExecutor装饰器传递调用线程信息给线程池中的线程

概述 需求是想在线程池执行任务的时候&#xff0c;在开始前将调用线程的信息传到子线程中&#xff0c;在子线程完成后&#xff0c;再清除传入的数据。 下面使用了spring的ThreadPoolTaskExecutor来实现这个需求. ThreadPoolTaskExecutor 在jdk中使用的是ThreadPoolExecutor…...

转载 - 洞察问题本质,解决工作难题

作者&#xff1a;关苏哲 高效管理者的三大技能 问题界定的6个问题 1.你所需要解决的问题是什么&#xff1f; 2.你为什么需要解决这个问题&#xff1f; 3.你期待的理想结果是什么&#xff1f; 4.这个问题包括哪些子问题&#xff1f; 5.你曾经尝试过哪些解决方式&#xff1f…...

关于计算机找不到d3dx9_43.dll,无法继续执行代码修复方法

d3dx9_43.dll是一个动态链接库文件&#xff0c;它是DirectX的一个组件&#xff0c;主要用于处理游戏中的图形、声音等多媒体元素。当这个文件丢失时&#xff0c;可能会导致以下问题&#xff1a; 1. 游戏无法正常运行&#xff1a;由于d3dx9_43.dll负责处理游戏中的多媒体元素&a…...

《从零开始的Java世界》01基本程序设计

《从零开始的Java世界》系列主要讲解Javase部分&#xff0c;从最简单的程序设计到面向对象编程&#xff0c;再到异常处理、常用API的使用&#xff0c;最后到注解、反射&#xff0c;涵盖Java基础所需的所有知识点。学习者应该从学会如何使用&#xff0c;到知道其实现原理全方位式…...

【数据开发】数据全栈知识架构,数据(平台、开发、管理、分析)

文章目录 一、数据全栈知识架构1、数据方法&#xff08;思维&#xff0c;统计学&#xff0c;实践&#xff0c;北极星&#xff09;2、数据工具&#xff1a;数据仓库3、数据规范 二、数据分析工具1、大数据平台2、数据开发&#xff1a;入库计算&#xff08;重点&#xff09;3、数…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter

java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用&#xff08;Math::max&#xff09; 2 函数接口…...

车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...