[深度学习]Kaggle:Gold Mental Solution(Predict Student Exam Scores)

💎个人主页:星柚程

🚀精选文章:《MATLAB多目标优化》《Kaggle:CV、Public LB 》《我的第一次 Kaggle》《C++构造传参》《蛇形机械臂的模拟退火优化》

🛠️专栏建设:|深度学习||Python量化||C++学习||数据结构|

🎯流水不争先,争得是涛涛不绝。

引言

这份金牌方案来自一场学生测试分数预测竞赛,作者以第一名的成绩分享了完整的技术路线。以下是对该方案的系统分析。

1. 总体策略

不盲目追求模型数量,而是先打造多个高性能单模型(最佳单模型可排到第7名),然后通过 190个模型的Ridge集成 进一步提升。总体流程的核心思想:特征工程 + 多样化模型 + 后处理。

2. 特征工程(FE)

针对不同模型类型设计了两个特征集:

特征集1(适合神经网络)

  · 循环特征(来自他人公开notebook)

  · 某个公式(原文未详细展开)

  · 每个数值特征的类别化副本

  · 数字特征(digit features)

  · 特定特征组合 + 目标编码(均值/标准差/偏度)

  · 数字组合 + 目标编码

特征集2(适合GBDT)

  · 相同的公式

  · 类别特征的序数映射

  · 每个基础特征的类别化副本(包括映射后的数值型类别)

  · 数字特征

亮点:针对不同模型特性定制特征,同时保留原始信息与组合信息;目标编码的统计量(均值/标准差/偏度)能捕捉交叉特征的分布信息。

3. 模型选择与性能

训练了8个强基模型,按验证集CV分数排序(越低越好):

模型 CV 公榜LB 私榜LB

RealMLP 8.58742 8.54280 8.58005

XGBoost 8.59480 8.55235 8.59251

TabM 8.59651 8.55740 8.59279

CatBoost 8.60027 8.56047 8.59537

DeepTables 8.60147 8.55467 8.59020

LightGBM-dart 8.60870 8.56743 8.60437

Kaggle MLP 8.60910 8.56951 8.60767

Keras MLP 8.61511 8.57016 8.60957

从上面表格不难看出,表现最好的单模型是 RealMLP(一种现代MLP变体),优于XGBoost和TabM。所有模型的CV与LB一致性较高,说明验证策略可靠。还尝试了ResNet、FTTransformer、xLearn FFM等,但效果较弱。

4. 集成方法

最终集成了 190个模型,使用 Ridge回归 作为元学习器。Ridge集成 是一种 集成学习中的堆叠(Stacking)方法,具体是指:

用 Ridge回归(一种带L2正则化的线性回归) 作为元学习器,来组合多个基模型的预测结果。

1. 训练多个基模型:训练了190个不同的模型(如RealMLP、XGBoost、CatBoost等,包含不同特征集、不同超参数、不同随机种子等)。

2. 生成基模型预测:每个基模型都对训练集(或验证集)产生一列预测值。

3. 构造新训练集:将190个基模型的预测值作为 190个特征,真实标签作为目标变量。

4. 训练Ridge回归:在这个“预测值特征”数据集上训练一个Ridge回归模型,学习每个基模型的最佳权重(同时通过L2正则化防止过拟合)。

5. 最终预测:对新数据,先让190个基模型分别预测,得到190个预测值,再输入训练好的Ridge模型,输出最终的集成结果。

为什么用Ridge而不是简单平均或复杂模型?

  1. · 比简单平均更强:不同基模型性能不同,Ridge可以自动学习给好模型更高权重、差模型更低权重,甚至负权重(如果某个模型总是系统性偏离)。
  2. · 比复杂元模型更稳:Ridge只有线性组合,几乎不会过拟合;而如果元模型用XGBoost或神经网络,很容易记住190个预测值的噪声,泛化变差。
  3. · 计算极快:Ridge有解析解(闭式解),即使190个特征也秒级完成。
  4. · L2正则化:当基模型之间存在高度相关性时(很多模型预测相似),Ridge能稳定权重,防止某个方向权重过大。

与普通堆叠的区别

普通堆叠可能用XGBoost、逻辑回归甚至MLP作为元模型,而Ridge集成特指 线性 + L2正则 的堆叠。在Kaggle表格竞赛中,因为基模型已经很强了,用简单的线性组合往往比花哨的元模型更稳健。

假设只有2个基模型:

· 模型A预测:80,85,90...

· 模型B预测:82,83,91...

· 真实值:81,84,89...

Ridge会学出类似 最终预测 = 0.6×A + 0.4×B 这样的线性公式,同时保证系数不会太大(防止某个模型单点异常影响过大)。

方案中的效果

作者对比了其他集成方式(层次聚类、AutoGluon、CatBoost等),Ridge集成的分数最好,所以最后选用了它。190个模型经过Ridge组合后,CV和LB分数都显著优于任何一个单模型。

  1. · 集成后CV = 8.56634,公榜 = 8.53096,私榜 = 8.57273(经后处理)。
  2. · 其他集成方式(层次聚类、AutoGluon、CatBoost等)效果不如Ridge。

启示:Ridge作为简单线性元模型,在基模型多样且相关度不高时非常有效,避免了过拟合。

5. 后处理与超参数调优

· 后处理:尝试了等渗回归(Isotonic Regression),发现“软标签不如硬标签”,最终采用了一种适合自己的后处理方法(原文未详述)。

· 超参数调优:显著提升了模型性能,最佳调优后单模型CV/LB达到8.53635(比表中最好结果还低)。说明调优是必要环节。

6. 潜在可借鉴点

针对NN和GBDT分别构建特征集,可推广到其他表格竞赛。

  1. · 目标编码中使用“偏度”并不常见,可能捕捉了非线性分布信息。
  2. · 使用Ridge集成上百个模型,计算成本可控(Ridge闭式解快)。

即便强如Transformer(FTTransformer)也未胜过MLP,说明数据集规模或特性更适合MLP/GBDT混合。

7. 改进空间(思考)

方案未明确“公式”和“数字特征”的具体定义,其他参赛者复现时需自己探索。

· 后处理细节缺失,不过作者指出软标签不如硬标签,这一点值得警惕:有时简单平均或加权比复杂校准更好。

· 190个模型的多样性来源可进一步说明(如不同随机种子、特征子集、超参数组合等)。

总之,这份金牌方案是一份教科书级别的表格数据竞赛实战:扎实的特征工程、多样化的模型池、轻量有效的Ridge集成,以及必要的调优和后处理。适合所有想在Kaggle表格竞赛中冲击前排的学习者参考。

 

 

内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

San813_LDD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值