標籤:
大資料有兩個方向,一個是偏電腦的,另一個是偏經濟的。你學過Java,所以你可以偏將電腦
基礎
1. 讀書《Introduction to Data Mining》,這本書很淺顯易懂,沒有複雜高深的公式,很合適入門的人。
另外可以用這本書做參考《Data Mining : Concepts and Techniques》。第二本比較厚,也多了一些資料倉儲方面的知識。
如果對演算法比較喜歡,可以再閱讀《Introduction to Machine Learning》。
當然,還有《機器學習:實用案例解析》
2. 實現經典演算法。有幾個部分:
a. 關聯規則挖掘 (Apriori, FPTree, etc.)
b. 分類 (C4.5, KNN, Logistic Regression, SVM, etc.)
c. 聚類 (Kmeans, DBScan, Spectral Clustering, etc.)
d. 降維 (PCA, LDA, etc.)
e. 推薦系統 (基於內容的推薦,協同過濾,如矩陣分解等)
然後在公開資料集上測試,看實現的效果。可以在下面的網站找到大量的公開資料集:UCI Machine Learning Repository/
3. 熟悉幾個開源的工具: Weka (用於上手); LibSVM, scikit-learn, Shogun
4. 到 Kaggle: Go from Big Data to Big Analytics/ 上參加幾個101的比賽,學會如何將一個問題抽象成模型,並從未經處理資料中構建有效特徵 (Feature Engineering).
到這一步的話基本幾個國內的大公司都會給你面試的機會。
進階篇:
1. 讀書,下面幾部都是大部頭,但學完進步非常大。
a.《Pattern Recognition and Machine Learning》
b.《The Elements of Statistical Learning》
c.《Machine Learning: A Probabilistic Perspective》
第一本比較偏Bayesian;第二本比較偏Frequentist;第三本在兩者之間,但我覺得跟第一本差不多,不過加了不少新內容。當然除了這幾本大而全的,還有很多介紹不同領域的書,例如《Boosting Foundations and Algorithms》,《Probabilistic Graphical Models Principles and Techniques》;以及理論一些的《Foundations of Machine Learning》,《Optimization for Machine Learning》等等。這些書的課後習題也非常有用,做了才會在自己寫Paper的時候推公式。
2. 讀論文。包括幾個相關會議:KDD,ICML,NIPS,IJCAI,AAAI,WWW,SIGIR,ICDM;以及幾個相關的期刊:TKDD,TKDE,JMLR,PAMI等。跟蹤新技術跟新的熱點問題。當然,如果做相關research,這一步是必須的。例如我們組的風格就是上半年讀Paper,暑假找問題,秋天做實驗,春節左右寫/投論文。
3. 跟蹤熱點問題。例如最近幾年的Recommendation System,Social Network,Behavior Targeting等等,很多公司的業務都會涉及這些方面。以及一些熱點技術,例如現在很火的Deep Learning。
4. 學習大規模並行計算的技術,例如MapReduce、MPI,GPU Computing。基本每個大公司都會用到這些技術,因為現實的資料量非常大,基本都是在計算叢集上實現的。
5. 參加實際的資料採礦的競賽,例如KDDCUP,或 Kaggle: Go from Big Data to Big Analytics/ 上面的競賽。這個過程會訓練你如何在一個短的時間內解決一個實際的問題,並熟悉整個資料採礦項目的全過程。
6. 參與一個開源項目,如上面提到的Shogun或scikit-learn還有Apache的Mahout,或為一些流行演算法提供更加有效快速的實現,例如實現一個Map/Reduce平台下的SVM。這也是鍛煉Coding的能力。(轉)
以下回答出自我之前的一個總結:想從事大資料、海量資料處理相關的工作,如何自學打基礎?
想做資料處理尤其是大資料量處理的相關工作必須兼具
電腦科學基礎和統計基礎。
如果你有機會在學校學習這些課程或者自學,會對你的職業目標有協助。
基礎中的基礎:
線性代數,機率論
核心知識:
數理統計
預測模型
機器學習
電腦:
- 數學軟體:強大矩陣運算和最佳化功能的matlab,專而精的mathematica。
- 語言:fortran(強大的計算語言,充分最佳化的現成代碼),R(相比於matlab,java,c,R是個高富帥),python.
- 可視化
統計:時間序列分析
應用迴歸分析
多元統計分析
強烈推薦:Distance Education § Harvard University Extension School 和哈佛的學生一起學習Data Science。
課後問題的材料:CS109 Data Science
相關問題:
- 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?
另外,這是我的知乎專欄,會不斷更新資料科學的文章,歡迎關注。Introduction to DαΓαSciεηce - DαΓαSciεηce - 知乎專欄
大資料vs電腦