最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

在Kaggle上赢得大数据竞赛的技巧和窍门

[复制链接]
跳转到指定楼层
楼主
发表于 2017-7-1 17:35:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 168主编 于 2017-7-1 17:44 编辑

作者:Vik Paruchuri
翻译:雁惊寒
译者注:Kaggle是一个为开发商和数据科学家提供举办机器学习竞赛、托管数据库、编写和分享代码的平台。本文作者讲述了自己在该平台上多次赢得竞赛的成功经验。以下是译文。
我曾经通过参加Kaggle的竞赛来学习机器学习。在2011年,在几乎不懂数据科学的情况下,我参加了第一场竞赛。很快,我就在一场股票交易大赛中获得了大约一百个人中的第五名。在接下来的一年里,我赢得了自动化论文评分和债券价格预测的几场竞赛,并在其他方面也取得了不错的成绩。
Kaggle竞赛需要独特的技能、运气和团队合作才能获胜。各类知识掺杂在一起,因竞赛类型的不同而不同,而且经常会令人感到惊讶。
例如,在人格预测竞赛过程中,我大部分时候都是第一或者第二名,但是,由于在特征选择阶段过度拟合而最终获得了第十八名。在Kaggle的博客上可以找到在竞赛结束时发生的那些看似是半随机变化的好帖子。
在这篇文章中,我将分享自己在Kaggle竞赛中获得成功的诀窍。
坚持不懈,持之以恒
要在Kaggle竞赛中取得成功,首要条件就是坚持不懈。当你看到第一次提交的排名时,很容易会产生气馁的情绪,但你绝对应该继续尝试下去。在一场竞赛中,我在一个主题上差不多尝试了所有的方法。
在我的第一次Kaggle竞赛,“照片质量预测”竞赛中,我最终排在了第50名,我不知道那些顶级对手所做的与我做的有什么不同。
然后,我开始从竞赛中总结经验。在我的第二场竞赛,“算法交易挑战赛”中,成绩比原先好了一点。
从照片质量预测到算法交易,影响竞赛结果发生变化的因素正是学习和坚持不懈。在第一场竞赛中,我并没有花太多的时间,所以结果就体现出来了。
提交错误答案较多,最终的分数当然不会好。你应该在竞赛的过程中阅读尽可能多的文献(和博客文章等等)。只要你学到的新东西可以应用在竞赛中,或者从失败的提交中学到东西(也许某个特定的算法或解法并不合适于这个数据),那么,说明你已经走上正轨。
坚持不懈的动力来自于自身内部。为了让自己愿意去学,你必须要问自己为什么要参加这么一个特定的竞赛。你想要学习吗?你想要通过一个较高的名次来获得某些机会吗?或者你只是想要证明你自己吗?大多数Kaggle竞赛的金钱奖励并不值得消耗大量的时间,所以,除非你清楚地知道你自己想要什么,如何激励自己。对你来说名次重要吗?如果不重要,你可以很轻松的学到一些有趣的东西,这些可能会也可能不会影响成绩,但是如果你想要得第一名,你就不会这样了。
把时间花在数据准备和特征构建上
要取得好的名次,最重要的与数据相关的因素是如何准备数据,以及如何构建特征。算法的选择很重要,无需多言。
你只需要使用直觉和常识,弄清楚什么是有效的,什么是无效的。对竞赛真正有帮助的是创建一个好的交叉验证框架,以便得到可靠的误差估计。
特征构建是数据科学为什么如此有趣、如此有创意,并且与其他一些类型的编程有所不同的原因。
不要忽视特定领域的知识
因为特征构建是一个非常特殊的领域,所以,拥有相关领域的知识对竞赛的帮助很大。
我发现,在竞赛中,你可以通过学习很快地掌握该特定领域的知识。例如,当我在参加Hewlett基金会的ASAP大赛时,我学会了NLP方法。也就是说,你需要快速地掌握你原先不了解的相关领域的特定知识,不然,你就无法在竞赛中与别人竞争。
明智地挑选你的竞赛
你应该在最开始的时候选择竞争比较弱的竞赛。研究性竞赛的竞争选手往往要比大奖赛的少。后来,我发现,经常参加更有挑战性的竞赛对我帮助很大,因为它迫使你学习更多的知识,让你走出舒适圈。
找一个好的团队
形成一个好团队至关重要。在两个不同的竞赛(ASAP和Bond)中,我很幸运地能够与优秀的人士合作,我从他们身上学到了很多。大家往往认为存在这两种人:一种是几乎总是单独工作的人,另一种是几乎总是在团队中和其他人一起工作的人。但如果尝试着把这两种情况结合起来,你将收益更多。你可以从团队工作中学到很多的东西,但是如果你独立工作的话,你可以学到原本需要依赖队友才能完成的东西。
其他的哲学
还有一些不是特别重要,但是在竞赛的时候需要始终牢记在脑子里的事情。
运气会起到作用
我以前曾经提到过,运气也很重要。例如,在一些竞赛中,第三和第四名就差了0.001%。在这一点上,很难说他们谁的方法是更好,但是却只有其中一个被认为是赢家。 我想,这就是Kaggle上的一个事实。
不要因为一个不了解的主题而放弃竞赛
机器学习的伟大之处在于,你可以将类似的技术应用于几乎任何问题上。你无需挑选那些熟悉的或者有特别见解的那个领域问题,坦白地说,独立学一些新知识,做一些新的事情更有意思。当你在某一天突然有了一个好的想法,其他人也许也会想到,但是他们可能要在到第20天或第60天才会去实施。
不要担心Kaggle个人资料
不要因为名次低而担心。有时,你会看到某个有趣的竞赛,但是你可能没办法花太多的时间在这上面,从而无法得到一个好的名次。请不要担心这个。没有人会以名次取人!
对你来说,更重要的是从准备答案的过程中获得经验学到知识,而不是担心你个人资料中的名次会怎么样。
获胜的条目是由许多小步骤组成的
每个获胜的Kaggle条目都是由数十个小的见解组成。如果你做到了上面所有这些,不断地学习,并且不断地迭代你的解决方案,你就会做得更好。
不要停止学习
有数百篇Kaggle教程和文章,还有数千篇有关机器学习的文章、书籍和资源。不要停止学习,不要害怕使用Google来回答你的问题。
此外,Kaggle论坛是一个很好的资源,KaggleNoobs社区也不错。
最后,令人惊叹的Eliot Andres维护了一个可搜索和可排序的Kaggle过去所有解决方案的汇总。一旦你要准备参加竞赛,你可以从中了解到获胜者们是如何做的:Kaggle过去的解决方案
总结:坚持和学习
强调的两个主要观点是坚持和学习。这两个概念可以很好的体现出我在Kaggle的经历,即使没有赢得竞赛,只要你学到了一些东西,你所花的时间就是值得的。



楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-5-5 11:33

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表