返回列表

[40th place] Boltzmann Ensemble: A solution from statistical thermodynamics

474. Tabular Playground Series - Jan 2022 | tabular-playground-series-jan-2022

开始: 2022-01-01 结束: 2022-01-31 销量与需求预测 数据算法赛
[第40名] 玻尔兹曼集成:一种源自统计热力学的解决方案

[第40名] 玻尔兹曼集成:一种源自统计热力学的解决方案

作者: John Mitchell (MASTER) | 排名: 第40名 | 发布时间: 2022-02-01

这是一次有趣的比赛,其特点是开放的氛围和友好的竞争。感谢所有参与者,希望大家都能乐在其中,学到更多关于数据科学的知识,也希望新入门的 Kaggle 用户能获得信心,在未来参与争夺奖牌的比赛。

在本月的 TPS(表格竞赛系列)中,我选择测试一种受统计热力学启发的集成方法。该方法只有一个可优化的参数。集成中的每个模型都根据其公开排行榜分数以指数衰减的方式分配权重。具体来说,每个模型的指数权重计算公式为:

exp(b*(S-x))

其中 x 是该模型的公开排行榜分数。分数越高(数值越大)代表表现越差,因此随着 x 的增加,权重变小;随着 x 的减小,权重变大。因此,最好的模型拥有最大的权重,并对集成做出最大的贡献。

参数 b 是模型中唯一具有实际意义的可调参数,b 越大,随着分数变差权重衰减得越快。集成中的模型可以被看作是统计热力学中对应的量子态。

显然,b 类似于统计热力学中的 1/kT,其行为像倒易温度。在热力学教科书中,这个参数通常被称为 beta。

排行榜分数 x 类似于能量,因为在本比赛中分数越高越糟糕,所以权重(实际上是玻尔兹曼因子)随着 x 的增加而减小。如果在分数越高越好的比赛中,则会使用相反的符号约定。

S 是一个校准参数,定义为如果将 S 设置为最佳单模型的分数,则最高权重为 1.0,这很方便,但并非必须。

权重之和 q 类似于统计热力学中的配分函数,用于衡量贡献模型的有效数量。这类似于配分函数在校准后最高权重为 1.0 时,用于衡量热可及量子态的数量。

在本次 TPS 比赛中,许多 Kaggle 用户分享了优秀的 Notebook,其中包含分数接近排行榜顶端的模型。在奖牌争夺战这种竞争更激烈的高风险比赛环境中,这种情况不太可能发生。因此,如果你计划在那里使用此方法或任何其他集成方法,你可能需要加入一些自己构建的相当强大的私有模型。

这种方法的优势在于只有一个参数需要优化,这意味着无需分别拟合每个模型的权重。然而,我发现 b 的最佳值在比赛期间发生了显著变化。

优势也可能成为劣势,该方法的灵活性有限。选择包含哪些 Notebook 和版本,模型要么完全加入要么完全排除,且在此方案中未考虑模型之间的相似性。更复杂的方法可能会惩罚与集成中已有模型强相关的模型,但这会增加参数数量。此外,该方法无法包含有时非常有用的负权重。玻尔兹曼集成方法在目标是连续数值时效果最好。

同比赛其他方案