依靠优化RMSLE的技巧获取Kaggle第一。

↑↑↑关注后"星标"kaggle竞赛宝典
  kaggle竞赛宝典  作者:BROCCOLI BEEF 

优化RMSLE的技巧!

简介

在kaggle的一些回归问题中都出现了优化RMSLE的问题,例如https://www.kaggle.com/competitions/playground-series-s4e4/overview

其中RMSLE函数的定义如下,

我们在处理上面的问题时,第一时间会直接自定义对应的损失函数,基本99%的朋友都会这么处理,那么有没有更好的处理呢?

分析

对比方案:

  • 往往会先对目标target进行log1p,然后在使用MSE损失函数进行优化。

在理论上,直接优化RMSLE和先转化log1p,在使用MSE进行优化这两种方法并不相同。

  • 对训练目标进行 log1p 转换,对预测结果进行 expm1 转换,这将对应于构建一个“乘法 GBDT 模型”,其中树的输出将相乘;
  • 而使用 MSLE 目标将得到一个正常的(加法)GBDT 模型。

哪种方法“更好”应该针对手头的特定模型进行测试。


代码

msle_loss

from lightgbm import LGBMRegressor

def msle_loss(y_true, y_pred):
    y_pred = np.maximum(y_pred, -1+1e-6)
    return ((np.log1p(y_pred)-np.log1p(y_true))/(1+y_pred), 
            (1-np.log1p(y_pred)+np.log1p(y_true))/(1+y_pred)**2)


实战对比

在Regression with an Abalone Dataset竞赛中,我们做了对比试验发现:

  • 直接优化RMSLE:Estimator0: 0.15046 ± 0.00130
  • Log1p+MSE: Estimator1: 0.14959 ± 0.00131

log1p-转换之后再用expm1对预测进行转换可以得到更好的效果

参考文献

  1. https://www.kaggle.com/competitions/playground-series-s4e4/discussion/488283
  2. https://www.kaggle.com/competitions/playground-series-s4e4/discussion/499174


相关推荐

  • [开源更新]企业数字身份管控平台,一个账号打通所有应用的服务
  • [开源]一款安全可靠且功能强大的开源密码管理项目,支持静态部署
  • 我使用缓存,踩过的7个坑
  • 跟着开源的InternVL,学习如何做自己的GPT-4V
  • 人类偏好就是尺!SPPO对齐技术让大语言模型左右互搏、自我博弈
  • OpenAI下周要有大动作,奥特曼在线剧透:不是GPT-5,不是搜索引擎
  • 百万tokens低至1元!大模型越来越卷了
  • 坏了,我的RTX 3090 GPU在对我唱歌!
  • AI生成3D主题乐园,角色建筑批量生成,风格保持一致 | SIGGRAPH 2024
  • 量化之王谢幕,“用数学赚钱比印钞机还快”
  • 微软打破Decoder-Only架构!大幅降低GPU内存需求,网友:把Llama3 70B弄20GB GPU上运行
  • OpenAI抓内鬼出奇招,奥特曼耍了所有人:GPT搜索鸽了!改升级GPT-4
  • 国产大模型:今天起,我们100万tokens只需1元!
  • 每日prompt:用Midjourney画出最近流行的粘土风
  • OpenAI将在5月13日直播一些关于 ChatGPT 的升级内容
  • 2人小团队,怎么在内卷的短视频带货赛道找到出路?
  • ICLR 2024|用巧妙的「传送」技巧,让神经网络的训练更加高效
  • 科研实习 | 南方科技大学-香港中文大学(深圳)联合招收大语言模型算法实习生
  • ControlNet作者放大招!IC-Light:控制生成图片光照效果!
  • 开源!过程控制与自动化系统