很荣幸能够在腾云阁分享技术经验。
本人很幸运在刚刚结束的京东算法大赛中取得第四的成绩,腾讯广告点击大赛目前排名前五十,在比赛过程中学到了许多知识,同时也有一些经验分享给大家。后面也有队友李强在腾讯社交广告高校算法大赛中的分享。
首先,推荐类的赛题,成绩的关键在于特征的挖掘,因此,在比赛的前期,耐心分析数据,寻找特征是非常必要的。有些选手感觉特征挖掘难以下手,这里我一般从三个方面挖掘特征:数据分析、业务理解、特征交叉。数据分析的重要性不必多提,业务理解也能帮助更好地挖掘特征,比如京东比赛预测用户买不买商品的问题,我就从用户的活跃度、购买差异、购买能力、购买习惯等方面考虑,挖掘出的特征是非常有用的。
谈到提取特征,就不得不提特征选择的问题,有些选手单纯的根据基于树模型的特征重要性删选特征,我觉得这样是不太可取的,一方面,有的强特征相关性较强,这样如果其中一个特征重要性认为很强,其他的特征重要性就会变得很低。另外一方面有些不太重要的特征结合起来也会变成比较强的特征,因此不要很随意地抛弃不太重要的特征。不过,特征重要性可以作为特征挖掘方向的参考,比如可以通过重点研究重要性比较强的特征,找一些相类似的特征,同时也可以对某些强特征进行有意义的交叉,这样对结果都是有提升的。
另外,特征的设计一定要注意细节问题,有些细节可能直接决定着特征的好坏。
当然啦,做比赛,建立稳定的线下是非常重要的,保证线下与线上同增同减,能够帮助我们突破线上提交次数的限制,通过线下成绩的反馈,能够更好地确定特征地好坏,从而可以指引我们挖掘特征地方向。很多选手表示线下并不准,有两种原因:一种是选择的验证集不合适,一种是没有进行交叉验证,解决了这两个原因,一般来说线下还是相对稳定的。
最后,在这里对新手提一些小小的建议:首先,笨鸟先飞,既然是新手,就要早早开始参加比赛,前期竞争相对小,容易出成绩,这时如果有了好的排名,与自己排名相近的参赛队员组队,是非常不错的选择, 通过交流,能够让自己更快地学习进步。因此,我鼓励新手能够组队参加比赛,一起学习交流。新手千万不要因为自己没参加过就觉得自己不行,盲目地否认自己,我觉得,大部分赛题,对新手来说还是比较友好的,赛题比较贴近现实,更容易挖掘特征,赛程持续时间较长,给了新手充分学习的时间。我相信,只要努力去做,静下心认真学,新手也能取得不错的成绩。
一次比赛,确实能够让我们学习到非常多的知识,这对我们以后,都是非常有帮助的,而一起奋斗过的队友,也会建立深厚的友谊,这也是一笔宝贵的财富。
目前,我的队友李强在腾讯社交广告高校算法大赛取得不错的成绩,他也有一些针对此次比赛的经验要分享:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。