In order to create a model that predicts student learning, a model that predicts the next result by sequentially inputting individual student learning-related data is needed. In this experiment, the DKVMN (Dynamic Key Value Memory Network) model was used, which is a deep learning model with a structure in which the memory of students is updated over time by storing the student's learning records in a memory network. In addition, the model was improved by inputting feature data into the existing DKVMN model and learning by applying Fuzzy Logic to the attention mechanism of the memory network. To compare the performance of the models proposed in this experiment, the AUC (Area under the ROC Curve) of each model was compared, and 20 Epochs were trained. In order to improve the model in the future, it is expected to utilize the memory network, and research on using features in combination with bundles is required.
- Epochs 20
model | 1 | 5 | 10 | 15 | 20 |
---|---|---|---|---|---|
Vanillar DKVMN | 0.6871 | 0.7482 | 0.7643 | 0.7766 | 0.7799 |
Fuzzy Logic DKVMN | 0.6760 | 0.7475 | 0.7659 | 0.7752 | 0.7789 |
Feature AutoEncoder DKVMN | 0.5276 | 0.5349 | 0.5913 | 0.6048 | 0.6209 |
Feature AutoEncoder + Fuzzy Lgoic DKVMN | 0.5339 | 0.6174 | 0.6294 | 0.6472 | 0.6521 |
- Epochs 50
model | 1 | 15 | 25 | 35 | 50 |
---|---|---|---|---|---|
Vanillar DKVMN | 0.6813 | 0.7725 | 0.7814 | 0.7876 | 0.7900 |
Fuzzy Logic DKVMN | 0.6819 | 0.7773 | 0.7809 | 0.7856 | 0.7893 |
- Epochs 300
model | 300 |
---|---|
Vanillar DKVMN | 0.8154 |
Number of bundles 3
Bundle sequences 60, 60, 60
Correctness info 0, 1, 1
% python main.py --trans=True
% python main.py --auto_encoder=False --fuzzy_logic=False --feedforward=False
% python main.py --auto_encoder=False --fuzzy_logic=True --feedforward=False
% python main.py --auto_encoder=True --fuzzy_logic=False --feedforward=False
% python main.py --auto_encoder=False --fuzzy_logic=False --feedforward=True
model.pth
train_result.pickle
pred.csv