a6f05ab2d5
- Phase 0: AGENTS.md cleanup (dedup quotes, renumber sections, merge qmd) - Phase 1: typed relations (manage-relations.py, graph-search.py, check-staleness.py, detect-conflicts.py) - Phase 2: frontmatter validator, weekly lint, knowledge promotion, git hooks - Fix .gitignore to track tools/ and .githooks/ - Fix git remote URL (remove plaintext token) - New wiki pages: 504 pages, 34 raw sources
146 lines
3.8 KiB
Markdown
146 lines
3.8 KiB
Markdown
---
|
||
categories:
|
||
- "[[LLM Wiki]]"
|
||
tags:
|
||
- wiki
|
||
- concept
|
||
- knowledge-tracing
|
||
- adaptive-learning
|
||
- bayesian-inference
|
||
created: 2026-04-20
|
||
source: "[[教学大模型发展状况深度研究报告-20260415]]"
|
||
type: concept
|
||
aliases:
|
||
- 知识追踪
|
||
- Knowledge Tracing
|
||
- KT
|
||
---
|
||
|
||
# 知识追踪
|
||
|
||
知识追踪(Knowledge Tracing, KT)是自适应学习系统的核心技术,通过概率模型动态估计学生对各个知识点的掌握程度。
|
||
|
||
## 定义
|
||
|
||
知识追踪是一种基于贝叶斯推理的方法,根据学生的历史答题记录,实时更新学生对每个知识点的掌握概率。
|
||
|
||
## 核心思想
|
||
|
||
### 概率模型
|
||
|
||
知识追踪将学生对知识点 k 的掌握建模为概率:
|
||
|
||
```python
|
||
# 简化的知识状态更新逻辑
|
||
P(knowing_k | response) = f(
|
||
prior_knowledge, # 先验知识概率
|
||
response_correct, # 回答正确/错误
|
||
difficulty_k, # 问题难度
|
||
time_taken # 回答时间
|
||
)
|
||
```
|
||
|
||
### 贝叶斯更新
|
||
|
||
```
|
||
初始状态:P(knowing_k) = 0.5(完全未知)
|
||
|
||
回答问题k_1(正确):
|
||
P(knowing_k | correct) = 0.8 (掌握概率上升)
|
||
|
||
回答问题k_2(错误):
|
||
P(knowing_k | incorrect) = 0.6 (掌握概率下降)
|
||
|
||
回答问题k_3(正确):
|
||
P(knowing_k | correct) = 0.85 (掌握概率进一步上升)
|
||
```
|
||
|
||
## 知识追踪算法演化
|
||
|
||
| 代际 | 算法 | 特点 |
|
||
|------|------|------|
|
||
| **1.0** | 贝叶斯知识追踪(BKT) | 单知识点独立追踪 |
|
||
| **2.0** | 因子追踪(PFA) | 多知识点依赖建模 |
|
||
| **3.0** | 深度知识追踪(DKT) | RNN/LSTM时序建模 |
|
||
| **4.0** | Transformer知识追踪 | 注意力机制,并行推理 |
|
||
|
||
## 核心组件
|
||
|
||
### 1. 知识点模型
|
||
|
||
每个知识点独立建模:
|
||
- 先验概率 P(knowing_k)
|
||
- 概率学习概率 P(learn)
|
||
- 概率遗忘概率 P(forget)
|
||
- 概率猜测概率 P(guess)
|
||
- 概率失误概率 P(slip)
|
||
|
||
### 2. 答题记录
|
||
|
||
```
|
||
学生答题历史:
|
||
[
|
||
{question_id: 1, correct: false, time: 5.2},
|
||
{question_id: 2, correct: true, time: 3.1},
|
||
{question_id: 3, correct: true, time: 2.8},
|
||
...
|
||
]
|
||
```
|
||
|
||
### 3. 状态更新
|
||
|
||
```
|
||
for each response:
|
||
P(knowing_k) = update(
|
||
prior = P(knowing_k),
|
||
response = correct/false,
|
||
difficulty = difficulty_k,
|
||
time = time_taken
|
||
)
|
||
|
||
if P(knowing_k) > 0.8:
|
||
标记为"已掌握"
|
||
移出练习队列
|
||
```
|
||
|
||
## 实践应用
|
||
|
||
| 产品 | 应用方式 | 效果 |
|
||
|------|----------|------|
|
||
| **ALEKS** | 知识追踪算法 | 精准诊断知识空白 |
|
||
| **Duolingo** | Birdbrain个性化模型 | 自适应难度调整 |
|
||
| **Khanmigo** | 结合LLM的推理能力 | 动态学习路径规划 |
|
||
|
||
## 核心优势
|
||
|
||
1. **实时适应**:每次答题都更新知识状态
|
||
2. **精准诊断**:可以识别每个知识点的掌握程度
|
||
3. **预测能力**:可以预测学生未来表现
|
||
4. **完全个性化**:每个学生的知识状态都是独特的
|
||
|
||
## 局限性
|
||
|
||
1. **数据需求大**:需要大量答题历史才能准确估计
|
||
2. **独立性假设**:传统BKT假设知识点独立(简化了实际情况)
|
||
3. **冷启动问题**:新学生缺乏历史数据,初始估计不准确
|
||
|
||
## LLM时代的新发展
|
||
|
||
随着大语言模型的发展,知识追踪正在与LLM结合:
|
||
|
||
- **LLM辅助知识追踪**:用LLM从对话中推断知识状态
|
||
- **多模态知识追踪**:结合语音、图像、文本等多模态信息
|
||
- **可解释性增强**:用LLM解释知识追踪的推理过程
|
||
|
||
## 相关概念
|
||
|
||
- [[知识空间理论]] — 知识结构的形式化表示
|
||
- [[ITS(智能辅导系统)]] — 应用知识追踪的系统
|
||
- [[自适应学习]] — 学习理念
|
||
- [[ALEKS]] — 知识追踪的代表产品
|
||
- [[Duolingo]] — Birdbrain个性化模型
|
||
|
||
## 来源
|
||
|
||
- [[教学大模型发展状况深度研究报告-20260415]] — 知识追踪算法、应用案例
|