作者:杰少,炼丹笔记嘉宾
DoubleEnsemble
简介
本文,我们介绍一种新的集成算法,算法的基本思想是希望让噪音样本的权重减小,让难以分类的样本权重增大从而提升模型的效果,从论文的思路和实验结果来看都是非常不错的,和大家一起分享一下。
在金融数据集中,数据的信噪比是非常低的,使用复杂的NN模型最大的挑战就是过拟合问题,而且相对并不稳定。当前非常多交易公司会生产非常多的特征(也称因子)。如何自动选择有效的特征成为一个迫在眉睫的问题。为了解决这些问题,本文提出DoubleEnsemble,这是一个集成框架,利用基于学习轨迹的样本重新加权和基于shuffle的特征选择。
具体地说,我们根据每个样本的训练动态识别关键样本,并通过shuffle根据每个特征的消融影响提取关键特征。
我们的模型适用于广泛的基础模型,能够抽取复杂的模式,同时缓解金融市场预测的过度拟合和不稳定问题。我们进行了广泛的实验,包括加密货币和股票交易的价格预测,使用DNN和GBDT作为基础模型。实验结果表明,与几种基线方法相比,DoubleEnsemble具有更好的性能。
背景
金融数据中存在较低的信噪比,为了解决低信噪比的问题,本文提出了一种新的金融市场预测集成框架DoubleEnsemble。特别地:
在学习子模型时,可以使用多种基本模型,如线性回归模型、boosting决策树和深度神经网络。每次,使用基于采样重新加权机制的学习路径,我们对原始训练集合中的每个样本赋予一个权重,我们根据前一个子模型的损失曲线和当前集合的损失值(称之为学习轨迹),为原始训练集中的每个样本分配一个权重。此外,我们通过shuffle技术根据特征对当前集合的贡献来选择特征。
提出的方法
特征矩阵,标签, 其中,其中为样本个数,是特征个数。为第个样本特征向量, 是第个样本的标签。
在过程中,我们序列化地构建哥自模型,,在构建完第哥自模型之后,我们定义当前的集成模型为:,DoubleEnsemble的输出为是个子模型的均值。
每个子模型是在训练数据集以及一个选出的特征集合, 权重为,其中为第个样本的权重,对于第一个子模型,我们使用所有的特征以及一样的权重,对于接下来的子模型,我们使用基于采样重新加权的学习路径以及基于特征选择的shuggle技术来决定权重并且选择特征。
我们抽取在前一个模型的训练损失曲线和当前集成的损失曲线,假设在之前子模型的训练中有轮迭代。我们使用来表示学习曲线,其中是在第轮的第个样本的误差,我们使用表示损失值,为第个样本的当前集成的误差(即和的误差);
我们直接提供训练数据以及当前的集成结果。
DoubleEnsemble算法
01
算法
其中SR为:
SR算法中的(1)为,
为了防止极值的影响,我们将样本划分为B个分桶,并且给予同一个分桶中的样本一样的权重,
其中b为第个分桶的平均值,为衰减因子,这样可以是的后续的集成子模型更加均匀。
02
背后的思想
如上图所示:我们考虑分类任务中的三类样本:
我们希望我们重新加权方案能够提高难以分类的样本的权重,同时降低简单样本和噪声样本的权重。
项有助于减少简单样本的权重。具体而言,简单样品的损失很小,会导致值较大,因此权重较小。
然而,该项也会增强噪声样本,因为仅根据损失值很难区分噪声样本和难以分类的样本。我们通过的损失曲线来区分它们(上图b)。我们为具有递减归一化损失曲线的样本分配了较大的权重。由于训练过程是由大多数样本驱动的,因此大多数样本的损失趋于减少,而噪声样本的损失通常保持不变甚至增加。因此,噪声样本的归一化损耗曲线将增加,从而导致较大的值和较小的权重。对于简单易分类的样品,它们的标准化损耗曲线更有可能保持不变或者轻微波动,这会导致值适中。对于难以分类的样本,它们的归一化损失曲线在训练过程中缓慢下降,这表明它们对决策边界的贡献。这导致值较小,因此权重较大。如果上图1c所示。使用不仅增加了难分类样本的权重,而且也增加了难分类样本的权重。
最终通过和的结合,我们可以减少容易分类样本的权重和噪音样本的权重。
03
shuffling based feature selection
该算法用来对特征进行选择,并且将选择的特征输入到下一轮当中。
实验
从上面的实验中,我们发现:
小结
本文通过学习基于轨迹的样本重加权和基于洗牌的特征选择,提出了一种稳健有效的集成模型DoubleEnsemble。基于学习轨迹的样本重加权方法将不同难度的样本赋予不同的权重,非常适合于高噪声和不规则的市场数据。基于shuffle的特征选择可以识别特征对模型的贡献,并为不同的子模型选择权重和多样的特征。目前该方法代码已经开源,有兴趣的朋友可以尝试一下。
参考文献