這篇文章,我們將了解最流行的機(jī)器學(xué)習(xí)算法。
用兩種方法來(lái)對(duì)機(jī)器學(xué)習(xí)算法進(jìn)行分組。
- 按照學(xué)習(xí)風(fēng)格進(jìn)行分組
- 按照算法的功能相似性進(jìn)行分組
兩種方法都可行,但本文更關(guān)注第二種方法。
通過(guò)閱讀本文,你將對(duì)目前流行的關(guān)于監(jiān)督學(xué)習(xí)的機(jī)器學(xué)習(xí)算法以及它們之間的關(guān)系會(huì)有更好的理解。
按照學(xué)習(xí)風(fēng)格分組的機(jī)器學(xué)習(xí)算法
讓我們看看三種不同學(xué)習(xí)風(fēng)格的機(jī)器學(xué)習(xí)算法。
1.監(jiān)督學(xué)習(xí)(Supervised Learning)
輸入數(shù)據(jù)含有標(biāo)簽,例如:是否是垃圾郵件、某天的股票價(jià)格。
用帶標(biāo)簽的數(shù)據(jù)來(lái)訓(xùn)練模型,然后利用模型來(lái)預(yù)測(cè)未見(jiàn)過(guò)的數(shù)據(jù)的標(biāo)簽。
一般用來(lái)處理分類和回歸問(wèn)題。
e.g:
- 線性回歸(Linear Regression)
- 邏輯回歸(Logistics Regression)
- 支持向量機(jī)(Support Vector Machine)
- 決策樹(shù)(Decision Tree)
- 樸素貝葉斯(naive bayes)
2.非監(jiān)督學(xué)習(xí)(Unsupervised Learning)
輸入數(shù)據(jù)不帶標(biāo)簽,模型通過(guò)推導(dǎo)輸入數(shù)據(jù)的結(jié)構(gòu)來(lái)提取數(shù)據(jù)的一般規(guī)則。
一般用來(lái)處理聚類、降維、關(guān)聯(lián)規(guī)則學(xué)習(xí)。
e.g:
- Apriori Algorithm
- K-Means
3.半監(jiān)督學(xué)習(xí)(Semi-Supervised Learning)
輸入數(shù)據(jù)部分有標(biāo)簽,部分沒(méi)有標(biāo)簽。
通過(guò)學(xué)習(xí)輸入數(shù)據(jù)的一般規(guī)則來(lái)更好的預(yù)測(cè)標(biāo)簽。
一般用來(lái)處理分類和回歸問(wèn)題。
目前比較火的是半監(jiān)督學(xué)習(xí),它可以對(duì)數(shù)量很大但是只有少量數(shù)據(jù)帶有標(biāo)簽的數(shù)據(jù)集進(jìn)行預(yù)測(cè),例如圖像分類問(wèn)題。
按照算法功能的相似性進(jìn)行分組
這是最常用的分組方法。
雖然本文沒(méi)有列出所有的算法,但是具有一定的代表性。
回歸算法(Regression Algorithm)
回歸算法為變量之間的關(guān)系建模。
回歸算法是統(tǒng)計(jì)機(jī)器學(xué)習(xí)的主流方法。
e.g:
- Ordinary Least Squares Regression (OLSR)
- Linear Regression
- Logistic Regression
- Stepwise Regression
- Multivariate Adaptive Regression Splines (MARS)
- Locally Estimated Scatterplot Smoothing (LOESS)
基于實(shí)例算法(Instance-based Algorithm)
基于實(shí)例算法不對(duì)模型進(jìn)行訓(xùn)練,只是存儲(chǔ)訓(xùn)練數(shù)據(jù)。利用相似性度量(例如KNN中的距離函數(shù))來(lái)對(duì)比新數(shù)據(jù)和訓(xùn)練數(shù)據(jù),從而找出最匹配的模式和進(jìn)行預(yù)測(cè)。
因?yàn)檫@樣,基于實(shí)例算法又叫基于記憶算法。
e.g:
- k-Nearest Neighbor (kNN)
- Learning Vector Quantization (LVQ)
- Self-Organizing Map (SOM)
- Locally Weighted Learning (LWL)
正則化算法(Regularization Algorithm)
其他算法(一般是回歸算法)的擴(kuò)展算法。
e.g:
- Ridge Regression
- Least Absolute Shrinkage and Selection Operator (LASSO)
- Elastic Net
- Least-Angle Regression (LARS)
決策樹(shù)算法(Decision Tree Algorithm)
決策樹(shù)的理論基礎(chǔ)是:信息、熵、信息增益
決策樹(shù)具有速度快和準(zhǔn)確率高的優(yōu)點(diǎn),是很受歡迎的機(jī)器學(xué)習(xí)算法,一般用于分類和回歸問(wèn)題。
e.g:
- Classification and Regression Tree (CART)
- Iterative Dichotomiser 3 (ID3)
- C4.5 and C5.0 (different versions of a powerful approach)
- Chi-squared Automatic Interaction Detection (CHAID)
- Decision Stump
- M5
- Conditional Decision Trees
貝葉斯算法(Bayesian Algorithm)
貝葉斯算法是基于貝葉斯定理,一般用于分類和回歸問(wèn)題。
e.g:
- Naive Bayes
- Gaussian Naive Bayes
- Multinomial Naive Bayes
- Averaged One-Dependence Estimators (AODE)
- Bayesian Belief Network (BBN)
- Bayesian Network (BN)
聚類算法(Clustering Algorithm)
聚類,就是利用數(shù)據(jù)固有的結(jié)構(gòu)對(duì)數(shù)據(jù)進(jìn)行分組聚類,使各組數(shù)據(jù)具有最大的共性。
e.g:
- k-Means
- k-Medians
- Expectation Maximisation (EM)
- Hierarchical Clustering
關(guān)聯(lián)規(guī)則學(xué)習(xí)算法(Association Rule Learning Algorithms)
提取最能描述變量間關(guān)系的規(guī)則。
e.g:
- Apriori algorithm
- Eclat algorithm
人工神經(jīng)網(wǎng)絡(luò)算法(Artificial Neural Network Algorithm)
人工神經(jīng)網(wǎng)絡(luò)算法是受啟發(fā)于生物神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。
e.g:
- Perceptron
- Back-Propagation
- Hopfield Network
- Radial Basis Function Network (RBFN)
深度學(xué)習(xí)算法(Deep Learning Algorithm)
深度學(xué)習(xí)算法是人工神經(jīng)網(wǎng)絡(luò)算法的升級(jí)版,具有更復(fù)雜的神經(jīng)網(wǎng)絡(luò),多數(shù)用于半監(jiān)督學(xué)習(xí)。
e.g:
- Deep Boltzmann Machine (DBM)
- Deep Belief Networks (DBN)
- Convolutional Neural Network (CNN)
- Stacked Auto-Encoders
降維算法(Dimensionality Reduction Algorithm)
在監(jiān)督學(xué)習(xí)算法中,常用于簡(jiǎn)化數(shù)據(jù)和可視化數(shù)據(jù),適用于分類和回歸問(wèn)題。
e.g:
- Principal Component Analysis (PCA)
- Principal Component Regression (PCR)
- Partial Least Squares Regression (PLSR)
- Sammon Mapping
- Multidimensional Scaling (MDS)
- Projection Pursuit
- Linear Discriminant Analysis (LDA)
- Mixture Discriminant Analysis (MDA)
- Quadratic Discriminant Analysis (QDA)
- Flexible Discriminant Analysis (FDA)
集成算法(Ensemble Algorithm)
集成方法是由多個(gè)獨(dú)立訓(xùn)練的弱學(xué)習(xí)器組成,通過(guò)某種方式(例如:多數(shù)投票法、平均法等)將各個(gè)弱學(xué)習(xí)器的預(yù)測(cè)結(jié)果結(jié)合成總體的預(yù)測(cè)。
e.g:
- Boosting
- Bootstrapped Aggregation (Bagging)
- AdaBoost
- Stacked Generalization (blending)
- Gradient Boosting Machines (GBM)
- Gradient Boosted Regression Trees (GBRT)
- Random Forest(適合用隨機(jī)調(diào)參)
其他算法
支持向量機(jī)(Support Vector Machine)(間隔最大化)
各個(gè)領(lǐng)域的機(jī)器學(xué)習(xí)算法
- Computational intelligence (evolutionary algorithms, etc.)
- Computer Vision (CV)
- Natural Language Processing (NLP)
- Recommender Systems
- Reinforcement Learning
- Graphical Models
引用:https://machinelearningmastery.com/a-tour-of-machine-learning-algorithms/