Bayesovské sledovanie znalostí (BKT) vysvetlené na kóde
Ako EduVision odhaduje, čo študent vie, z nepresných odpovedí - štyri parametre, dve rovnice a pár riadkov Pythonu.
Tútor musí stále dookola odpovedať na jednu otázku: ovláda už tento študent túto zručnosť? Vedomosti nevidíme priamo - vidíme len odpovede a tie sú nepresné. Študenti niekedy uhádnu správnu odpoveď a inokedy sa pomýlia v niečom, čo vedia.
Bayesovské sledovanie znalostí (BKT) chápe zvládnutie ako skrytú premennú a po každej odpovedi aktualizuje pravdepodobnosť. V EduVision je to modul študenta.
Štyri parametre
| Parameter | Význam | Predvolená hodnota v EduVision |
|---|---|---|
| Pravdepodobnosť, že zručnosť je známa pred cvičením | 0.1 | |
| Pravdepodobnosť naučenia sa počas jedného pokusu | 0.1 | |
| Uhádnutie: správna odpoveď bez vedomostí | 0.2 | |
| Pošmyknutie: nesprávna odpoveď napriek vedomostiam | 0.1 |
Krok 1 - aktualizácia podľa dôkazu
Po správnej odpovedi dáva Bayesova veta:
Po nesprávnej odpovedi:
Krok 2 - zohľadnenie učenia
Samotný pokus je príležitosťou učiť sa, preto sa časť pravdepodobnosti presunie z „nevie“ na „vie“:
Implementácia
L_prev = skill.p_mastery
if is_correct:
numerator = L_prev * (1 - skill.p_slip)
denominator = numerator + (1 - L_prev) * skill.p_guess
else:
numerator = L_prev * skill.p_slip
denominator = numerator + (1 - L_prev) * (1 - skill.p_guess)
L_given_evidence = numerator / (denominator + 1e-10)
L_new = L_given_evidence + (1 - L_given_evidence) * skill.p_learn
skill.p_mastery = min(0.99, max(0.01, L_new))Záverečné obmedzenie na interval [0.01, 0.99] je dôležité: pravdepodobnosť presne 0 alebo 1 sa už nikdy nezmení, nech študent urobí čokoľvek.
Prečo BKT a nie neurónový model?
Modely hlbokého sledovania znalostí môžu byť na veľkých dátach presnejšie, no BKT má vlastnosti, na ktorých v tútorovi záleží:
- Interpretovateľnosť - štyri čísla na zručnosť, ktorým učiteľ rozumie.
- Nízka cena - jedna aktualizácia v konštantnom čase na odpoveď, bez GPU.
- Úspornosť na dáta - rozumné výsledky už od prvej odpovede.
V EduVision odhad zvládnutia vstupuje do agenta posilňovaného učenia, ktorý rozhoduje, či má byť ďalšia úloha ľahšia, rovnaká alebo ťažšia.