“数据心跳”,厦门大学硕士研究生,F1最后得分约为6.12%左右,最终排名第4。
CSDN:请描述你的解题思路、算法亮点以及着重攻坚方向,并具体的谈一下特征抽取、训练模型的建立,以及模型的训练思想。
数据心跳:
解题思路
首先,由于这是一个比赛,所以我们一切都以提高 F1成绩为目的。提高F1成绩,最有效直接的就是做Retargeting,也就是一个二分类问题。
对于这个二分类问题,我们发现正负类可以继续往下细分,所以我们将其转化为一个多分类的问题。
算法亮点
对多分类问题,发现可以在训练集上分成不重叠的几类。据此对数据进行拆分,分成几个子模型训练,可以集中优化效果较好的子模型,充分利用了资源,提高了效率。
攻坚方向
如何科学地将二分类问题划分为多分类问题。如果让划分既不会太细,并且划分后可以提高成绩。
特征抽取
由于个人对业务的不了解,特征抽取使用了偏工程化的提取方法。我先把各种统计粒度的特征都提取出来,以此保证特征的信息量。然后进行各种各样的特征交叉,来提高单一特征的刻画能力。
训练模型
由于这次比赛是在阿里的odps平台上,接口开放有限制,自己实现模型风险大,性价比不高。所以模型主要用的是ODPS内部的一个算法库Xlib提供的模型。这次主要的模型是GBRT(梯度渐进回归树)和RF(随机森林),主要就是用这两类模型,以及他们的组合变种。模型的训练也比较简单,不需要自己造轮子,只要调用xlib提供的算法接口,一个函数就可以完成训练过程。
模型训练思想
主要用的是两类模型。RF主要的思想就是用bagging,是一种并行的算法,用很多的弱模型组合出一个强模型。而GBRT主要的思想是boosting,是一种串行的算法,每棵树用前一棵树的残差来训练。
CSDN:谈谈比赛感想。
数据心跳:这是一个很好的比赛,也是很好一次学习机会。首先可以接触到真实的工业界大数据,这是在很多实验室梦寐以求的一件事,真实的数据也让我们动手实践,在真正的数据上探索和学习。然后是接触了阿里巴巴开发的 odps平台,这是一个很好的分布式计算平台,把很多不同的任务都统一在一个平台上,速度快,也让我们学会了很多分布式编程的技巧。最后通过这次比赛和很多牛人交流和学习,也提高了自身的能力。
CSDN:ODPS使用感受,优点及建议。
数据心跳:ODPS是一个很好的平台,他把SQL,MapReduce,MPI,统一在一个平台上,这是一个很先进的技术,在世界上也是很领先的。并且ODPS的执行速度也很快,内部提供的很多算法库效果也很好。建议的话,主要是对不同队伍的资源分配和限制问题,这次比赛,有时候会出现一个队伍,占了ODPS总资源的一半以上,希望有更合理的资源分配方案。