機器學習(machine learning, ml)是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、演算法複雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的效能。機器學習包含多交叉學科,同時也在很多方面得到應用,如自然語言處理、影象處理、資料探勘、推薦系統領域等。機器學習包含監督學習、無監督學習、半監督學習、強化學習、深度學習、遷移學習等,還有各種工具和框架的應用,因此machine learning的過程也是漫長而有趣的。
下圖為開發者平台csdn上王小雷整理的機器學習演算法彙總,其中包含很多機器學習演算法,知識體系較為龐大。目前個人已掌握知識點主要在監督學習、無監督學習、整合學習演算法、降維方面,所以先給大家介紹這幾類機器學習演算法,半監督學習、強化學習、深度學習和遷移學習個人會繼續學習。
機器學習演算法中常用到的便是監督學習和無監督學習,監督學習包含回歸和分類兩方面,無監督學習為聚類。
監督學習(supervised learning)
當你有一些問題和他們的答案時,你要做的有監督學習就是學習這些已經知道答案的問題,當你具備此類學習的經驗時,便是學習的成果。然後當你接受到乙個新的此類問題時,便可通過學習得到的經驗,得出新問題的答案。當我們有一些樣本資料集時,對於每個單一的資料根據他的特徵向量我們要去判斷他的標籤,那麼就是監督學習。監督學習分為**回歸分析(regression analysis)和分類(classification)**兩類。
無監督學習(unsupervised learning)
我們有一些問題,但是不知道答案,我們要做的無監督學習就是按照他們的性質把他們自動地分成很多組,每組的問題是具有類似性質的(比如數學問題會聚集在一組,英語問題聚集在一組……)。
所有的資料只有特徵向量沒有標籤,但是可以發現這些資料呈現出聚群的結構,本質是相似的型別會聚集在一起。把這些沒有標籤的資料分成各個組合便是聚類。比如每天都會搜到大量新聞,然後把它們全部聚類,就會自動分成幾十個不同的組(比如娛樂、科技、政治…),每個組內新聞都具有相似的內容結構。
開始機器學習之前必須要有一定的數學知識,因為各演算法之中涉及很多公式推導,用到的主要數學知識點為微積分、概率論、大學中高等數學知識點,忘記的同學可以在學習演算法的過程中複習下。另外我們還需要掌握一門程式語言,這裡推薦大家學習python,為什麼選擇python在這兒也就不討論了,知乎平台上有很多介紹。
很好,我們掌握一門程式語言和數學知識之後便可開始machine learning,此過程中將使用相應python標準庫和第三方庫,大家可以參考我以前寫的文章,python之numpy使用教程、python之pandas使用教程、python之matplotlib使用教程。中間過程中如涉及到其他python庫的使用,會及時寫出相應教程。接下來一段時間將持續更新各種機器學習演算法,包括線性回歸、logistic回歸、支援向量機svm、決策樹、em等演算法。
機械人知識體系
1 機械人運動學 introduction to robotics mechanics and control 3rd edition robotics modelling,planning and control springer verlag london 2009 springer handb...
深度學習知識體系
廣義網路結構 前饋神經網路 卷積神經網路 迴圈神經網路lstm gru 雙向迴圈神經網路bi lstm bi gru 了解 網路中的特殊單元 bn 為什麼可以加快學習 用1x1的感受域來減少變數數 為什麼可以加快學習 用兩2層3x3的感受域的卷積,代替5x5感受域的卷積 為什麼可以優化網路 用1x3...
機械人知識體系構建
1 機械人運動學 2 機械人動力學 robotics modelling,planning and control springer verlag london 2009 springer handbook of robotics 2nd robotics,vision and control fu...