fsrs遗忘算法
FSRS(Free Spaced Repetition Scheduler)是一种基于动态间隔重复的遗忘算法,由 SuperMemo 的 DSR 模型扩展而来,用于预测用户对某个知识点的遗忘概率,并据此智能安排复习时间。
一、核心原理
FSRS 基于三个关键变量建模记忆状态:
表格
复制
| 变量 | 含义 |
|---|---|
| 难度(Difficulty) | 表示学习材料的难易程度,影响记忆稳定性增长的速度。 |
| 稳定性(Stability) | 表示记忆的“存储强度”,越高则遗忘越慢。 |
| 可提取性(Retrievability) | 表示记忆的“检索强度”,越低则越容易遗忘。 |
每次复习后,FSRS 会根据用户的评分(如“重来/困难/良好/简单”)动态更新这三个参数,从而调整下一次复习的间隔
。
二、算法公式(简化版)
FSRS 使用如下记忆强度预测模型:
S(t) = S₀ * (1 + α*(t/β)^γ) * e^(-λ*t)
其中:
-
S₀:初始记忆强度 -
α:学习速率系数 -
β:时间衰减因子 -
γ:非线性调节参数 -
λ:遗忘曲线系数
该模型通过机器学习拟合用户行为,动态优化复习间隔
。
三、与传统算法(如 SM-2)对比
表格
复制
| 特性 | FSRS | SM-2 |
|---|---|---|
| 参数自适应 | ✅ 动态调整 | ❌ 固定参数 |
| 预测精度 | 误差 < 15% | 误差 25%-30% |
| 计算复杂度 | O(n)(带优化器) | O(1) |
| 适用场景 | 长期记忆保持 | 短期记忆训练 |
FSRS 更适合长期、个性化的记忆保持任务
。
四、应用场景
-
语言学习:如记忆单词、语法点
-
考试备考:如医学、法律等需要大量记忆的专业
-
职业培训:如学习新技术、流程规范
-
个人知识管理:如 Notion、Anki 等工具中集成 FSRS 插件
五、实际应用案例
-
Anki:FSRS 已作为官方可选算法替代 SM-2,用户可开启“FSRS 调度器”并自定义参数,如目标保留率(默认 90%)
-
。
-
墨墨背单词:其 MMX 算法为 FSRS 的变体,专用于中文词汇记忆。
-
Rember:AI 自动生成卡片,采用 FSRS-5 算法安排复习。
六、优势总结
-
✅ 个性化强:根据用户历史行为自动调整参数
-
✅ 记忆效率高:减少无效复习,提升长期保留率
-
✅ 支持多平台:Anki、Python、Notion、Java 等均有实现
-
✅ 开源可定制:如 Py-FSRS、FSRS4Anki 等项目提供完整 API
如你有具体使用场景(如想在 Anki 中配置 FSRS、或用 Python 自定义调度器),我可以提供详细操作指南。
更多推荐



所有评论(0)