首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

打分排序系统漫谈1 - 时间衰减

但仍然有几个未解问题: 时间衰减过快,对于一些有长实效性的打分并不适用。能否在打分上加入指数? 如何考虑时间衰减和当前时段的关系。...思考:时间衰减 比较Hacker News,和Reddit Hot Formula, 主要的两点区别在于对点赞量(拍砖)取log进行压缩,以及不同的时间衰减项。...简单来说时间衰减的意义就是为了让新老文章的热度具有可比性,否则老的帖子会因为在更长的时间累计了更多的帖子而始终置顶。一种直观的解决办法就是给老的帖子增加时间惩罚项。...几种常见的时间衰减项包括: 线性衰减 \[ score_t = score_0 - T/G \] 幂指数衰减 \[ score_t = score_0 / (T + 2)^G \] 幂指数衰减衰减速度会随着时间加速...如果觉得幂指数的表达形式不够直观,我们可以对等式左右取个对数,会发现对数打分的变化是对数时间的线性函数,可以用这个方式来判断幂指数打分是否适用,如下: \[ log(score_t) = log(score

1.5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ElasticSearch 中使用衰减函数来完美你的搜索结果

    发布时间(发布太久的了得分需下降)后台给予的权重值(权重值越高越好)热度 调研了一下文档,发现ElasticSearch完美支持这样的需求,只需要自己定义好递减函数即可。...ES 内置了衰减函数(Decay Function)的支持。对于数值、日期和地理位置类型,可以设置一个理想的值,如果实际的值越偏离这个理想值(无论是增大还是减小),就越不符合期望,分数就越低。...,它所得的分数就开始进行衰减了,衰减规模决定了这个分数衰减速度的快慢 decay:衰减值,该字段可以被接受的值(默认为 0.5),相当于一个分界点,具体的效果与衰减的模式有关 衰减函数 linear 直线衰减...,在 0 分外的值都是 0 分 exp 衰减速度先快后慢 gauss 衰减速度先慢后快再慢 我的参数配置如下: { "query":{ // 使用得分函数 "function_score...,所有参数和高斯一致,只不过衰减程度不一样 // 值的注意的是线性函数有可能得 0 分 { "linear

    40910

    时间函数

    函数原型: unsigned int alarm(unsigned int seconds); 参数释义: seconds为零,那么进程内将不再包含任何闹钟时间。...返回值:如果调用alarm()前,进程中已经设置了闹钟时间,则返回上一个闹钟时间的剩余时间,否则返回0 说明:进程调用alarm后,任何以前的alarm()调用都将无效。...8.2 setitimer 功能:setitimer()比alarm功能强大,支持3种类型的定时器 函数原型: #include int setitimer(int which...返回值:成功返回0失败返回-1 itimer_real: 设定绝对时间;经过指定的时间后,内核将发送SIGALRM信号给本进程 itimer_virtual 设定程序执行时间,经过指定的时间后,...此函数所用结构体: struct utimebuf { time_t actime; /* access time / time_t modtime; / modification time

    92820

    权重衰减(weight decay)与学习率衰减(learning rate decay)

    1.1 L2正则化与权重衰减系数 L2正则化就是在代价函数后面再加上一个正则化项: 其中C0 代表原始的代价函数,后面那一项就是L2正则化项,它是这样来的:所有参数w的平方的和,除以训练集的样本大小...1.2 为什么可以对权重进行衰减 我们对加入L2正则化后的代价函数进行推导,先求导: 可以发现L2正则化项对b的更新没有影响,但是对于w的更新有影响: 在不使用L2正则化时...(2)从数学方面的解释:过拟合的时候,拟合函数的系数往往非常大,为什么?如下图所示,过拟合,就是拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大。在某些很小的区间里,函数值的变化很剧烈。...这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。...但是,降低学习率又会延长训练所需的时间。 学习率衰减(learning rate decay) 就是一种可以平衡这两者之间矛盾的解决方案。

    76410

    Jmeter时间函数

    Jmeter时间函数 目录 1、前言 2、函数助手 3、time函数 4、timeShift函数 5、RandomDate函数 1、前言 在我们使用 Jmeter 进行接口自动化或者压测的时候,重复迭代时有可能会使用时间来作为唯一标记...Jmeter 的函数助手提供了三种时间函数,分别是:time、timeShift、RandomDate 2、函数助手 1、打开 Jmeter,例如:测试计划里,依次创建线程组、用户参数、调试采样器、查看结果树...3、time函数 time 函数以各种格式返回当前时间 1、选择 time 函数。 2、直接点击 Generate& Copy to clipboard 按钮,进行生成并复制到剪贴板。...Function syntax 显示此函数的语法,如 ${__time(,)} The result of the function is 显示此函数的结果,如 1646208073512 以毫秒为单位返回时间...4、常用到的时间格式。

    1.7K20

    时间&日期函数

    今天要跟大家简要介绍一下excel中经常会用到的日期与时间函数!...日期与时间类的函数虽然算所有函数中最难掌握的,但是因为格式众多,形式多样,而且作为其他高级函数的辅助嵌套元素,日期与时间格式的使用又特别的灵活,所以要想彻底掌握也并非易事。...首先我们来几组excel中的日期与时间快捷键及快捷函数: 日期与时间快捷键: CTRL+; #现在日期 2016/5/5 CTRL+SHIFT+; #现在时间 9:40 ?...快捷函数: =NOW() # 2016/5/5 9:41 =TODAY()# 2016/5/5 下面我们要将常用的几种日期&时间函数的用法: NOW,TODAY,YEAR,MOTH,DAY,DATEDIF...DATEDIF(A29,TODAY(),"ym") #忽略年份后的相差月份 DATEDIF(A29,TODAY(),"yd")#忽略年份后的相差日期 在excel的单元格格式中,你也可以通过里面内置的日期与时间格式自定义成自己所需要的时间与日期格式

    3.3K70

    MySQL:日期函数时间函数总结

    MySQL 获得当前日期时间 函数 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now(...获得当前日期+时间(date + time)函数:sysdate() sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值...21 | 0 | 2008-08-08 22:28:21 | +---------------------+----------+---------------------+ sysdate() 日期时间函数...MySQL 获得当前时间函数:current_timestamp, current_timestamp() mysql> select current_timestamp, current_timestamp...、时间转换函数 MySQL Date/Time to Str(日期/时间转换为字符串)函数:date_format(date,format), time_format(time,format) 此代码由

    2.8K20

    PHP时间函数总结

    PHP关于时间函数可以参考这里,可以看到PHP已经提供了很多函数以供我们使用,熟练掌握这些函数可以让你摆脱冗长复杂的计算,希望本文能够让你事半功倍!...[TOC] PHP时区设置 在使用PHP与时间有关的时间函数时,一定要先定义时区,否则每次使用时间函数的时候会显示一个Notice级别的错误。...time time()函数应该是最简单的时间函数了,该函数不接受参数,返回的是当前时间时间戳。...Unix时间戳,这是一个很强大的函数!...纵观PHP在5.0版本的时间函数,不难发现,PHP为我们提供了一套很简单快捷的函数帮助我们处理时间,而且很多计算的方法不止一种,希望大家掌握本文提供的最基础的函数,然后运用到实际的开发中去。

    2.2K20

    python时间函数整理

    currentstr = '2013-08-21 17:05:01' print time.strptime(currentstr,'%Y-%m-%d %H:%I:%S') ''' python中时间日期格式化符号...小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) %a 本地简化星期名称 %A 本地完整星期名称 %b 本地简化的月份名称 %B 本地完整的月份名称 %c 本地相应的日期表示和时间表示...的等价符 %U 一年中的星期数(00-53)星期天为星期的开始 %w 星期(0-6),星期天为星期的开始 %W 一年中的星期数(00-53)星期一为星期的开始 %x 本地相应的日期表示 %X 本地相应的时间表示...datetime def string_toDatetime(string): return datetime.strptime(string, "%Y-%m-%d-%H") #把字符串转成时间戳形式...string_toTimestamp(strTime): return time.mktime(string_toDatetime(strTime).timetuple()) #把时间戳转成字符串形式

    32320
    领券