1 引言
随着互联网、物联网、传感器等技术的快速发展, 人们在生产和生活中产生了大量的数据, 从这些数据中可以挖掘到有价值的信息. 然而其中很多数据呈现出样本数量庞大并且数据特征维度高的特点, 这种特点加大了数据挖掘的难度. 针对以上问题, 可以通过特征选择(Feature Selection)删除数据中无关、冗余的特征信息, 从而降低数据维度、噪音的干扰和算法的复杂度, 使模型变得简单且易于理解, 改进数据挖掘性能, 为后期的预测分析准备干净且可理解的数据. 在数据挖掘领域, 特征选择已经成为一个研究的热点.
目前特征选择问题的处理方法, 根据其是否依赖后续的学习算法, 大体上可以分为过滤式(Filter)和封装式(Wrapper)两种方法[. Filter方法一般使用距离、信息、依赖性、一致性评价准则来增强特征与类的相关性, 削弱特征之间的相关性, 从而选出更能代表原数据特点的特征子集. 该类方法特征选择效率较高, 但对噪声敏感, 在实际应用中一般都是采用此类方法进行特征的初步筛选. Wrapper方法和所使用的分类器关系紧密, 该方法在特征筛选过程中直接用所选特征子集来训练分类器, 之后用这个分类器在验证集上的表现来评价所选的特征. 因其直接用学习算法评估特征子集, 有利于关键特征的提取, 所以得到的特征子集有较高的分类性能, 预测准确性较高; 但是Wrapper方法存在时间复杂度高的问题, 不适用于超大规模的数据挖掘任务. 然而随着计算能力提高和分布式技术的成熟, 在一定程度上解决了时间复杂度高的问题, Wrapper方法越发受到广大研究者的青睐[.
强化学习(Reinforcement Learning)是机器学习中的一个领域, 其基本思想是从环境中得到反馈而学习, 即所谓的试错学习方法. 在学习过程中, 智能体Agent不断地尝试进行选择, 并根据环境的反馈调整动作的评价值, 最终智能体Agent选择获得最大回报的策略作为最优策略[. DeepMind团队提出的围棋机器人AlphaGo的算法中就包含了强化学习算法思想[.
研究中发现传统特征选择算法存在着不足, 或是选择的特征子集在进行分类任务时准确率较低, 或是选择的特征子集规模较大[. 针对以上问题, 本文结合强化学习的决策能力和Wrapper特征选择方法, 提出了一种基于强化学习的特征选择方法(Reinforcement Learning for Feature Selection, RLFS), 将强化学习的学习和决策能力应用于特征选择过程中, 通过训练学习得到特征子集. 最后通过仿真实验证明了RLFS方法有良好的降维能力, 并有较高的分类准确率.
2 相关理论
2.1 信息熵
信息熵将随机变量取值的不确定性程度以数值的大小形式来衡量, 目的是描述信息含量的多少. 假设X是一个随机变量, X取值为x的概率用p(x)表示, 则变量X的不确定程度可以表示为信息熵H(X)的形式,
${ {H}}\left( { {X}} \right){\rm{ = - }}\int_x { { {p}}\left( x \right)} \log p\left( x \right)dx$
(1)
由此定义分析可得, 信息熵H(X)只与变量X的概率分布有关, 而与其取值无关. 这表明信息熵可以一定程度上避免噪声数据的干扰. 并且当变量X的不确定程度较高时, 则概率分布越大, 其信息熵也随之越大, 所需的信息量越多[. 在数据分类中每个特征f可看作变量X, 此种情况下, 特征f的信息熵就是样本数据集相对于特征f的不纯度(Impurity)的量化形式, 表示特征f包含信息量的多少, H( f)越大, 则表明取值范围分布比较均匀, 信息纯度较低; 反之, 当H( f)越小则说明特征值分布较不均匀, 可能某个或几个值的样本较多. 如某一个特征f在样本数据集中取值唯一时, H( f)=0, 此时数据集对于特征f来讲是最纯的, 但这也意味该特征不能为分类提供任何有用信息[.
基于以上分析, 在特征选择过程中可以通过计算每个特征的信息熵来衡量该特征所包含信息量的多少, 优先选择信息熵较大的特征.
2.2 Pearson相关系数
Pearson相关系数反映了两个变量间的线性相关程度, 是一种线性相关系数. 假设, X, Y为随机变量, 两个随机变量的Pearson相关系数定义如下,
${\rho _{x,y}} = \frac{ {\sum\limits_{i = 1}^n {\left( { {X_i} - \overline X } \right)\left( { {Y_i} - \overline Y } \right)} }}{ {\sqrt {\sum\limits_{i = 1}^n { { {\left( { {X_i} - \ov