1. 程式人生 > >如何優雅的入門機器學習

如何優雅的入門機器學習

在這裡插入圖片描述

這兩年,人工智慧已經火到了全民皆知的地步。隨著阿爾法狗聲名鵲起之後,無人駕駛、人臉識別、郵箱分類、圖片美化、聲紋識別等人工智慧的產物都進入了大家的視線。大家都對人工智慧的前景很看好。其中不乏一些想入門人工智慧的學生和IT類職員。
本文並不是給大家上人生課,用機器學習的語言來說,我這篇文章不是分類文,而是迴歸文。也就是說,具體要不要入門人工智慧,大家要自己想好了,如果已經堅定了信念,今後要在人工智慧的路上走下去的話,恭喜你,你至少已經成功了四分之一。我結合著自己在人工智慧領域的經驗,給大家分享下該如何入門人工智慧,希望能夠幫助處於迷茫中的人群。
人工智慧只是一個大領域,他擁有兩個小領域,一個是機器學習,另一個是深度學習。那麼同學們是不是一入門,就要抉擇是選擇深度學習還是機器學習呢? 一入門就選的話,估計同學們會很痛苦,還好,這個時候並不需要選擇,因為深度學習是機器學習的子類,換句話說就是,想要學習深度學習,機器學習的部分知識你也是要掌握的。那麼擺在大家面前的就只剩下一條路了,先學習機器學習!

在這裡插入圖片描述

我不會像很多文章那樣列舉幾十個連結堆在那,毫無前後關係,內容多的讓人崩潰。
我結合著自己學習的心路歷程,推薦幾個經典的東西,讓大家優雅的入門。

  • 數學基礎部分
    學習機器學習,要有一些數學基礎,好在要求的數學基礎都是高中及大學的層次,相信大家都學過。即使忘了,再去尋找以前的記憶也相對容易一些。我列舉下必備的知識。

1.線性代數(矩陣、特徵值、特徵向量、秩)

2.微積分(極限、導數、拉格朗日中值、泰勒級數展開)

3.統計學 (相關性分析、期望、方差、分佈、指標)

注:很多文章都說凸優化的知識,其實凸優化多數都是用在研究領域,對於剛入門作用不大,暫時不建議大家看。

書籍方面:去翻下大學相關課程教材即可。不建議從頭開始學,很耗時,去翻翻上面說的幾部分內容就可以。如果覺得不夠可以再去看看吳軍的《數學之美》和李航的《統計學習方法》。這兩本書還是比較經典的。

視訊方面:我錄製了一門機器學習入門的課,感興趣的話,可以看下。

>>>>>>機器學習數學基礎<<<<<<

  • Python語言基礎

現在機器學習中,Python語言用的居多。如果你是程式設計師出身,已經有過Python,C++,Java語言的話,這一步就很簡單了。如果你現在還不懂程式語言,也沒關係,Python是一門很簡單的語言。Python語言其實也有難點,但好在機器學習裡面用不上,是不是有難以掩飾的激動【劫後餘生臉】.相信大家經過1周時間基本就可以應用了。我給同學們列舉下該學習哪部分。

基礎部分:推薦給大家一個網上的教程,如果這個連結失效了,也可以自己在搜尋引擎上搜《Python3教程》關鍵字(這裡推薦大家學習Python3,如果已經有了Python2的基礎,也可以忽略)

https://m.runoob.com/python3/。

模組部分:Numpy、Pandas、Matplotlib。這幾個是需要大家掌握的。大家自己在搜尋引擎上搜。如果我以後發現好的這方面的文章,再推薦給大家。

視訊方面:我也錄製了一門Python基礎入門的課,就是針對這三個模組進行的講解。感興趣的話,可以看下。

>>>>>>人工智慧Python基礎<<<<<<

其他的呢,可以看下scikit-learn這個模組。他是機器學習的一個Python庫。有很多機器學習方面的模型,用scikit-learn可以很快的實現。大家也可以在瞭解機器學習之後,再學習也可以。

  • 機器學習基礎

這一部分內容還是很多的,講的都是一些經典的入門演算法,大家要好好的感受下這些演算法的精髓。

  • 線性迴歸、梯度下降、邏輯迴歸

  • 決策樹和隨機森林(ID3、C4.5、CART、GBDT、RandomForest)

  • SVM (軟間隔、損失函式、核函式、SMO演算法、libSVM)

  • 聚類(K-Means、聚譜類SC)

  • EM演算法(最大似然估計、Jensen不等式、混合高斯分佈、主題模型pLSA)

  • 主題模型LDA

  • 隱馬爾可夫模型

書籍方面:Andrew Ng — Machine Learning Coursera from Stanford

視訊方面:我也錄製了一門機器學習基礎入門的課。

>>>>>>從零開始機器學習<<<<<<

有了上面的基礎,選擇一門由淺入深的課程來學習。基礎打下後,對機器學習已經有了充足的瞭解,可以用機器學習來解決一個實際的問題。解決實際問題的時候,可能涉及到上面基礎部分的延伸,相信有了上面的基礎部分,再繼續學習起來就容易很多。通過實戰經驗積累以後,可以考慮繼續進行學習。這時候有兩個選擇,深度學習或者繼續機器學習。深度學習是目前最火熱的機器學習方向,這裡推薦大家選擇TensorFlow框架。它是谷歌公司的開源框架,雖然說並不是最早的,但是無論它背後的技術沉澱,還是它的更新速度都是好的。也在開源的眾多深度學習的框架中遙遙領先。深度學習其中一些方法已經跟傳統的機器學習不太一樣,因此可以單獨學習。除了深度學習以外,機器學習還包括統計學習,整合學習等實用方法。如果條件足夠,可以同時學習兩者,一些規律對兩者是共通的。學習完後,你已經具備了較強的知識儲備,可以進入較難的實戰。這時候有兩個選擇,工業界的可以選擇看開源專案,以改程式碼為目的來讀程式碼;學術界的可以看特定領域的論文,為解決問題而想發論文。無論哪者,都需要知識過硬,以及較強的編碼能力,因此很能考察和鍛鍊水平。經過這個階段以後,可以說是踏入AI領域的門了。

入門之後也算是值得高興了,但是你離精通其實還有很遠的一段路要走,想要在這個行業長久地活下去,內功的修煉要比外功重要得多,不然會活得很累,也很難獲得一個優秀的晉升空間。入門之後,趕快找一家公司去工作。在工作中會把你學習的知識融會貫通。而且剛步入公司,也會有一些大拿級別的人帶你。這樣的話,對你今後的發展都有很大的幫助。

另外列舉一些面試中經常考的知識點。

線性迴歸數學推導

可用性評估:獲取難度、覆蓋率、準確率

特徵清洗:清洗異常樣本

取樣:資料不均衡、樣本權重

單個特徵:無量綱化(標準化、歸一化)、二值化、離散化、缺失值(均值)、啞編碼(一個定性特徵擴充套件為N個定量特徵)

資料變換:log、指數、Box-Cox 降維:主成分分析PCA、線性判別分析LDA、SVD分解

特徵選擇:Filter(相關係數、卡方檢驗)、Wrapper(AUC、設計評價函式A*、Embedded(L1-Lasso、L2-Ridge、決策樹、DL)

老師課程主頁:http://edu.csdn.net/lecturer/1413