遗忘算法:算法概述

article/2025/8/30 12:46:50

一、遗忘算法原理

能够从未知的事物中发现关联、提炼规律才是真正智能的标志,而遗忘正是使用智能生物具备这一能力的工具,也是适应变化的利器,“遗忘”这一颇具负能量特征的家伙是如何实现发现这么个神奇魔法的呢?


让我们从巴甫洛夫的狗说起:狗听到了铃声就知道开饭了。

铃声和开饭之间并不存在必然的联系,我们知道之所以狗会将两者联系在一起,是因为巴甫洛夫有意的将两者一次次在狗那儿重复出现。所以,重复是建立关联的必要条件。


我们还可以想象,狗在进食的时候听到的声音还可能有鸟叫声、风吹树叶的沙沙声,为什么这些同样具备重复特征声音却没有和开饭建立关联呢?


细分辨我们不难想到:铃声和开饭之间不仅重复共现,而且这种重复共现还具备一个相对稳定的周期,而其他的那些声音和开饭的共现则是随机的。


那么遗忘又在其中如何起作用呢?

1、所有事物一视同仁的按相同的规律进行遗忘;

2、偶尔或随机出现的事物因此会随时间而逐渐淡忘;

3、而具有相对稳定周期重复再现的事物,虽然也按同样的规则遗忘,但由于周期性的得到补充,从而可以动态的保留在记忆中。



在自然语言处理中,很多对象比如:词、词与词的关联、模版等,都具备按相对稳定重现的特征,因此非常适用遗忘来处理。



二、相关算法

那么,用什么来模拟遗忘呢?

提到遗忘,很自然的会想到艾宾浩斯遗忘曲线,如果这条曲线有个函数形式,那么无疑是模拟遗忘的最佳建模选择。遗憾的是它只是一组离散的实验数据,但至少让我们知道,遗忘是呈指数衰减的。另外有一个事实,有的人记性好些,有的人记性差些,不同人之间的遗忘曲线是不同的,但这并不会从本质上影响不同人对事物的认知,也就是说,如果存在一个遗忘的函数,它首先是指数形式的,其次在实用过程中,该函数的系数并不那么重要。

这提醒我们,可以尝试用一些指数形式的函数来代替遗忘曲线,然后用实践去检验,如果能满足工程实用就很好,这样的函数公式并不难找,比如:退火算法、半衰期公式。


三、牛顿冷却公式

现在,我们来讲一个新的问题:根据用户的投票,决定最近一段时间内的“热文排名”。我们可以把“热文排名”想象成一个“自然冷却”的过程:

1)任意时刻,网站中所有的文章,都有一个“当前温度”,温度最高的文章就排在第一位。

2)如果一个用户对某篇文章投了赞成票,该文章的温度就上升一度。

3)随着时间流逝,所有文章的温度都逐渐“冷却”。

这样假设的意义,在于我们可以照搬物理学的冷却定律,使用现成的公式,建立“温度”与“时间”之间的函数关系,轻松构造一个“指数式衰减”的过程。

       

伟大的物理学家牛顿,早在17世纪就提出了温度冷却的数学公式,然后被后人称作“牛顿冷却定律”用一句话概括:物体的冷却速度,与其当前温度与室温之间的温差成正比


数学公式:

其中,T(t) 是温度 T 的时间 t 函数,H表示室温,T(t) - H 表当前温度与室温的温差,a 室温与降温速率之间的比例关系。

第一步:改写方程,然后两边去积分。

        

第二步: 求积分的解,C为常数

                

第三步:假定在时刻t0,该物体的温度是T(t0),简写为T0。带入上面方程得到

        

第四步:将C带入第二步的方程

  

假设室温为0,那么

本期温度 = 上期温度*exp(-(冷却系数)*时间间隔)

同理:本期得分 = 上期得分*exp(-(冷却系数)*时间间隔)





http://chatgpt.dhexx.cn/article/nfpNpND2.shtml

相关文章

艾宾浩斯记忆遗忘曲线

