APP下载

基于LightGBM-Gibbs Sampling的特征选择算法研究

2022-05-25产胜宁

现代计算机 2022年6期
关键词:子集特征选择复杂度

产胜宁

(贵州财经大学,贵阳 550025)

0 引言

目前随着数据量的激增和维度越来越大,维度灾难带来的问题日益突出。特征选择是机器学习为解决维度灾难的一个有效措施,被广泛应用在各个方向。在模型训练数据的过程中,没有用的冗余特征影响模型的训练效果,不仅无法提供有用的信息,还会增加模型在训练过程中的复杂度。对于一个样本数据集,特征选择是从样本的特征集合空间中有效地选择出一组特征子集,移除特征空间没有用的冗余特征子集和有效信息不足的特征子集,用较小的特征子集表示原本数据集,从而减小数据的维度,这样模型处理的复杂度也会随之减小,提高模型的处理能力。

特征选择方法在高维度数据面前受到了严峻的考验。国内外的研究者对特征选择的方法展开了大量的研究,总的来说,特征选择的方法主要分为三种:过滤式、包裹式和嵌入式。过滤式(filter)是利用特征选择方法进行特征筛选,将筛选后的特征子集作为数据供模型训练,它可以处理比较大的数据集,但是在精度上面会有所欠缺。包裹式(wrapper)是选择在模型的效果上最好的特征子集,这种方法的准确率会更高,但是因为特征子集的选择过程中会耗费大量时间,性能开销大。嵌入式(embedding)是将两个过程分别优化融合在一起实现特征选择,故它的性能和开销相比其它两个方法比较折中。对于高维大数据,传统的特征选择方法在开销上花费较大,难以有效地实现特征选择,为模型降低复杂度。Gibbs Sampling是一种面向高维数据的采样技术,采到的样本数据集是误差范围内的近似目标分布,通过Gibbs Sampling对样本数据集进行重要度排序,将会得到特征的重要性值,可以有效地实现特征选择,Qian等和冯驰都展开了基于Gibbs Sampling的特征选择,可以有效地实现特征选择。相比包裹式特征选择,基于Gibbs Sampling的特征选择方法的复杂度是一个多项式,可以有效地降低复杂度。

1 马尔科夫蒙特卡洛下的吉布斯采样

蒙特卡洛方法是一种随机模拟的采样技术,它主要是将所要求解的问题转化成建立的概率统计模型的参数或者其它相关特征,通过算法模拟随机采样,利用渐进理论把要求的问题转化成求问题的近似解。在实际的应用过程中,我们所面对问题的目标函数不是一个简单的分布,所以难以直接从目标分布函数产生样本数据,这也就抑制了蒙特卡洛(Monte Carlo)方法的发展。随着马尔科夫蒙特卡洛(MCMC)算法的发展,采样过程中的问题得到了简化,有效地解决了Monte Carlo方法的局限性,是现如今研究的一大热门。MCMC方法的核心是构建一条合适的马氏链,使得目标分布能够转化成马氏链中的平稳分布。吉布斯采样是MCMC算法中应用最为广泛的,是专门处理多维的目标分布,它主要是通过条件分布构造马氏链中的转移核。

(1)随机初始化时刻的样本{A:=1,2,…,};

(2)=0,1,…,,循环采样

③…

2 基于LightGBM-Gibbs Sampling特征选择算法

大数据情况下许多问题较为复杂,难以求得问题的精准办法,本研究巧妙地借助Gibbs采样方法,其中嵌套LightGBM算法构造条件通过模型的似然函数求条件转移概率,在一定的误差范围内,对给定问题求近似解,对采样的样本特征进行关联显著性分析,得到特征的重要程度,根据特征的重要程度实现特征选择的目的。

(1)构建初始化模型,初始化特征指标维度的特征子集,其中的系数为0或1,0代表特征未出现,1代表特征出现,即

(2)对于随机采样,需要建立采样的准则,也就是需要构建马氏链的条件转移概率。相比于AIC信息准则,BIC信息准则引入的惩罚项考虑了样本量,可以有效地解决样本数量过多时模型精度过高引起的高模型复杂度。因此本文借助BIC信息准则,建立LightGBM模型,以此构建马氏链的条件转移概率,即有

其中,为样本的数量,为模型的参数数量,为似然函数。惩罚项ln()考虑了维度,在样本数量较少维度过大的情况下可以优先解决维度灾难的困扰。表示第个特征的条件转移概率,-表示除了第个特征之外的其它所有特征。根据初始化的特征子集,利用采样准则对每一维特征进行采样。

