Знание как вероятность
Скрытое vs наблюдаемое
Заголовок раздела «Скрытое vs наблюдаемое»Классическая ошибка — пытаться напрямую определить, знает ли ученик тему. Это невозможно: умение — внутри головы, мы видим только результат (правильно / неправильно).
В BKT мы сдаёмся на это и говорим:
Состояние ученика — это скрытая переменная. Мы её не знаем точно. Но мы можем оценивать вероятность того, что ученик ею владеет.
Эта вероятность — главное число всей модели:
L — от learned. Это просто число от 0 до 1.
- — мы уверены, что не знает.
- — «понятия не имеем».
- — уверены, что знает.
В реальности почти никогда не бывает строго 0 или 1 — модель оставляет себе сомнение. Это правильно: один правильный ответ — не доказательство, одна ошибка — не приговор.
Откуда берётся стартовое значение
Заголовок раздела «Откуда берётся стартовое значение»Когда ученик впервые встречается с навыком, мы ставим априорную вероятность — нашу догадку до любых наблюдений.
Литературный дефолт — :
«Скорее не знает, но чуть-чуть, может быть, что-то слышал.»
Если у тебя по теме отличные показатели на других навыках, можно поднять. Если тема свежая — оставить 0.2. Этот параметр потом подгонится автоматически на реальных данных (см. Notebook 3 — EM fitting).
Что делает модель после каждого ответа
Заголовок раздела «Что делает модель после каждого ответа»Простыми словами:
- Правильный ответ → растёт.
- Неправильный ответ → падает.
- Но не на «целое» — а на величину, которая зависит от того, насколько уверена модель до наблюдения, и от параметров slip/guess (см. главу 4).
Главное: движется плавно. Это спасает модель от двух распространённых ошибок:
- Паника при одной ошибке («ученик ничего не знает!»).
- Эйфория при одном правильном ответе («гений!»).
Графически
Заголовок раздела «Графически»Шкала уверенности модели:
0 ────────●────────────────────────────────── 1не знает P(L)=0.2 (старт) знает
После одной правильной задачи:0 ─────────────────────●───────────────────── 1 P(L)=0.58
После двух правильных:0 ─────────────────────────────────●───────── 1 P(L)=0.87Цифры — реальные результаты обновления BKT с дефолтными параметрами. Численный пример разбирает их в деталях.
Один счётчик — на каждый микро-навык
Заголовок раздела «Один счётчик — на каждый микро-навык»Важный нюанс: мы не храним один на ученика. Мы храним вектор:
Иван: раскрытие_скобок: 0.42 распределительный_закон: 0.81 знаки: 0.66 перенос_через_равно: 0.55 ...То есть каждый навык — отдельная история. Иван может быть силён в арифметике и слаб в скобках одновременно, и модель это видит.
Поиграй: P(L) меняется при ответах
Заголовок раздела «Поиграй: P(L) меняется при ответах»Ниже — реальный BKT-симулятор. Жми ✓ или ✗ и смотри, как ползёт вверх (правильные ответы) или вниз (ошибки), а автоматически тянется за ним.
Параметры BKT
Заметь:
- никогда не достигает 0 или 1 строго — в BKT всегда есть остаток сомнения;
- после правильного ответа подскакивает, после ошибки — падает, но не симметрично;
- всегда «сжатее» — между и , потому что включает шум угадывания и слипа.
Зачем мы храним вектор для каждого навыка, и почему один общий «уровень математики» — плохая идея, в следующей главе.