Giter Club home page Giter Club logo

deepknowledgetracing's Introduction

DeepKnowledgeTracing

source code for the paper Deep Knowledge Tracing. http://stanford.edu/~cpiech/bio/papers/deepKnowledgeTracing.pdf

At the moment the code doesn't include LSTM model, only RNN (I will upload LSTM when I get a chance).

Questions people have asked me:

Q. How do you handle multiple students during training? It looks like sequences (ie. data of different 
students) of different length are padded to the same length.
A. Correct. This is very important for training speed.
Q. Does the training code have a termination condition?
A. No. I save a copy of the model each epoch and let training run until I feel like terminating it. You can 
start training 
from any saved model (where you left off).

deepknowledgetracing's People

Contributors

chrispiech avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deepknowledgetracing's Issues

About dataAssist.lua

Hello, I get little confused in the dataAssist.lua, row 103 "student['questionId'][i] = tonumber(id) + 1". Why plus 1? you store the id of the question in the questionId of the student,why plus one to the id?

input data

Hi,

Thanks for sharing your code. But I am a little bit confused about the input data of the model, e.g. the assignments. Could you provide some explanation for it?

Forgive me being a newbie about this, but isn't the knowledge tracing kind of like movie rating prediction in collaborative filtering, where you are asked to predict unseen ratings given some historical ratings of users?

Is there an appoximate bias in AUC calculation

Notice the way AUC is calculated is by approximating to the true one where the code is

for i,p in ipairs(allPredictions) do
		if(p['truth'] == 1) then
			truePositives = truePositives + 1
		else
			falsePositives = falsePositives + 1
		end

		local guess = 0
		if(p['pred'] > 0.5) then guess = 1 end
		if(guess == p['truth']) then correct = correct + 1 end

		local fpr = falsePositives / totalNegatives
		local tpr = truePositives / totalPositives
		if(i % 500 == 0) then
			if lastFpr ~= nil then
				local trapezoid = (tpr + lastTpr) * (fpr - lastFpr) *.5
				auc = auc + trapezoid
			end	
			lastFpr = fpr
			lastTpr = tpr
		end
		if(recall == 1) then break end
	end

Wondering whether this appoximating calculation may affect the auc value.

How is Synthetic created?

Hello @chrispiech ,

Thanks for the code.
Is there the code used to generate syntheteic(simulated-5)?

In your paper, I read that there are 50 exercises and 5 concepts, but does each exercise have all 5 concepts as hidden parameter, or only one concept it requires?
I am trying to reproduce simulated data, but without further information I can't create one that can be trained well.

Thanks in advance,

How to run this Lua code?

Has anyone successfully run this code?
I'm a Lua novice, and I tried to run the code on Ubuntu 20.04.
Torch has been installed on my Linux.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.