Skip to content

nowinseason/DKVMN_customizing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DKVMN CUSTOMIZING

1. Summary

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.

2. Experimental results

  • 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

3. Instruction

(1) Prepare your data

- The process of transforming the data into a form that can be learned by DKVMN is required.

Number of bundles    3
Bundle sequences     60, 60, 60
Correctness info     0, 1, 1

- The code to convert the data as above is included in main.py. (default=False)

% python main.py --trans=True

(2) Parsing & Run

- Set up Add-ons to be added to the model.

1) DKVMN (Default, Baseline)

% python main.py --auto_encoder=False --fuzzy_logic=False --feedforward=False

2) DKVMN with Fuzzy_logic

% python main.py --auto_encoder=False --fuzzy_logic=True --feedforward=False

3) DKVMN with Autoencoder

% python main.py --auto_encoder=True --fuzzy_logic=False --feedforward=False

4) DKVMN with LSTM (as feedforward)

% python main.py --auto_encoder=False --fuzzy_logic=False --feedforward=True

(3) OUTPUT

A total of three results are output.

model.pth
train_result.pickle
pred.csv

About

Knowledge Tracing

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages