我正在尝试将特征选择问题作为 RL 问题来解决,这受到论文Feature Selection as a One-Player Game 的启发。我知道蒙特卡洛树搜索(MCTS)几乎不是强化学习。
所以,我使用 MCTS 来解决这个问题,其中节点是特征的子集,边是(“向子集添加特征”),它确实会慢慢收敛到最优子集。
我有几个问题
除了并行化推出阶段之外,有没有一种聪明的方法可以加快 MCTS 的收敛?
对于具有大量特征的数据集,将节点添加到树需要时间和内存,对于 10000 个特征,它从第二次迭代中占用了我所有的 RAM (8GB),(尽管对于具有 40 个特征的数据集,它运行了 2000 多次迭代这对我来说没有意义)。这是预期的还是我的实施可能是错误的?有什么解决方法吗?
您对使用 MCTS 完成这项任务有何看法?你能想出更好的方法吗?这种方法的主要问题是将 SVM 作为评估函数运行,这可能会使算法对于大型数据集(大量训练示例)变得不切实际地慢。
我正在考虑尝试提出一个启发式函数来评估子集而不是 SVM。但我有点迷茫,不知道该怎么做。任何帮助将非常感激。