基礎(chǔ)篇:
- 讀書《Introduction to Data Mining》,這本書很淺顯易懂,沒有復(fù)雜高深的公式,很合適入門的人。另外可以用這本書做參考《Data Mining : Concepts and Techniques》。第二本比較厚,也多了一些數(shù)據(jù)倉庫方面的知識(shí)。如果對(duì)算法比較喜歡,可以再閱讀《Introduction to Machine Learning》。
- 實(shí)現(xiàn)經(jīng)典算法。有幾個(gè)部分:a. 關(guān)聯(lián)規(guī)則挖掘 (Apriori, FPTree, etc.)b. 分類 (C4.5, KNN, Logistic Regression, SVM, etc.)c. 聚類 (Kmeans, DBScan, Spectral Clustering, etc.)d. 降維 (PCA, LDA, etc.)e. 推薦系統(tǒng) (基于內(nèi)容的推薦,協(xié)同過濾,如矩陣分解等)然后在公開數(shù)據(jù)集上測(cè)試,看實(shí)現(xiàn)的效果。可以在下面的網(wǎng)站找到大量的公開數(shù)據(jù)集:http://archive.ics.uci.edu/ml/
- 熟悉幾個(gè)開源的工具: Weka (用于上手); LibSVM, scikit-learn, Shogun4. 到 https://www.kaggle.com/ 上參加幾個(gè)101的比賽,學(xué)會(huì)如何將一個(gè)問題抽象成模型,并從原始數(shù)據(jù)中構(gòu)建有效的特征 (Feature Engineering). 到這一步的話基本幾個(gè)國內(nèi)的大公司都會(huì)給你面試的機(jī)會(huì)。
進(jìn)階篇: - 讀書,下面幾部都是大部頭,但學(xué)完進(jìn)步非常大。a.《Pattern Recognition and Machine Learning》b.《The Elements of Statistical Learning》c.《Machine Learning: A Probabilistic Perspective》第一本比較偏Bayesian;第二本比較偏Frequentist;第三本在兩者之間,但我覺得跟第一本差不多,不過加了不少新內(nèi)容。當(dāng)然除了這幾本大而全的,還有很多介紹不同領(lǐng)域的書,例如《Boosting Foundations and Algorithms》,《Probabilistic Graphical Models Principles and Techniques》;以及理論一些的《Foundations of Machine Learning》,《Optimization for Machine Learning》等等。這些書的課后習(xí)題也非常有用,做了才會(huì)在自己寫Paper的時(shí)候推公式。2. 讀論文。包括幾個(gè)相關(guān)會(huì)議:KDD,ICML,NIPS,IJCAI,AAAI,WWW,SIGIR,ICDM;以及幾個(gè)相關(guān)的期刊:TKDD,TKDE,JMLR,PAMI等。跟蹤新技術(shù)跟新的熱點(diǎn)問題。當(dāng)然,如果做相關(guān)research,這一步是必須的。例如我們組的風(fēng)格就是上半年讀Paper,暑假找問題,秋天做實(shí)驗(yàn),春節(jié)左右寫/投論文。3. 跟蹤熱點(diǎn)問題。例如最近幾年的Recommendation System,Social Network,Behavior Targeting等等,很多公司的業(yè)務(wù)都會(huì)涉及這些方面。以及一些熱點(diǎn)技術(shù),例如現(xiàn)在很火的Deep Learning。4. 學(xué)習(xí)大規(guī)模并行計(jì)算的技術(shù),例如MapReduce、MPI,GPU Computing。基本每個(gè)大公司都會(huì)用到這些技術(shù),因?yàn)楝F(xiàn)實(shí)的數(shù)據(jù)量非常大,基本都是在計(jì)算集群上實(shí)現(xiàn)的。5. 參加實(shí)際的數(shù)據(jù)挖掘的競(jìng)賽,例如KDDCUP,或 https://www.kaggle.com/ 上面的競(jìng)賽。這個(gè)過程會(huì)訓(xùn)練你如何在一個(gè)短的時(shí)間內(nèi)解決一個(gè)實(shí)際的問題,并熟悉整個(gè)數(shù)據(jù)挖掘項(xiàng)目的全過程。6. 參與一個(gè)開源項(xiàng)目,如上面提到的Shogun或scikit-learn還有Apache的Mahout,或?yàn)橐恍┝餍兴惴ㄌ峁└佑行Э焖俚膶?shí)現(xiàn),例如實(shí)現(xiàn)一個(gè)Map/Reduce平臺(tái)下的SVM。這也是鍛煉Coding的能力。