大数据vs计算机
大數據有兩個方向,一個是偏計算機的,另一個是偏經濟的。你學過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?
總結
- 上一篇: MySQL管理一些基础SQL语句
- 下一篇: Qt 实现桌面右下角消息弹窗提示