標籤:常見 oca 常用 過程 apr 手寫 熱點 之間 nbsp
機器學習無疑是當前資料分析領域的一個熱點內容。很多人在平時的工作中都或多或少會用到機器學習的演算法。這裡我們將為您總結一下常見的機器學習演算法,以供您在工作和學習中參考。
機器學習的演算法很多。很多時候困惑人們都是,很多演算法是一類演算法,而有些演算法又是從其他演算法中延伸出來的。這裡,我們從兩個方面來給大家介紹,第一個方面是學習的方式,第二個方面是演算法的類似性。
學習方式
根據資料類型的不同,對一個問題的建模有不同的方式。在機器學習或者人工智慧領域,人們首先會考慮演算法的學習方式。在機器學習領域,有幾種主要的學習方式。將演算法按照學習方式分類是一個不錯的想法,這樣可以讓人們在建模和演算法選擇的時候考慮能根據輸入資料來選擇最合適的演算法來獲得最好的結果。
監督式學習:
在監督式學習下,輸入資料被稱為“訓練資料”,每組訓練資料有一個明確的標識或結果,如對防垃圾郵件系統中“垃圾郵件”“非垃圾郵件”,對手寫數字識別中的“1“,”2“,”3“,”4“等。在建立預測模型的時候,監督式學習建立一個學習過程,將預測結果與“訓練資料”的實際結果進行比較,不斷的調整預測模型,直到模型的預測結果達到一個預期的準確率。監督式學習的常見應用情境如分類問題和迴歸問題。常見演算法有羅吉斯迴歸(Logistic Regression)和反向傳遞神經網路(Back Propagation Neural Network)
非監督式學習:
在非監督式學習中,資料並不被特別標識,學習模型是為了推斷出資料的一些內在結構。常見的應用情境包括關聯規則的學習以及聚類等。常見演算法包括Apriori演算法以及k-Means演算法。
半監督式學習:
在此學習方式下,輸入資料部分被標識,部分沒有被標識,這種學習模型可以用來進行預測,但是模型首先需要學習資料的內在結構以便合理的組織資料來進行預測。應用情境包括分類和迴歸,演算法包括一些對常用監督式學習演算法的延伸,這些演算法首先試圖對未標識資料進行建模,在此基礎上再對標識的資料進行預測。論推理演算法(Graph Inference)或者拉普拉斯支援向量機(Laplacian SVM.)等。
強化學習: 在這種學習模式下,輸入資料作為對模型的反饋,不像監督模型那樣,輸入資料僅僅是作為一個檢查模型對錯的方式,在強化學習下,輸入資料直接反饋到模型,模型必須對此立刻作出調整。常見的應用情境包括動態系統以及機器人控制等。常見演算法包括Q-Learning以及時間差學習(Temporal difference learning)
在企業資料應用的情境下, 人們最常用的可能就是監督式學習和非監督式學習的模型。 在Image Recognition等領域,由於存在大量的非標識的資料和少量的可標識資料, 目前半監督式學習是一個很熱的話題。 而強化學習更多的應用在機器人控制及其他需要進行系統控制的領域。
演算法類似性
根據演算法的功能和形式的類似性,我們可以把演算法分類,比如說基於樹的演算法,基於神經網路的演算法等等。當然,機器學習的範圍非常龐大,有些演算法很難明確歸類到某一類。而對於有些分類來說,同一分類的演算法可以針對不同類型的問題。這裡,我們盡量把常用的演算法按照最容易理解的方式進行分類。
迴歸演算法
迴歸演算法是試圖採用對誤差的衡量來探索變數之間的關係的一類演算法。迴歸演算法是統計機器學習的利器。在機器學習領域,人們說起迴歸,有時候是指一類問題,有時候是指一類演算法,這一點常常會使初學者有所困惑。常見的迴歸演算法包括:最小二乘法(Ordinary Least Square),羅吉斯迴歸(Logistic Regression),逐步式迴歸(Stepwise Regression),多元自適應迴歸樣條(Multivariate Adaptive Regression Splines)以及本地散點平滑估計(Locally Estimated Scatterplot Smoothing)
資源 | 程式員實用深度學習免費課程:從入門到實踐
機器學習演算法盤點