arghosh / AKT

MIT License
93 stars 31 forks source link

why in test() function. The qa_data pass into model? #3

Closed phanxuanphucnd closed 3 years ago

phanxuanphucnd commented 3 years ago

why in test() function. The all qa_data pass into model? That is, the i'th response passed into model to predict for the i'th response?

1

phanxuanphucnd commented 3 years ago

hi @arghosh pls, help me !

arghosh commented 3 years ago

Hi @phanxuanphucnd, it is passed to check the accuracy of the model. If you see the forward pass of the model, it will use 1:t-1 responses to predict t^th response. This is done via mask in the model.

phanxuanphucnd commented 3 years ago

Hi @arghosh. In my understanding, this seems to be true as we already know the labels of tests. Assume that, labels is unavailable. How does this work?

arghosh commented 3 years ago

So in KT framework, we predict future responses based on past performances. If the prior history is 0, the model will be bad. Suppose, you want to predict t^th response (which is unavailable) based on t-1 responses (these should be available), just put anything (0, or 1) for the t^th response.

I am assuming you are talking about challenge setup. I need to understand what your exact problem setup is. Depending on your problem, it might not be a KT problem. You can use some collaborative filtering based techniques.

phanxuanphucnd commented 3 years ago

Yes, Thanks @arghosh !

arghosh commented 3 years ago

in akt.py code Line 159 => Line 208 =>Line 281 =>Line 326 it masks the current and future responses.