根據(jù)數(shù)據(jù)類型的不同,對一個問題的建模有不同的方式。在機器學(xué)習(xí)或者人工智能領(lǐng)域,人們首先會考慮算法的學(xué)習(xí)方式。在機器學(xué)習(xí)領(lǐng)域,有幾種主要的學(xué)習(xí)方式。將算法按照學(xué)習(xí)方式分類是一個不錯的想法,這樣可以讓人們在建模和算法選擇的時候考慮能根據(jù)輸入數(shù)據(jù)來選擇最合適的算法來獲得最好的結(jié)果。
1. 監(jiān)督式學(xué)習(xí):
監(jiān)督式學(xué)習(xí)(英語:Supervised learning),是一個機器學(xué)習(xí)中的方法,可以由訓(xùn)練資料中學(xué)到或建立一個模式(函數(shù) / learning model),并依此模式推測新的實例。訓(xùn)練資料是由輸入物件(通常是向量)和預(yù)期輸出所組成。函數(shù)的輸出可以是一個連續(xù)的值(稱為回歸分析),或是預(yù)測一個分類標(biāo)簽(稱作分類)。
一個監(jiān)督式學(xué)習(xí)者的任務(wù)在觀察完一些訓(xùn)練范例(輸入和預(yù)期輸出)后,去預(yù)測這個函數(shù)對任何可能出現(xiàn)的輸入的值的輸出。要達到此目的,學(xué)習(xí)者必須以"合理"的方式從現(xiàn)有的資料中一般化到非觀察到的情況。在人類和動物感知中,則通常被稱為概念學(xué)習(xí)(concept learning)。
2. 非監(jiān)督式學(xué)習(xí):
在非監(jiān)督式學(xué)習(xí)中,數(shù)據(jù)并不被特別標(biāo)識,學(xué)習(xí)模型是為了推斷出數(shù)據(jù)的一些內(nèi)在結(jié)構(gòu)。常見的應(yīng)用場景包括關(guān)聯(lián)規(guī)則的學(xué)習(xí)以及聚類等。常見算法包括Apriori算法以及k-Means算法。
3. 半監(jiān)督式學(xué)習(xí):
在此學(xué)習(xí)方式下,輸入數(shù)據(jù)部分被標(biāo)識,部分沒有被標(biāo)識,這種學(xué)習(xí)模型可以用來進行預(yù)測,但是模型首先需要學(xué)習(xí)數(shù)據(jù)的內(nèi)在結(jié)構(gòu)以便合理的組織數(shù)據(jù)來進行預(yù)測。應(yīng)用場景包括分類和回歸,算法包括一些對常用監(jiān)督式學(xué)習(xí)算法的延伸,這些算法首先試圖對未標(biāo)識數(shù)據(jù)進行建模,在此基礎(chǔ)上再對標(biāo)識的數(shù)據(jù)進行預(yù)測。如圖論推理算法(Graph Inference)或者拉普拉斯支持向量機(Laplacian SVM.)等。
4. 強化學(xué)習(xí):
在這種學(xué)習(xí)模式下,輸入數(shù)據(jù)作為對模型的反饋,不像監(jiān)督模型那樣,輸入數(shù)據(jù)僅僅是作為一個檢查模型對錯的方式,在強化學(xué)習(xí)下,輸入數(shù)據(jù)直接反饋到模型,模型必須對此立刻作出調(diào)整。常見的應(yīng)用場景包括動態(tài)系統(tǒng)以及機器人控制等。常見算法包括Q-Learning以及時間差學(xué)習(xí)(Temporal difference learning)
5. 算法類似性
根據(jù)算法的功能和形式的類似性,我們可以把算法分類,比如說基于樹的算法,基于神經(jīng)網(wǎng)絡(luò)的算法等等。當(dāng)然,機器學(xué)習(xí)的范圍非常龐大,有些算法很難明確歸類到某一類。而對于有些分類來說, 同一分類的算法可以針對不同類型的問題。這里,我們盡量把常用的算法按照最容易理解的方式進行分類。
6. 回歸算法:
回歸算法是試圖采用對誤差的衡量來探索變量之間的關(guān)系的一類算法。回歸算法是統(tǒng)計機器學(xué)習(xí)的利器。在機器學(xué)習(xí)領(lǐng)域,人們說起回歸,有時候是指一類問題,有時候是指一類算法,這一點常常會使初學(xué)者有所困惑。常見的回歸算法包括:最小二乘法(Ordinary Least Square),邏輯回歸(Logistic Regression),逐步式回歸(Stepwise Regression),多元自適應(yīng)回歸樣條(Multivariate Adaptive Regression Splines)以及本地散點平滑估計(Locally Estimated Scatterplot Smoothing)
7. 基于實例的算法
基于實例的算法常常用來對決策問題建立模型,這樣的模型常常先選取一批樣本數(shù)據(jù),然后根據(jù)某些近似性把新數(shù)據(jù)與樣本數(shù)據(jù)進行比較。通過這種方式來尋找最佳的匹配。因此,基于實例的算法常常也被稱為“贏家通吃”學(xué)習(xí)或者“基于記憶的學(xué)習(xí)”。常見的算法包括 k-Nearest Neighbor(KNN), 學(xué)習(xí)矢量量化(Learning Vector Quantization, LVQ),以及自組織映射算法(Self-Organizing Map , SOM)。
8. 正則化方法
正則化方法是其他算法(通常是回歸算法)的延伸,根據(jù)算法的復(fù)雜度對算法進行調(diào)整。正則化方法通常對簡單模型予以獎勵而對復(fù)雜算法予以懲罰。常見的算法包括:Ridge Regression,Least Absolute Shrinkage and Selection Operator(LASSO),以及彈性網(wǎng)絡(luò)(Elastic Net)。
9. 決策樹學(xué)習(xí)
決策樹算法根據(jù)數(shù)據(jù)的屬性采用樹狀結(jié)構(gòu)建立決策模型, 決策樹模型常常用來解決分類和回歸問題。常見的算法包括:分類及回歸樹(Classification And Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic Interaction Detection(CHAID), Decision Stump, 隨機森林(Random Forest), 多元自適應(yīng)回歸樣條(MARS)以及梯度推進機(Gradient Boosting Machine, GBM)
10. 貝葉斯方法
貝葉斯方法算法是基于貝葉斯定理的一類算法,主要用來解決分類和回歸問題。常見算法包括:樸素貝葉斯算法,平均單依賴估計(Averaged One-Dependence Estimators, AODE),以及Bayesian Belief Network(BBN)。
11. 基于核的算法
基于核的算法中最著名的莫過于支持向量機(SVM)了。基于核的算法把輸入數(shù)據(jù)映射到一個高階的向量空間, 在這些高階向量空間里, 有些分類或者回歸問題能夠更容易的解決。常見的基于核的算法包括:支持向量機(Support Vector Machine, SVM), 徑向基函數(shù)(Radial Basis Function ,RBF), 以及線性判別分析(Linear Discriminate Analysis ,LDA)等。
12.聚類算法
聚類,就像回歸一樣,有時候人們描述的是一類問題,有時候描述的是一類算法。聚類算法通常按照中心點或者分層的方式對輸入數(shù)據(jù)進行歸并。所以的聚類算法都試圖找到數(shù)據(jù)的內(nèi)在結(jié)構(gòu),以便按照最大的共同點將數(shù)據(jù)進行歸類。常見的聚類算法包括 k-Means算法以及期望最大化算法(Expectation Maximization, EM)。
13. 關(guān)聯(lián)規(guī)則學(xué)習(xí)
關(guān)聯(lián)規(guī)則學(xué)習(xí)通過尋找最能夠解釋數(shù)據(jù)變量之間關(guān)系的規(guī)則,來找出大量多元數(shù)據(jù)集中有用的關(guān)聯(lián)規(guī)則。常見算法包括 Apriori算法和Eclat算法等。
14. 人工神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)算法模擬生物神經(jīng)網(wǎng)絡(luò),是一類模式匹配算法。通常用于解決分類和回歸問題。人工神經(jīng)網(wǎng)絡(luò)是機器學(xué)習(xí)的一個龐大的分支,有幾百種不同的算法。(其中深度學(xué)習(xí)就是其中的一類算法,我們會單獨討論),重要的人工神經(jīng)網(wǎng)絡(luò)算法包括:感知器神經(jīng)網(wǎng)絡(luò)(Perceptron Neural Network), 反向傳遞(Back Propagation), Hopfield網(wǎng)絡(luò),自組織映射(Self-Organizing Map, SOM)。學(xué)習(xí)矢量量化(Learning Vector Quantization, LVQ)。
15. 深度學(xué)習(xí)
深度學(xué)習(xí)算法是對人工神經(jīng)網(wǎng)絡(luò)的發(fā)展。在近期贏得了很多關(guān)注, 特別是百度也開始發(fā)力深度學(xué)習(xí)后, 更是在國內(nèi)引起了很多關(guān)注。在計算能力變得日益廉價的今天,深度學(xué)習(xí)試圖建立大得多也復(fù)雜得多的神經(jīng)網(wǎng)絡(luò)。很多深度學(xué)習(xí)的算法是半監(jiān)督式學(xué)習(xí)算法,用來處理存在少量未標(biāo)識數(shù)據(jù)的大數(shù)據(jù)集。常見的深度學(xué)習(xí)算法包括:受限波爾茲曼機(Restricted Boltzmann Machine, RBN), Deep Belief Networks(DBN),卷積網(wǎng)絡(luò)(Convolutional Network), 堆棧式自動編碼器(Stacked Auto-encoders)。
16. 降低維度算法
像聚類算法一樣,降低維度算法試圖分析數(shù)據(jù)的內(nèi)在結(jié)構(gòu),不過降低維度算法是以非監(jiān)督學(xué)習(xí)的方式試圖利用較少的信息來歸納或者解釋數(shù)據(jù)。這類算法可以用于高維數(shù)據(jù)的可視化或者用來簡化數(shù)據(jù)以便監(jiān)督式學(xué)習(xí)使用。
常見的算法包括:主成份分析(Principle Component Analysis, PCA),偏最小二乘回歸(Partial Least Square Regression,PLS), Sammon映射,多維尺度(Multi-Dimensional Scaling, MDS), 投影追蹤(Projection Pursuit)等。
17. 集成算法:
集成算法用一些相對較弱的學(xué)習(xí)模型獨立地就同樣的樣本進行訓(xùn)練,然后把結(jié)果整合起來進行整體預(yù)測。集成算法的主要難點在于究竟集成哪些獨立的較弱的學(xué)習(xí)模型以及如何把學(xué)習(xí)結(jié)果整合起來。
這是一類非常強大的算法,同時也非常流行。常見的算法包括:Boosting, Bootstrapped Aggregation(Bagging), AdaBoost,堆疊泛化(Stacked Generalization, Blending),梯度推進機(Gradient Boosting Machine, GBM),隨機森林(Random Forest)。
審核編輯:湯梓紅
-
算法
+關(guān)注
關(guān)注
23文章
4631瀏覽量
93423 -
人工智能
+關(guān)注
關(guān)注
1796文章
47789瀏覽量
240548 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8446瀏覽量
133123
發(fā)布評論請先 登錄
相關(guān)推薦
華為云 Flexus X 實例部署安裝 Jupyter Notebook,學(xué)習(xí) AI,機器學(xué)習(xí)算法
![華為云 Flexus X 實例部署安裝 Jupyter Notebook,<b class='flag-5'>學(xué)習(xí)</b> AI,<b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>算法</b>](https://file1.elecfans.com//web3/M00/04/8B/wKgZPGd2J4SABwWpAAGTB6rKYaM050.png)
傳統(tǒng)機器學(xué)習(xí)方法和應(yīng)用指導(dǎo)
![傳統(tǒng)<b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b>方法和應(yīng)用指導(dǎo)](https://file1.elecfans.com/web3/M00/04/33/wKgZPGdx9NKAcZdAAABMVybzcFI029.png)
NPU與機器學(xué)習(xí)算法的關(guān)系
【每天學(xué)點AI】KNN算法:簡單有效的機器學(xué)習(xí)分類器
![【每天學(xué)點AI】KNN<b class='flag-5'>算法</b>:簡單有效的<b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b>分類器](https://file1.elecfans.com/web1/M00/F4/08/wKgaoWcjHw2Afh8GAABiK2PIrq8889.png)
人工智能、機器學(xué)習(xí)和深度學(xué)習(xí)存在什么區(qū)別
![人工智能、<b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b>和深度<b class='flag-5'>學(xué)習(xí)</b>存在什么區(qū)別](https://file.elecfans.com/web1/M00/B4/CF/pIYBAF5XOz-AXxSIAAQkWPK5u6Y842.png)
LIBS結(jié)合機器學(xué)習(xí)算法的江西名優(yōu)春茶采收期鑒別
![LIBS結(jié)合<b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>算法</b>的江西名優(yōu)春茶采收期鑒別](https://file1.elecfans.com//web1/M00/F3/76/wKgZoWcXeO6AfT_JAAAmxIOzbgI262.png)
常用的ADC濾波算法有哪些
深度學(xué)習(xí)算法在嵌入式平臺上的部署
深度學(xué)習(xí)的基本原理與核心算法
機器學(xué)習(xí)算法原理詳解
機器學(xué)習(xí)在數(shù)據(jù)分析中的應(yīng)用
機器學(xué)習(xí)的經(jīng)典算法與應(yīng)用
![<b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b>的經(jīng)典<b class='flag-5'>算法</b>與應(yīng)用](https://file.elecfans.com/web2/M00/4E/DC/poYBAGLCjeiALm_WAAAYmfR7Qec474.png)
名單公布!【書籍評測活動NO.35】如何用「時間序列與機器學(xué)習(xí)」解鎖未來?
機器學(xué)習(xí)怎么進入人工智能
機器學(xué)習(xí)8大調(diào)參技巧
![<b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b>8大調(diào)參技巧](https://file.elecfans.com/web2/M00/4E/DC/poYBAGLCjeiALm_WAAAYmfR7Qec474.png)
評論