如何通过自学成为数据挖掘的“大师”

基本条款:

1.阅读数据挖掘介绍。这本书通俗易懂,没有复杂深奥的公式。非常适合初学者。此外,你可以把这本书作为参考数据挖掘:概念和技术。第二个比较粗,对数据仓库的知识比较多。如果你喜欢算法,可以再读一遍《机器学习导论》。

2.实现经典算法。有几个部分:

A.关联规则挖掘(Apriori,FPTree等。)

B.分类(C4.5,KNN,逻辑回归,SVM等。)

C.聚类(kmeans、dbscan、谱聚类等。)

D.降维(PCA、LDA等。)

e推荐系统(基于内容的推荐,协同过滤,如矩阵分解等。)

然后在公开数据集上测试,看实现的效果。你可以在以下网站找到大量的公开数据集:/参加几次101的比赛,学习如何将一个问题抽象成模型,从原始数据中构建有效的特征工程。

在这一点上,基本上国内几家大公司都会给你面试。

高级文章:

1.读书,下面的部分都是大书,但是学了之后进步很大。

a.《模式识别和机器学习》

b.《统计学习的要素》

c.《机器学习:概率视角》

第一本书更贝叶斯;;第二本书更频繁;;第三本书介于两者之间,但我觉得和第一本书差不多,只是增加了很多新的内容。当然,除了这些大而全的书,还有很多介绍不同领域的书,比如Boosting Foundations and Algorithms和probabilical graphic Models Principles and Techniques。以及机器学习的一些理论基础,机器学习的优化等等。这些书中的课后练习也很有用。只有你做了它们,你自己写论文的时候才会推公式。

2.看报纸。包括几次相关的会议:KDD、ICML、NIPS、国际法学家委员会、AAAI、WWW、SIGIR、IJCAI;和几个相关的期刊:TKDD,TKDE,JMLR,PAMI等。跟踪新技术和新热点问题。当然,如果做相关研究,这一步是必须的。比如我们组的风格就是上半年看论文,暑假找问题,秋天做实验,春节前后写/交论文。

3.追踪热点问题。比如这几年的推荐系统,社交网络,行为定向等等,很多公司的业务都会涉及到这些方面。还有一些热门的技术,比如现在很流行的深度学习。

4.学习大规模并行计算的技术,如MapReduce、MPI、GPU计算等。基本上每个大公司都会用到这些技术,因为实际数据量非常大,而且基本都是在计算集群上实现的。

5.参加实际的数据挖掘比赛,比如KDDCUP,或者/和以上的比赛。这个过程会训练你如何在短时间内解决一个实际问题,熟悉整个数据挖掘项目的整个流程。

6.参与一个开源项目,比如上面提到的幕府将军或者scikit-learn和Apache的Mahout,或者为一些流行的算法提供更有效更快速的实现,比如Map/Reduce平台下的SVM。这也是锻炼编码能力。

在这一点上,国内大公司基本上想去哪就去哪,待遇还不错;如果英语好,去美国的公司不难。