謝邀! 能在大二這個年紀提出這樣的問題真讓我們這些80后汗顏,我們大二的時智能手機還沒有開始普及,而現(xiàn)在人工智能已經(jīng)開始逐步進入生活的各個領域。2017年可以說是人工智能的發(fā)展迎來了一個拐點,國家層面確定人工智能的發(fā)展戰(zhàn)略及方向。未來兩年,人工智能應用層面將出現(xiàn)爆發(fā)式增長,進而出現(xiàn)大量的AI應用人才缺口,所以現(xiàn)在對于一個大二學生來講,還能有什么比這更幸運? 學習人工智能,我建議參考一下步驟循序漸進: 學習并掌握好數(shù)學知識高等數(shù)學是學習人工智能的基礎,一起理工科都需要這個打底,數(shù)據(jù)挖掘、人工智能、模式識別此類跟數(shù)據(jù)打交道的又尤其需要多元微積分運算基礎。線性代數(shù)很重要,現(xiàn)行模型是你最先考慮的模型,未來很可能還要處理多維數(shù)據(jù),需要用線性代數(shù)來簡潔清晰的描述問題,為分析求解奠定基礎。 概率論、數(shù)理統(tǒng)計、隨機過程更是少不了,涉及數(shù)據(jù)的問題,不確定性幾乎是不可避免的,引入隨機變量順理成章,相關理論、方法、模型非常豐富。 再就是優(yōu)化理論與算法,除非你的問題是像二元一次方程求根那樣有現(xiàn)成的公式,否則你將不得不面對各種看起來無解但是要解的問題,優(yōu)化將是你的GPS為你指路。 有了以上基礎就可以開始機器學習的理論和算法了,以后再具體針對某一個應用補充相關的知識與理論,比如數(shù)值計算、圖論、拓撲等。 學習機器學習的理論和算法機器學習無疑是當前數(shù)據(jù)分析領域的一個熱點內容。很多人在平時的工作中都或多或少會用到機器學習的算法。機器學習的算法很多。很多時候困惑人們都是,很多算法是一類算法,而有些算法又是從其他算法中延伸出來的。 回歸算法:常見的回歸算法包括:最小二乘法(Ordinary Least Square),邏輯回歸(Logistic Regression),逐步式回歸(Stepwise Regression),多元自適應回歸樣條(Multivariate Adaptive Regression Splines)以及本地散點平滑估計(Locally Estimated Scatterplot Smoothing) 基于實例的算法:常見的算法包括 k-Nearest Neighbor(KNN), 學習矢量量化(Learning Vector Quantization, LVQ),以及自組織映射算法(Self-Organizing Map , SOM) 正則化方法:正則化方法是其他算法(通常是回歸算法)的延伸,根據(jù)算法的復雜度對算法進行調整。正則化方法通常對簡單模型予以獎勵而對復雜算法予以懲罰。常見的算法包括:Ridge Regression, Least Absolute Shrinkage and Selection Operator(LASSO),以及彈性網(wǎng)絡(Elastic Net)。 決策樹學習:決策樹算法根據(jù)數(shù)據(jù)的屬性采用樹狀結構建立決策模型, 決策樹模型常常用來解決分類和回歸問題。常見的算法包括:分類及回歸樹(Classification And Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic Interaction Detection(CHAID), Decision Stump, 隨機森林(Random Forest), 多元自適應回歸樣條(MARS)以及梯度推進機(Gradient Boosting Machine, GBM) 貝葉斯算法:貝葉斯方法算法是基于貝葉斯定理的一類算法,主要用來解決分類和回歸問題。常見算法包括:樸素貝葉斯算法,平均單依賴估計(Averaged One-Dependence Estimators, AODE),以及Bayesian Belief Network(BBN)。 基于核的算法:最著名的莫過于支持向量機(SVM)了。 基于核的算法把輸入數(shù)據(jù)映射到一個高階的向量空間, 在這些高階向量空間里, 有些分類或者回歸問題能夠更容易的解決。 常見的基于核的算法包括:支持向量機(Support Vector Machine, SVM), 徑向基函數(shù)(Radial Basis Function ,RBF), 以及線性判別分析(Linear Discriminate Analysis ,LDA)等。 聚類算法:聚類算法通常按照中心點或者分層的方式對輸入數(shù)據(jù)進行歸并。所以的聚類算法都試圖找到數(shù)據(jù)的內在結構,以便按照最大的共同點將數(shù)據(jù)進行歸類。常見的聚類算法包括 k-Means算法以及期望最大化算法(Expectation Maximization, EM)。 關聯(lián)規(guī)則學習:關聯(lián)規(guī)則學習通過尋找最能夠解釋數(shù)據(jù)變量之間關系的規(guī)則,來找出大量多元數(shù)據(jù)集中有用的關聯(lián)規(guī)則。常見算法包括 Apriori算法和Eclat算法等。 人工神經(jīng)網(wǎng)絡:人工神經(jīng)網(wǎng)絡是機器學習的一個龐大的分支,有幾百種不同的算法。(其中深度學習就是其中的一類算法,我們會單獨討論),重要的人工神經(jīng)網(wǎng)絡算法包括:感知器神經(jīng)網(wǎng)絡(Perceptron Neural Network), 反向傳遞(Back Propagation), Hopfield網(wǎng)絡,自組織映射(Self-Organizing Map, SOM)。學習矢量量化(Learning Vector Quantization, LVQ) 深度學習:深度學習算法是對人工神經(jīng)網(wǎng)絡的發(fā)展。 很多深度學習的算法是半監(jiān)督式學習算法,用來處理存在少量未標識數(shù)據(jù)的大數(shù)據(jù)集。常見的深度學習算法包括:受限波爾茲曼機(Restricted Boltzmann Machine, RBN), Deep Belief Networks(DBN),卷積網(wǎng)絡(Convolutional Network), 堆棧式自動編碼器(Stacked Auto-encoders)。 降低維度算法:降低維度算法是以非監(jiān)督學習的方式試圖利用較少的信息來歸納或者解釋數(shù)據(jù)。這類算法可以用于高維數(shù)據(jù)的可視化或者用來簡化數(shù)據(jù)以便監(jiān)督式學習使用。常見的算法包括:主成份分析(Principle Component Analysis, PCA),偏最小二乘回歸(Partial Least Square Regression,PLS), Sammon映射,多維尺度(Multi-Dimensional Scaling, MDS), 投影追蹤(Projection Pursuit)等。 集成算法:集成算法的主要難點在于究竟集成哪些獨立的較弱的學習模型以及如何把學習結果整合起來。這是一類非常強大的算法,同時也非常流行。常見的算法包括:Boosting, Bootstrapped Aggregation(Bagging), AdaBoost,堆疊泛化(Stacked Generalization, Blending),梯度推進機(Gradient Boosting Machine, GBM),隨機森林(Random Forest)。 掌握一種編程語言Python一方面Python是腳本語言,簡便,拿個記事本就能寫,寫完拿控制臺就能跑;另外,Python非常高效,效率比java、r、matlab高。matlab雖然包也多,但是效率是這四個里面最低的。 行業(yè)動態(tài)及論文了解行業(yè)最新動態(tài)和研究成果,比如各大牛的經(jīng)典論文、博客、讀書筆記、微博微信等媒體資訊。 實踐練習找一個開源框架,自己多動手訓練深度神經(jīng)網(wǎng)絡,多動手寫寫代碼,多做一些與人工智能相關的項目。 找到自己感興趣的方向人工智能有很多方向,比如NLP、語音識別、計算機視覺等等,生命有限,必須得選一個方向深入的專研下去,這樣才能成為人工智能領域的大牛,有所成就。 |
|