(3)明确采样样本数量。采样的样本数量可以确定算法的计算复杂度,借助样本量降低模型的复杂度。为让采样的近似值与目标函数的真实值之间的误差在接受范围内、为保证特征指标的显著性,我们根据蒙特卡洛的标准差公式,用两倍的准则将模拟结果的误差控制在5%以内,即

可以求出不少于400,也就是说采样的样本量大于等于400时,可以保证特征指标的显著性。

(4)通过Gibbs Sampling采得不少于400的数据样本,对这条数据进行分析,将每一个特征出现的频率作为特征重要性程度,即

特征重要性值接近0,说明特征不重要;特征重要性值越接近1,说明对应特征越重要。根据特征重要性值的高低,选择特征重要性值较高的一定数量特征,可以有效地达到特征选择降维的目的,降低机器学习模型的复杂度、更好地挖掘数据的信息。使用多个不同的数据集,选择有代表性的特征选择算法和本文提出的基于Gibbs Sampling的特征选择算法分别在各个数据进行实验比较,各种不同方法选择得到的特征子集分别放入相同的模型中,通过同样的模型和评价准则验证各个算法的有效性。

3 实验结果及分析

3.1 实验数据和对比算法

实验中采用的数据均来自一些公开数据集,共有4个样本数据集,对每个数据集进行了预处理,其中包含对缺失值的处理、删除无关属性和不均衡分析与处理,样本不均衡采用了SMOTE过采样技术,最后每个样本的部分信息如表1所示。

表1 实验数据集

实验选取了卡方检验、MIC互信息法和最大信息系数、递归特征消除法RFE和基于随机森林的树模型的特征选择。这些代表性的特征选择算法与基于LightGBM-Gibbs Sampling特征选择方法分别在4个样本数据集中实验,用不同特征选择方法选一定数量的特征,在同样的模型中使用交叉验证的方法来比较各方法的准确率,进而衡量方法的有效性。

3.2 评价方法

交叉验证是一种模型验证技术,使用机器学习模型进行预测可以准确衡量一个模型在数据集上的效果。交叉验证具体做法就是将数据集划分个部分,一部分用于训练模型,其余部分测试模型的性能好坏,也叫折交叉验证。交叉验证还可以限制模型在训练过程中出现的过拟合、欠拟合问题。本文选取交叉验证的方法,取=5,产生不受高偏差和高偏差影响的测试误差估计,将平均准确率作为模型预测能力的评价方法,在同一数据上比较不同方法的平均准确率。

3.3 实验结果与分析

将本文所提出的方法与几种典型的特征选择算法分别在4个样本数据集进行对比实验,选择一定数量的特征,使用5折交叉验证的逻辑回归模型衡量模型的预测能力,4个样本数据集的实验结果见表2。

表2 数据所用方法实验比对结果

表2显现了原始数据集在模型中的准确率和进行特征选择的特征数量以及各种方法选取的相同数量的特征子集在相同模型的准确率。从表2中的实验结果可以看出,所选取的4个数据集分别使用卡方检验、MIC互信息法和最大信息系数、递归特征消除法RFE、基于随机森林的树模型的特征选择和基于LightGBMGibbs Sampling特征选择方法进行特征选择,对应4个数据分别选择8、18、7、21个属性。实验发现,相比其它4个特征选择方法,基于LightGBM-Gibbs Sampling特征选择方法取得了更好的准确率,相比原始数据集,数据集的维度不仅有效地降低了,准确率也得到了提升。

4 结语

数据的维度灾难给模型带来训练复杂、挖掘能力不足等问题,本文基于吉布斯采样的方法提出了Gibbs Sampling和LightGBM相结合的特征选择方法,使用公共数据集与几个典型的特征选择方法进行了比较,实验结果表明,基于LightGBM-Gibbs Sampling特征选择算法的方法有效性,且相比其它方法,该方法具有一定的优势,可以有效做到特征的降维。

在实际中,Gibbs Sampling的复杂度是一个多项式,相比于包裹式特征选择,复杂度已经降低了不少,但还是比较大,在后续工作中,如何解决Gibbs Sampling的复杂度是亟需解决的一个问题,力争做到特征的快速选择,降低时间成本,增强时效性。

猜你喜欢

子集特征选择复杂度
柬语母语者汉语书面语句法复杂度研究
高一上学年期末综合演练
K5;5; p 的点可区别的 IE-全染色(p ?2 028)
预期功能安全场景库复杂度量化方法研究
Kerr-AdS黑洞的复杂度
非线性电动力学黑洞的复杂度
基于智能优化算法选择特征的网络入侵检测
故障诊断中的数据建模与特征选择
reliefF算法在数据发布隐私保护中的应用研究
一种多特征融合的中文微博评价对象提取方法