大数据vs计算机
大數(shù)據(jù)有兩個(gè)方向,一個(gè)是偏計(jì)算機(jī)的,另一個(gè)是偏經(jīng)濟(jì)的。你學(xué)過Java,所以你可以偏將計(jì)算機(jī)
基礎(chǔ)
1. 讀書《Introduction to Data Mining》,這本書很淺顯易懂,沒有復(fù)雜高深的公式,很合適入門的人。
另外可以用這本書做參考《Data Mining : Concepts and Techniques》。第二本比較厚,也多了一些數(shù)據(jù)倉庫方面的知識。
如果對算法比較喜歡,可以再閱讀《Introduction to Machine Learning》。
當(dāng)然,還有《機(jī)器學(xué)習(xí):實(shí)用案例解析》
2. 實(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ù)集上測試,看實(shí)現(xiàn)的效果。可以在下面的網(wǎng)站找到大量的公開數(shù)據(jù)集:UCI Machine Learning Repository/
3. 熟悉幾個(gè)開源的工具: Weka (用于上手); LibSVM, scikit-learn, Shogun
4. 到 Kaggle: Go from Big Data to Big Analytics/ 上參加幾個(gè)101的比賽,學(xué)會(huì)如何將一個(gè)問題抽象成模型,并從原始數(shù)據(jù)中構(gòu)建有效的特征 (Feature Engineering).
到這一步的話基本幾個(gè)國內(nèi)的大公司都會(huì)給你面試的機(jī)會(huì)。
進(jìn)階篇:
1. 讀書,下面幾部都是大部頭,但學(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ù)挖掘的競賽,例如KDDCUP,或 Kaggle: Go from Big Data to Big Analytics/ 上面的競賽。這個(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平臺下的SVM。這也是鍛煉Coding的能力。(轉(zhuǎn))
?
以下回答出自我之前的一個(gè)總結(jié):想從事大數(shù)據(jù)、海量數(shù)據(jù)處理相關(guān)的工作,如何自學(xué)打基礎(chǔ)?想做數(shù)據(jù)處理尤其是大數(shù)據(jù)量處理的相關(guān)工作必須兼具計(jì)算機(jī)科學(xué)基礎(chǔ)和統(tǒng)計(jì)基礎(chǔ)。
如果你有機(jī)會(huì)在學(xué)校學(xué)習(xí)這些課程或者自學(xué),會(huì)對你的職業(yè)目標(biāo)有幫助。
基礎(chǔ)中的基礎(chǔ):
線性代數(shù),概率論
核心知識:
數(shù)理統(tǒng)計(jì)
預(yù)測模型
機(jī)器學(xué)習(xí)
計(jì)算機(jī):
- 數(shù)學(xué)軟件:強(qiáng)大矩陣運(yùn)算和優(yōu)化功能的matlab,專而精的mathematica。
- 語言:fortran(強(qiáng)大的計(jì)算語言,充分優(yōu)化的現(xiàn)成代碼),R(相比于matlab,java,c,R是個(gè)高富帥),python.
- 可視化
應(yīng)用回歸分析
多元統(tǒng)計(jì)分析
強(qiáng)烈推薦:Distance Education § Harvard University Extension School 和哈佛的學(xué)生一起學(xué)習(xí)Data Science。
課后問題的材料:CS109 Data Science
相關(guān)問題:
- Data Science: What are some good free resources to learn data science?
- Where can I learn pandas or numpy for data analysis?
- What are some good resources for learning about statistical analysis?
- Data Science: How do I become a data scientist?
- What are some good resources for learning about machine learning?
總結(jié)
- 上一篇: MySQL管理一些基础SQL语句
- 下一篇: Qt 实现桌面右下角消息弹窗提示