高等數(shù)學是基礎中的基礎,一切理工科都需要這個打底,數(shù)據(jù)挖掘、人工智能、模式識別此類跟數(shù)據(jù)打交道的又尤其需要多元微積分運算基礎線性代數(shù)很重要,一般來說線性模型是你最先要考慮的模型,加上很可能要處理多維數(shù)據(jù),你需要用線性代數(shù)來簡潔清晰的描述問題,為分析求解奠定基礎概率論、數(shù)理統(tǒng)計、隨機過程更是少不了,涉及數(shù)據(jù)的問題,不確定性幾乎是不可避免的,引入隨機變量順理成章,相關理論、方法、模型非常豐富。很多機器學習的算法都是建立在概率論和統(tǒng)計學的基礎上的,比如貝葉斯分類器、高斯隱馬爾可夫鏈。
再就是優(yōu)化理論與算法,除非你的問題是像二元一次方程求根那樣有現(xiàn)成的公式,否則你將不得不面對各種看起來無解但是要解的問題,優(yōu)化將是你的GPS為你指路有以上這些知識打底,就可以開拔了,針對具體應用再補充相關的知識與理論,比如說一些我覺得有幫助的是數(shù)值計算、圖論、拓撲,更理論一點的還有實/復分析、測度論,偏工程類一點的還有信號處理、數(shù)據(jù)結構。
2、掌握經典機器學習理論和算法如果有時間可以為自己建立一個機器學習的知識圖譜,并爭取掌握每一個經典的機器學習理論和算法,我簡單地總結如下:
1) 回歸算法:常見的回歸算法包括最小二乘法(OrdinaryLeast Square),邏輯回歸(Logistic Regression),逐步式回歸(Stepwise Regression),多元自適應回歸樣條(MulTIvariateAdapTIve Regression Splines)以及本地散點平滑估計(Locally EsTImated Scatterplot Smoothing);
2) 基于實例的算法:常見的算法包括 k-Nearest Neighbor(KNN), 學習矢量量化(Learning Vector QuanTIzation, LVQ),以及自組織映射算法(Self-Organizing Map , SOM);
3) 基于正則化方法:常見的算法包括:Ridge Regression, Least Absolute Shrinkage and Selection Operator(LASSO),以及彈性網絡(Elastic Net);
4) 決策樹學習:常見的算法包括:分類及回歸樹(ClassificationAnd Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic Interaction Detection(CHAID), Decision Stump, 隨機森林(Random Forest), 多元自適應回歸樣條(MARS)以及梯度推進機(Gradient Boosting Machine, GBM);
5) 基于貝葉斯方法:常見算法包括:樸素貝葉斯算法,平均單依賴估計(AveragedOne-Dependence Estimators, AODE),以及Bayesian Belief Network(BBN);
6) 基于核的算法:常見的算法包括支持向量機(SupportVector Machine, SVM), 徑向基函數(shù)(Radial Basis Function ,RBF), 以及線性判別分析(Linear Discriminate Analysis ,LDA)等;
7) 聚類算法:常見的聚類算法包括 k-Means算法以及期望最大化算法(Expectation Maximization, EM);
8) 基于關聯(lián)規(guī)則學習:常見算法包括 Apriori算法和Eclat算法等;
9) 人工神經網絡:重要的人工神經網絡算法包括:感知器神經網絡(PerceptronNeural Network), 反向傳遞(Back Propagation), Hopfield網絡,自組織映射(Self-OrganizingMap, SOM)。學習矢量量化(Learning Vector Quantization, LVQ);
10)深度學習:常見的深度學習算法包括:受限波爾茲曼機(RestrictedBoltzmann Machine, RBN), Deep Belief Networks(DBN),卷積網絡(Convolutional Network), 堆棧式自動編碼器(Stacked Auto-encoders);
11)降低維度的算法:常見的算法包括主成份分析(PrincipleComponent Analysis, PCA),偏最小二乘回歸(Partial Least Square Regression,PLS), Sammon映射,多維尺度(Multi-Dimensional Scaling, MDS),投影追蹤(ProjectionPursuit)等;
12)集成算法:常見的算法包括:Boosting, Bootstrapped Aggregation(Bagging),AdaBoost,堆疊泛化(Stacked Generalization, Blending),梯度推進機(GradientBoosting Machine, GBM),隨機森林(Random Forest)。
3、掌握一種編程工具,比如Python一方面Python是腳本語言,簡便,拿個記事本就能寫,寫完拿控制臺就能跑;另外,Python非常高效,效率比java、r、matlab高。matlab雖然包也多,但是效率是這四個里面最低的。
4、了解行業(yè)最新動態(tài)和研究成果,比如各大牛的經典論文、博客、讀書筆記、微博微信等媒體資訊。
5、買一個GPU,找一個開源框架,自己多動手訓練深度神經網絡,多動手寫寫代碼,多做一些與人工智能相關的項目。
6、選擇自己感興趣或者工作相關的一個領域深入下去人工智能有很多方向,比如NLP、語音識別、計算機視覺等等,生命有限,必須得選一個方向深入的專研下去,這樣才能成為人工智能領域的大牛,有所成就。