特征选择是构建机器学习模型过程中的决定性步骤。为模型和我们想要完成的任务选择好的特征,可以提高性能。

如果我们处理的是高维数据集,那么选择特征就显得尤为重要。它使模型能够更快更好地学习。我们的想法是找到最优数量的特征和最有意义的特征。

在本文中,我们将介绍并实现一种新的通过强化学习策略的特征选择。我们先讨论强化学习,尤其是马尔可夫决策过程。它是数据科学领域的一种非常新的方法,尤其适用于特征选择。然后介绍它的实现以及如何安装和使用python库(FSRLearning)。最后再使用一个简单的示例来演示这一过程。

强化学习:特征选择的马尔可夫决策问题

强化学习(RL)技术可以非常有效地解决像游戏解决这样的问题。而强化学习的概念是基于马尔可夫决策过程(MDP)。这里的重点不是要深入定义而是要大致了解它是如何运作的,以及它如何对我们的问题有用。

强化学习背后的想法是,代理从一个未知的环境开始。采取行动来完成任务。在代理在当前状态和他之前选择的行为的作用下,会更倾向于选择一些行为。在每到达一个新状态并采取行动时,代理都会获得奖励。以下是我们需要为特征选择而定义的主要参数:

状态、行动、奖励、如何选择行动

首先,状态是数据集中存在的特征的子集。例如,如果数据集有三个特征(年龄,性别,身高)加上一个标签,则可能的状态如下:

[]                                             --> Empty set                          
 [Age], [Gender], [Height]                       --> 1-feature set
 [Age, Gender], [Gender, Height], [Age, Height] --> 2-feature set
 [Age, Gender, Height]                           --> All-feature set