File size: 1,430 Bytes
a26f296
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
---
license: cc-by-nc-4.0
language: en
tags:
  - education
  - mathematics
  - misconceptions
  - deberta-v3
---

# Why did I get this wrong?

Reads a student's own explanation of a multiple-choice maths answer and names the misconception behind it.

Trained on MAP (Charting Student Math Misunderstandings, Kaggle 2025, by Eedi and The Learning Agency), licensed
CC BY-NC 4.0. These weights carry the same licence: non-commercial use only, with attribution. No student rows are
included here; `val_preds.csv` files hold row ids and labels only.

## Runs

- `runs/pair-v1-fold0`: deberta-v3-base cross-encoder, (question + chosen answer + explanation, misconception
  description) scored listwise. Fold 0 of 5: MAP@3 0.9135, top-1 0.84, misconception recall 0.91. This is the served model.
- `runs/pair-v1-newq`: same recipe with two questions held out entirely. MAP@3 0.646, misconception recall 0.06.
  It does not transfer: 32 of the 35 misconceptions in MAP occur on exactly one question, so there is nothing to
  transfer from.
- `runs/pair-smoke`: a 1,500-row smoke test, ignore.

Each run has `model.safetensors`, `tokenizer/`, `config.json` (classes, descriptions, questions, log) and `log.jsonl`.
The model takes a text pair: the prompt (question, choices, chosen answer, whether it is right, explanation) and one
misconception description from `config.json["descs"]`; the highest logit over the question's classes wins.