Четыре числа BKT
BKT — это всего четыре числа на каждый навык. Если их понять — поняли половину модели.
Параметры
Заголовок раздела «Параметры»| Символ | Имя | Смысл | Дефолт |
|---|---|---|---|
| Initial knowledge | априорная уверенность, что ученик уже знает навык до первой попытки | 0.2 | |
| Transit | вероятность научиться за одну попытку (даже если ошибся) | 0.1 | |
| Slip | «знал, но ошибся по невнимательности» | 0.1 | |
| Guess | «не знал, но угадал / интуитивно правильно ответил» | 0.2 |
Литературные значения Corbett–Anderson: обычно лежат в коридоре 0.1–0.2 — модель остаётся устойчивой.
Зачем именно эти четыре
Заголовок раздела «Зачем именно эти четыре»Каждое из чисел отвечает на один конкретный вопрос, без которого модель ломается.
— куда поставить ученика на старте
Заголовок раздела «P(L0)P(L_0)P(L0) — куда поставить ученика на старте»До первого ответа мы про конкретного Ваню ничего не знаем. Ставим средне-низкое значение (он только начал тему):
Можно поднять до 0.4–0.5, если ученик уже силён в пререквизитах. Можно опустить до 0.1, если он только что пришёл из 7-го класса. На демо мы держим один дефолт для всех — упрощает разметку.
— может ли ученик научиться по ходу решения
Заголовок раздела «P(T)P(T)P(T) — может ли ученик научиться по ходу решения»Очень важная штука. Без модель «застывает»: ученик решает 100 задач, не растёт, и единственный способ повысить — серия правильных ответов.
С модель говорит:
Даже если ты ошибся — у тебя был шанс в процессе что-то понять. Поэтому я чуть-чуть подниму уверенность в твоём владении навыком.
— литературный дефолт. На каждой попытке прибавляем 10% шанса «сдвинуться к знанию».
— slip — спасает от паранойи
Заголовок раздела «P(S)P(S)P(S) — slip — спасает от паранойи»Без slip’а одна ошибка обнуляет уверенность модели:
Ученик ответил неправильно ⇒ он не знает.
Но это вранье. Каждый из нас иногда:
- путает знак;
- неправильно списывает условие;
- торопится и считает в уме;
- невнимателен после 4-й задачи подряд.
говорит модели:
10% правильных решающих всё равно ошибаются. Не паникуй на одной ошибке.
В результате одна ошибка снижает уверенность, но не до нуля.
— guess — спасает от наивности
Заголовок раздела «P(G)P(G)P(G) — guess — спасает от наивности»Зеркальный к slip:
- задача с выбором из 4 ответов даёт 25% шанса угадать вслепую;
- иногда ученик «случайно» подставляет правильное значение;
- бывают задачи, где можно вычислить результат, не понимая механизма.
:
20% правильных ответов могут не отражать настоящее знание. Не впадай в эйфорию на одном угадывании.
В результате один правильный ответ повышает уверенность, но не до 1.0.
Почему именно эти числа
Заголовок раздела «Почему именно эти числа»Это литературные дефолты из работ по BKT с 1995 года (Corbett & Anderson, User Modeling and User-Adapted Interaction). Они работают на широком спектре предметов (математика, грамматика, программирование) при отсутствии конкретных данных.
В реальном продакшне их можно (и нужно) подгонять автоматически на исторических ответах учеников через алгоритм EM (Expectation-Maximization). Это разбирается в Notebook 3 — EM fitting.
Если спросят про выбор дефолтов
Заголовок раздела «Если спросят про выбор дефолтов»«Почему , а не ?»
Готовый ответ:
Это литературные дефолты из классических работ по BKT. На реальных данных их подгоняют через EM-алгоритм, мы это запланировали в roadmap. Для MVP важно зафиксировать разумную базу — изменение в районе 0.05–0.15 качественно картину не меняет.
Что произойдёт, если параметры сильно не такие
Заголовок раздела «Что произойдёт, если параметры сильно не такие»Полное исследование чувствительности — в Notebook 2 — Parameter sensitivity. Краткий спойлер:
- — модель «не верит» правильным ответам, почти не растёт. Учеников будет «гонять по тренировке» бесконечно.
- — модель «не верит» неправильным ответам, почти не падает. Слабые ученики получают слишком сложные задачи.
- — ученик не учится, может только демонстрировать знания. Никакого реального обучения не моделируется.
- — ученик учится «бегом», достигает 0.95 за 2-3 задачи. Реалистично только для очень мотивированных взрослых.
Дефолты 0.2 / 0.1 / 0.1 / 0.2 — золотая середина.
Поиграй: как и влияют на кривую
Заголовок раздела «Поиграй: как P(S)P(S)P(S) и P(G)P(G)P(G) влияют на кривую P(solve)P(\text{solve})P(solve)»Двигай ползунки и наблюдай: — это левый край прямой (чему равна вероятность решения, когда ), а — правый (потолок при ). Между ними — наклон, который равен .
Прямая. P(solve) при P(L)=0 равно P(G), при P(L)=1 равно 1−P(S). Наклон = 1−P(S)−P(G).
Если (например 0.5/0.5) — кривая плоская, и тогда наблюдение «решил/не решил» ничего не говорит о . В этом случае BKT не работает.
Теперь, когда у нас есть состояние () и параметры (), можно перейти к формуле обновления — самой математике BKT. Это следующая глава.