近日,Coggle对各种机器学习算法进行了梳理,构建了一个相对全面的算法分类图谱,并对每类算法的优缺点进行了分析。以下是主要分类及其特点:
正则化算法(Regularization Algorithms)
正则化算法是对传统回归方法的一种扩展,旨在通过增加模型复杂性的惩罚来实现更好的泛化性能。这类算法通常倾向于选择相对简单的模型。
示例:
- 岭回归(Ridge Regression)
- LASSO
- GLASSO
- 弹性网络(Elastic Net)
- 最小角回归(Least-Angle Regression)
优点:
缺点:
集成算法(Ensemble Algorithms)
集成算法是通过组合多个较弱的模型来提高整体预测性能的一种方法。这种方法通过不同的方式将多个模型的预测结果融合在一起,从而得出最终的预测结果。
示例:
- Boosting
- Bootstrapped Aggregation(Bagging)
- AdaBoost
- 层叠泛化(Stacked Generalization)
- 梯度提升机(Gradient Boosting Machines,GBM)
- 随机森林(Random Forest)
优点:
缺点:
决策树算法(Decision Tree Algorithm)
决策树算法通过构建一棵树形结构来进行预测。树中的节点代表特征,分支代表特征的不同取值,叶子节点代表预测的结果。这种算法可以用于分类和回归任务。
示例:
- 分类与回归树(Classification and Regression Tree,CART)
- Iterative Dichotomiser 3(ID3)
- C4.5和C5.0
优点:
缺点:
- 容易过拟合,且可能陷入局部最优解,缺乏在线学习能力。
回归(Regression)算法
回归算法主要用于估计两个变量之间的关系。它可以用来建立和分析多个变量之间的关系,常见的回归算法包括线性回归、逻辑回归等。
示例:
- 普通最小二乘回归(Ordinary Least Squares Regression,OLSR)
- 线性回归(Linear Regression)
- 逻辑回归(Logistic Regression)
- 逐步回归(Stepwise Regression)
- 多变量自适应回归样条(Multivariate Adaptive Regression Splines,MARS)
- 局部估计散点平滑(Locally Estimated Scatterplot Smoothing,LOESS)
优点:
缺点:
人工神经网络(Artificial Neural Network)
人工神经网络受到生物神经系统的启发,是一种广泛应用于分类和回归任务的算法。它具有复杂的子领域,包括多种算法和应用场景。
示例:
- 感知器(Perceptron)
- 反向传播(Backpropagation)
- Hopfield网络
- 径向基函数网络(Radial Basis Function Network,RBFN)
优点:
- 在语音识别、自然语言处理、图像识别等多种任务中表现出色,适应能力强。
缺点:
深度学习(Deep Learning)
深度学习是人工神经网络的一个分支,它利用现代硬件的发展来构建更大、更复杂的神经网络。目前,许多研究集中在半监督学习上,即使用少量标注数据进行训练。
示例:
- 深度玻尔兹曼机(Deep Boltzmann Machine,DBM)
- 深度信念网络(Deep Belief Network,DBN)
- 卷积神经网络(Convolutional Neural Network,CNN)
- 堆栈自动编码器(Stacked Auto-Encoder)
优点/缺点:
支持向量机(Support Vector Machines)
支持向量机是一种训练算法,用于在给定一组训练样本后,将其分类到两个类别中的一个。它通过最大化两个类别的间隔来实现分类。
优点:
缺点:
降维算法(Dimensionality Reduction Algorithms)
降维算法通过寻找数据的内在结构来减少特征的数量,从而简化数据或提高后续监督学习的效果。
示例:
- 主成分分析(Principal Component Analysis,PCA)
- 主成分回归(Principal Component Regression,PCR)
- 偏最小二乘回归(Partial Least Squares Regression,PLSR)
- Sammon映射(Sammon Mapping)
- 多维尺度变换(Multidimensional Scaling,MDS)
- 投影寻踪(Projection Pursuit)
- 线性判别分析(Linear Discriminant Analysis,LDA)
- 混合判别分析(Mixture Discriminant Analysis,MDA)
- 二次判别分析(Quadratic Discriminant Analysis,QDA)
- 灵活判别分析(Flexible Discriminant Analysis,FDA)
优点:
缺点:
聚类算法(Clustering Algorithms)
聚类算法是一种无监督学习方法,通过将数据分为若干组,使得同一组内的数据点彼此更为相似。
示例:
- K-均值(K-means)
- K-中心点(K-medians)
- 期望最大化算法(Expectation Maximization,EM)
- 层次聚类(Hierarchical Clustering)
优点:
缺点:
基于实例的算法(Instance-based Algorithms)
基于实例的算法(又称基于记忆的学习)通过比较新数据与已知数据来做出预测,而不是通过明确的归纳。这种方法直接从训练实例中构建假设,假设的复杂度随着数据的增加而变化。
示例:
- K-最近邻(K-Nearest Neighbor,KNN)
- 学习向量量化(Learning Vector Quantization,LVQ)
- 自组织映射(Self-Organizing Map,SOM)
- 局部加权学习(Locally Weighted Learning,LWL)
优点:
缺点:
贝叶斯算法(Bayesian Algorithms)
贝叶斯算法利用贝叶斯定理来处理分类和回归等任务,是一种概率模型。
示例:
- 朴素贝叶斯(Naive Bayes)
- 高斯朴素贝叶斯(Gaussian Naive Bayes)
- 多项式朴素贝叶斯(Multinomial Naive Bayes)
- 平均一依赖估计器(Averaged One-Dependence Estimators,AODE)
- 贝叶斯信念网络(Bayesian Belief Network,BBN)
- 贝叶斯网络(Bayesian Network,BN)
优点:
缺点:
关联规则学习算法(Association Rule Learning Algorithms)
关联规则学习算法用于挖掘数据中变量之间的关系。例如,超市销售数据中的关联规则可以揭示顾客购买行为的模式。
示例:
- Apriori算法
- Eclat算法
- FP-growth
图模型(Graphical Models)
图模型是一种概率模型,通过图来表示随机变量之间的条件依赖关系。
示例:
- 贝叶斯网络(Bayesian Network)
- 马尔可夫随机场(Markov Random Field)
- 链图(Chain Graph)
- 祖先图(Ancestral Graph)
优点:
缺点:
来源:必达智库
(注:部分图文来源于网络,留言侵删)