2

I am developing an online quiz program using reinforcement learning.

Assume that we have 1000 questions in hand and 25 questions to be asked in each quiz. Instead of asking questions at random, program has to learn from the way user answer and ask next question.

Quiz master should be a reinforcement learning agent. How to design the solution and which are the reinforcement learning techniques to be used ?

Aljo Jose
  • 523
  • can we use reinforcement learning method in adaptive testing ? – Aljo Jose Dec 06 '17 at 05:43
  • 1
    You definitely could! But the question you should ask yourself first is: what do you hope to gain with the reinforcement learning part? Reinforcement Learning is suitable if you have a goal in mind. The idea is to model the goal in the reward function and then let the agent learn how to best get to the goal. So depending on the goal, you could use reinforcement learning to make the questions increasingly difficult, optimize for engagement (e.g. finishing the quiz), etc. – Floris den Hengst Feb 17 '21 at 15:47

2 Answers2

1

First, you can store all question along with the score of difficulty. And analyze, how user is responding to question by seeing how much time they are taking to answer a question. On this basis, you can define rewards for this process.

Second you have to use good exploration strategy and sampling method(similar to multi bandit problem) . This is because, if user stuck at some question, that doesn't mean that this is a difficult question for that user. So with good sampling strategy, you can show good and interesting question by exploring so that he will visit your website again.

Ankish Bansal
  • 266
  • 1
  • 8
0

The key question you have to ask yourself first is: what is the aim of the Reinforcement Learning (RL) agent?

Phrased another way - how should it select questions?

RL learns to maximize a reward signal, so you need to know what the aim of the agent is to set that reward.

There are many RL methods you could choose from, here's a description from OpenAI of a lot of them.

Alternatively, if you'd like to learn RL in more depth, here's a practical course I worked on which teaches many of these along with exercises in Python.