赫尔曼•艾宾浩斯 Hermann Ebbinghaus 1850.01.24-1909.02.26,德国实验心理学家,实验学习心理学的创始人,也是最早采用实验方法研究人类高级心理过程的心理学家。 艾宾浩斯的研究方法是客观的、实验的、通过细致观察和记录可以量化…

怎样利用遗忘曲线来进行有效复习?

遗忘曲线由德国心理学家艾宾浩斯(H.Ebbinghaus)研究发现,描述了人类大脑对新事物遗忘的规律。人体大脑对新事物遗忘的循序渐进的直观描述,人们可以从遗忘曲线中掌握遗忘规律并加以利用,从而提升自我记忆能力。该曲线对人类记忆认知研究产生了…

基于艾宾浩斯遗忘曲线的APP(大学毕业设计)

前言 大学毕业设计项目展示 软件使用的图片素材是网上随便找的,比较简陋 一、登录功能实现 登录界面采用抽屉布局,主要控件有Toolbar、LinearLayout、TextView、GridView、Button。界面如图所示。 登录后主要工作是用户进行签到,查看本月共…

基于艾宾浩斯遗忘曲线的英语词汇学习微信小程序——一些思路和想法

之前想做一个利用艾宾浩斯遗忘曲线规律来背单词的小程序&#xff0c;但是不太知道这么做&#xff0c;参考查阅了很多文章&#xff0c;这里整理一下思路。 一、艾宾浩斯遗忘曲线 艾宾浩斯遗忘曲线的具体应用是利<复习点>来重复学习单词。 百度百科里面写的<复习点&g…

艾宾浩斯曲线在线 PDF 文件生成 在线背单词 背单词计划表 高考-四级-六级-SAT-托福-雅思-GRE-17 天搞定 GRE 单词, 背单词神器-动态生成时间表! 利用艾宾浩斯记忆曲线自动生成背单

[TOC](艾宾浩斯记忆曲线]计划表自动生成器 艾宾浩斯抗遗忘曲线(记忆曲线)学习计划生成器 生成艾宾浩斯记忆曲线(也叫遗忘曲线)的好东西 艾宾浩斯曲线在线 PDF 文件生成 在线背单词 背单词计划表 高考-四级-六级-SAT-托福-雅思-GRE-17 天搞定 GRE 单词, 背单词神器-动态生成时间…

遗忘的知识点

1.两个数组或者对象&#xff0c;即使里面元素都相同&#xff0c;那么这两个数组&#xff08;对象&#xff09;也不全等。因为他们的开辟空间以及地址不一样。 <script>var a [1, 0];var b [1, 0];console.log(a b);//false</script> 2.null、undefined、not d…

根据 ”艾宾浩斯遗忘曲线“复习时间点生成的复习计划模板

根据 ”艾宾浩斯遗忘曲线“复习时间点生成的复习计划模板 编程小白&#xff0c;写的可能有点乱见谅哈。 这几天一直在看学习方法之类的内容&#xff0c;加上自己在备考cpa。就经常需要记忆很多东西。突然想起来很久之前看到过的 ”艾宾浩斯遗忘曲线“。看到网上有一些根据这个…

计算机修改人类记忆曲线,遗忘曲线

遗忘曲线由德国心理学家艾宾浩斯(H.Ebbinghaus)研究发现&#xff0c;描述了人类大脑对新事物遗忘的规律。人体大脑对新事物遗忘的循序渐进的直观描述&#xff0c;人们可以从遗忘曲线中掌握遗忘规律并加以利用&#xff0c;从而提升自我记忆能力。该曲线对人类记忆认知研究产生了…

艾宾浩斯记忆遗忘曲线-背单词

复习点的确定&#xff08;根据艾宾浩斯记忆曲线制定&#xff09;&#xff1a; Joe.Smith法-背单词-复习曲线 1&#xff0e; 第一个记忆周期&#xff1a;5 mins 2&#xff0e; 第二个记忆周期&#xff1a;30 mins 3&#xff0e; 第三个记忆周期&#xff1a;12 hours 4&…

艾宾浩斯遗忘曲线-计划表30天

