参加kaggle数据挖掘竞赛是怎样一种体验?

先贴下Kaggle Profile以示诚意(https://www.kaggle.com/winsty)我是KDD Cup专业户,虽然每年做的都不是特别好。。。和一些Kaggle专业户们无论从数量还是质量上都差了好多。不过我一直觉得Kaggle在我PhD期间扮演了一个非常重要的角色。下面列几个我觉得比较重要的问题: Kaggle的比赛究竟锻炼的是什么能力? 首先说,绝大部分的Kaggle比赛是Data Mining(DM)比赛(除少数是和Discrete Optimization还有Computer Vision(CV) 有关),最重要的是和Machine Learning(ML)关系不大。这是很多人一个误区,往往希望在Kaggle上学到很多ML的知识。Kaggle教给我的第一件事情,就是让我清晰领会到了这两者之间的不同:ML一般从模型或者算法出发,讲的是模型或者算法本身存在的不合理的地方,然后提出新的假设,从而去优化模型或算法。在这个过程中并不针对某一个具体的特殊的问题。而DM恰恰相反,它是从数据本身问题本身出发,希望针对问题的特性来设计最适合的方案。关键是在于对问题和数据的理解。之前总是觉得,DM/CV的paper都好水,到处找一个应用套。在我想明白这个问题之后,我就开始懂得欣赏DM/CV的paper。 其次,我觉得在一个DM的比赛中,最能锻炼到的是对于数据的"嗅觉"。举一个最有趣的例子,往往在比赛中会存在Data Leakage的情况,也就是说,某些和label相关的信息不小心会泄漏在feature中。有人通过这样的feature取得了很好的成绩之后,往往有人觉得非常鄙视。当然我不是说Data Leakage是一件好事情,但是在这背后往往隐藏的是发现leakage的人对于数据本身深刻的认识。这并不是每个人都能做到的。换句话讲,就算没有leakage,这群人还是会排名很前。在Kaggle的比赛中,能收获最大的就是这种嗅觉。这其实也把我自己训练成了一个data believer:也许一次两次的巧合真的是意外,但是如果巧合总是持续发生,那么背后一定有一个原因。 怎样才能做好Kaggle的比赛? 第一点也是最重要的一点就是专注,专注,再专注。其实说来惭愧,我在这点上做得很不好。 第一年开始高歌猛进了一段,中间卡住,也是能力不足,然后就放弃了。 第二年抱学长大腿侥幸成绩不错,其实个人来讲没有做出太大贡献。先是去写了一个NIPS,然后又去处理了一些私事。 第三年做到一半,很偶然地被拉去百度做了ImageNet的比赛,精力主要就放到了ImageNet上。坑了队友。。。 所以其实这三年,离我自己的期待都有一定的距离,我也很清楚问题出在哪里。希望明年能真正focus一次吧。 第二点,永远不要放弃。希望总存在于绝望之后。每个比赛都会有一个瓶颈期。耐心地去突破它后,就是一片开阔天空。 第三点,切记只看不做。很多人只喜欢纸上谈兵,武断觉得这个问题,或者这个数据就应该是怎样。很多数据的特质都是要真正动手做进去才能发现其中的奥妙,针对这些特质设计的一些Feature或者Model,往往都能带来极大的提高。 第四点,才是多看,尤其是在比赛结束之后。很多leader会在比赛结束之后部分甚至全部地公布自己的解法。这个时候返回去看看在比赛中自己忽略掉了什么地方,才是成长最最重要的。第一年的比赛教给了我在一个实际的推荐系统里session的重要性。第二年的比赛教给了我机器不是万能的,人肉一些规则往往更有效。每一年其实都对实际的Data Mining问题有新的认识,也更清楚了哪些paper是真的work,哪些是在灌水。这其实也就是我来做比赛的最大目的吧。 技术方面上什么最关键? 前面提到Kaggle主要是以Data Mining的比赛为主,那么这个答案就非常直接了:Feature Engineering 无数经验告诉我们,做Kaggle比赛如果是抱着Machine Learning的态度,沉迷于facny的模型而忽略数据本身,一定会死得很惨很惨! 当然,基本的ML知识还是有的。在比赛中,最常用的分类器一般是Gradient Boosting Tree(GBDT)和Random Forest(对,你没看错,不是那个在教科书中推Dual时让很多人痛不欲生的SVM)一些常见的预处理技巧,比如PCA,KMeans,TF/IDF,Hashing等等都还是必须的。这里就不展开讲了。 最后,但是非常关键的一点是Ensemble 从KDD Cup到Imagenet,我从来没见过ensemble不会改善结果的情况,只是多与少的问题。不做ensemble就意味着你自己告别了一大块宝藏。 总结 我觉得Kaggle是一个对于每个想成为所谓的Data Scientist的同学最好的试炼厂。在这里,你就会知道课上学到的那些东西和能解决一个实际问题所需要的能力的差距。更何况,在学校里往往是拿不到任何大规模的数据。绝大多数课堂上用的还是只有几百个几千个数据的UCI dataset。Kaggle是缩小这个gap最好的一个地方。 最后,希望大家在Kaggle上都玩得愉快~~

原文发布于微信公众号 - 大数据挖掘DT数据分析(datadw)

原文发表时间:2015-07-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据科学与人工智能

【陆勤阅读】参加kaggle数据挖掘竞赛是怎样一种体验?

先贴下Kaggle Profile以示诚意(https://www.kaggle.com/winsty)我是KDD Cup专业户,虽然每年做的都不是特别好。。。...

2549
来自专栏机器人网

17张思维导图,全面掌握机器学习的统计基础知识

原图下载:https://pan.baidu.com/s/1midnOSC 本文用一系列「思维导图」由浅入深的总结了「统计学」领域的基础知识,是对之前系列文章...

3478
来自专栏企鹅号快讯

人工智能大数据背后的神秘公式:贝叶斯公式

转自:工业智能化 大数据、人工智能、海难搜救、生物医学、邮件过滤,这些看起来彼此不相关的领域之间有什么联系?答案是,它们都会用到同一个数学公式——贝叶斯公式。它...

6105
来自专栏数据派THU

独家 | 人工智能技术在医学领域的应用与前景(附PPT)

[导读]2017年6月20日,零氪科技首席架构师王晓哲,在清华大学“天池医疗AI大赛”第一季肺部结节智能诊断 《医学影像在肿瘤诊疗中的应用及智能诊断探索》发表演...

6947
来自专栏新智元

【荐书】机器学习需要的数学知识和基础书籍推荐

【新智元导读】我们在《机器学习里,数学究竟多重要?》一文中提供了机器学习所需的数学知识和建议,对于初学者来说,并不需要先掌握大量的数学知识再开始做机器学习。学习...

37712
来自专栏人工智能头条

几种监督式学习算法的比较

1072
来自专栏量子位

搞机器学习/AI有什么必备的数学基础?| 经验之谈+资源大全

雷刚 发自 凹非寺 量子位 报道 | 公众号 QbitAI 今天是开学第一天!心里只有学习的量子位,发现Hacker News上又有高分话题,而且还跟学习有关...

3765
来自专栏PaddlePaddle

实操|如何进阶深度学习工程师(下篇)

这里所定义的中阶选手,是深度学习理论基础扎实,实操方面尝试扩展深度学习更多应用场景的侠客。由此,从初阶→中阶,基本流程保持不变,变化的是每个步骤的深入程度。

1292
来自专栏新智元

【资源】机器学习和神经网络实践:书籍及博客推介

【新智元导读】前几天我们向大家推荐了自学成为 Data Scientist 在线课程系列,很多人纷纷收藏和分享。今天新智元再针对数学,为大家介绍几本书和相关资料...

3698
来自专栏企鹅号快讯

数据挖掘中最易栽的十个大坑

欢迎关注数据超市微信公众号 按照 Elder 博士的总结,这 10 大易犯错误包括: 1. 太关注训练( Focus on Training ) 2. 只依赖一...

28712

扫码关注云+社区