One of my friends sent me a problem he was working on lately, and I couldn't help but I wonder how could it be solved using Q-learning. The statement is as follows:
Given the following datasets, the objective is to find a suitable strategy per customer contract to maximize Gain and minimize Cost according to the characteristics of the customer.
train.csv: 5000 independent rows, 33 columns.
Columns description:
- Day (1, 2 or 3): on which day the strategy was applied.
- 28 variables (A, B, C, ..., Z, AA, BB): characteristics of the individual;
- Gain: the gain for this individual for the corresponding strategy;
- Cost: the cost for this individual for the corresponding strategy;
- Strategy (0, 1 or 2): the strategy applied on this individual;
- Success: 1 if the strategy succeeded, 0 otherwise.
- If Success is 1, then the net gain is Gain - Cost, and if Success is 0, consider a standardized cost of 5.
- test.csv: 2 000 independent rows, 31 columns.
Columns description:
- Index: 0 to 1999, unique for each row.
- Day (4): on which day the strategy will be applied.
- 28 variables (A, B, C, ..., Z, AA, BB): characteristics of the client;
- Gain: the gain for this individual for the corresponding strategy;
- Cost: the cost for this individual for the corresponding strategy;
From what I understood, the train.csv
file is used to build a Q-Learning model, and the test one for generating a strategy and predicting a Success.
My main question is:
How to formulate this problem as an RL problem? How to define an episode? Since the training data is labeled, this could be clearly a classification problem (predicting the strategy), but I have no idea how to solve it using RL (Q-learning ideally). Any ideas will be helpful.