遗忘曲线由德国心理学家艾宾浩斯(H.Ebbinghaus)研究发现&#xff0c;描述了人类大脑对新事物遗忘的规律。人体大脑对新事物遗忘的循序渐进的直观描述&#xff0c;人们可以从遗忘曲线中掌握遗忘规律并加以利用&#xff0c;从而提升自我记忆能力。该曲线对人类记忆认知研究产生了…

学习曲线和遗忘曲线

学习曲线的定义为"在一定时间内获得的技能或知识的速率"&#xff0c;又称练习曲线&#xff08;practice curves&#xff09;。 人们为了知道学习进程中的现象和进步的快慢的详情&#xff0c;作为以后努力的指针&#xff0c;应用统计图的方法作一条线&#xff0c;把它…

浅读艾宾浩斯遗忘曲线

从网上找的一些资料显示&#xff0c; 时间间隔记忆量刚刚记忆完毕100%20分钟后58.2%1小时后44.2%8-9小时后35.8%1天后33.7%2天后27.8%6天后25.4%1个月后21.1% 遗忘的曲线和内容有关&#xff0c;也和个人有关。有很多次&#xff0c;把事情忘记&#xff0c;或者是记错&#xff0…

Mybatis-plus sql语句 LT、LE、EQ、NE、GE、GT

allEq 全部eq(或个别isNull) allEq(Map<R, V> params) allEq(Map<R, V> params, boolean null2IsNull) allEq(boolean condition, Map<R, V> params, boolean null2IsNull)例1: allEq({id:1,name:“老王”,age:null})—>id 1 and name ‘老王’ and ag…

LT6105电流检测放大器介绍

概述&#xff1a; LT6105是一款微功率&#xff0c;高精度电流检测放大器&#xff0c;具有非常宽的输入共模范围。 LT6105通过外部检测电阻上的电压监测单向电流。输入通用相对于负电源电压&#xff08;V-&#xff09;&#xff0c;模式范围从-0.3V延伸至44V。这使得LT6105可以用…

LinuxShell脚本比较运算符, -gt, -lt; > < 的区别

今天写centos脚本的时候,遇到了一个问题, 条件不是按照我预设的方向。卧槽。蒙了都。 原始代码如下&#xff1a; #!/bin/bash # 定义 a 1111 a1111# 如果 a 大于 999 则打印 "大于"; 操蛋的是这里并不会打印 if [[ ${a} > 999 ]]; thenecho "大于" f…

Linux下lt8911exb调试总结

调试lt8911exb花了两天时间&#xff0c;总结下 ic功能介绍:mipi转eDP http://cn.lontiumsemi.com/UploadFiles/pdf/LT8911EXB_Product_Brief.pdf github下有驱动源码&#xff0c;可以直接使用(mipi配置的是burst模式) https://github.com/aystshen/lontium_lt8911exb_driver…

java中的lt;和gt;分别是什么意思

今天在做java笔试题的时候&#xff0c;有一题出现了这个符号&#xff0c;由于我不认识这个符号就做错了&#xff0c;题目如下&#xff1a;   这题的答案是A,而我选了C,后面百度才知道<的意思是小于( < )符号&#xff0c;在用markdown写文章的时候&#xff0c;就会显示…

[RK3399][Android8.1] 调试记录 --- LT9611驱动调试

Platform: RK3399 OS: Android 8.1 现象: 使用LT9611实现MIPI TO HDMI输出功能&#xff0c;使用官方提供驱动后HDMI输出时有时无&#xff0c;并且很不稳定 问题1 1.开机HDMI没有输出&#xff0c;根据打印发现问题是HDMI输出为0&#xff0c;但是系统认为已经输出 &#xff…

一款mipi转lvds的lcd调试(lt8912b)

一款mipi转lvds的lcd调试&#xff08;lt8912b&#xff09; 客户调试一款mipi转lvds的屏&#xff0c;使用的转换芯片是lt8912b。现将调试过程做个记录。 这款芯片之前在别的客户项目上调试过&#xff0c;但是这个客户的板子上存在如下问题&#xff1a;配置好设备树和驱动后&…