机器学习中的分类⽅法总结
1. 学习⽅式
1.1 监督学习
1.2 ⾮监督学习
1.3 半监督学习
1.4 强化学习
2. 算法分类
2.1 回归算法
2.2 基于实例的⽅法
2.3 正则化⽅法
2.4 决策树⽅法
2.5 贝叶斯⽅法
2.6 基于核的⽅法
2.7 聚类算法
2.8 关联规则算法
2.9 遗传算法
2.10 ⼈⼯神经⽹络
2.11 深度学习
2.12 降维算法
2.13 集成算法
1 学习⽅式
1.1 监督学习
在监督式学习下,输⼊数据被称为“训练数据”,每组训练数据有⼀个明确的标识或结果,如对防垃圾邮件系统中“垃圾邮件”“⾮垃圾邮件”,对⼿写数字识别中的“1“,”2“,”3“,”4“等。在建⽴预测模型的时候,监督式学习建⽴⼀个学习过程,将预测结果与“训练数据”的实际结果进⾏⽐较,不断的调整预测模型,直到模型的预测结果达到⼀个预期的准确率。监督式学习的常见应⽤场景如分类问题和回归问题。常见算法有逻辑回归(Logistic Regression)和反向传递神经⽹络(Back Propagation Neural Network)
1.2 ⾮监督学习
在⾮监督式学习中,数据并不被特别标识,学习模型是为了推断出数据的⼀些内在结构。常见的应⽤场景包括关联规则的学习以及聚类等。常见算法包括Apriori算法以及k-Means算法。
1.3 半监督学习
在此学习⽅式下,输⼊数据部分被标识,部分没有被标识,这种学习模型可以⽤来进⾏预测,但是模型⾸先需要学习数据的内在结构以便合理的组织数据来进⾏预测。应⽤场景包括分类和回归,算法包括⼀些对常⽤监督式学习算法的延伸,这些算法⾸先试图对未标识数据进⾏建模,在此基础上再对标识的数据进⾏预测。如图论推理算法(Graph Inference)或者拉普拉斯⽀持向量机(Laplacian SVM.)等
1.4 强化学习
在这种学习模式下,输⼊数据作为对模型的反馈,不像监督模型那样,输⼊数据仅仅是作为⼀个检查模型对错的⽅式,在强化学习下,输⼊数据直接反馈到模型,模型必须对此⽴刻作出调整。常见的应⽤场景包括动态系统以及机器⼈控制等。常见算法包括Q-Learning以及时间差学习(Temporal difference learning)。
在企业数据应⽤的场景下, ⼈们最常⽤的可能就是监督式学习和⾮监督式学习的模型。 在图像识别等领域,由于存在⼤量的⾮标识的数据和少量的可标识数据, ⽬前半监督式学习是⼀个很热的话题。 ⽽强化学习更多的应⽤在机器⼈控制及其他需要进⾏系统控制的领域。
2 算法
2.1 回归算法
回归算法是试图采⽤对误差的衡量来探索变量之间的关系的⼀类算法。回归算法是统计机器学习的利器。在机器学习领域,⼈们说起回归,有时候是指⼀类问题,有时候是指⼀类算法,这⼀点常常会使初学者有所困惑。常见的回归算法包括:最⼩⼆乘法(Ordinary Least Square),逻辑回归(Logistic Regression),逐步式回归(Stepwise Regression),多元⾃适应回归样条(Multivariate Adaptive Regression Splines)以及本地散点平滑估计(Locally Estimated Scatterplot Smoothing)。
2.2 基于实例的算法
基于实例的算法常常⽤来对决策问题建⽴模型,这样的模型常常先选取⼀批样本数据,然后根据某些近似性把新数据与样本数据进⾏⽐较。通过这种⽅式来寻最佳的匹配。因此,基于实例的算法常常也被称为“赢家通吃”学习或者“基于记忆的学习”。常见的算法包括 k-Nearest Neighbor(KNN), 学习⽮量量化(Learning Vector Quantization, LVQ),以及⾃组织映射算法(Self-Organizing Map ,SOM)。
2.3 正则化⽅法
正则化⽅法是其他算法(通常是回归算法)的延伸,根据算法的复杂度对算法进⾏调整。正则化⽅法通常对简单模型予以奖励⽽对复杂算法予以惩罚。常见的算法包括:Ridge Regression, Least Absolute Shrinkage and Selection Operator(LASSO),以及弹性⽹络(Elastic Net)。
2.4 决策树⽅法
决策树算法根据数据的属性采⽤树状结构建⽴决策模型, 决策树模型常常⽤来解决分类和回归问题。常见的算法包括:分类及回归树(Classification And Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic
Interaction Detection(CHAID), Decision Stump, 随机森林(Random Forest), 多元⾃适应回归样条(MARS)以及梯度推进机(Gradient Boosting Machine, GBM)
2.5 贝叶斯⽅法
贝叶斯⽅法算法是基于贝叶斯定理的⼀类算法,主要⽤来解决分类和回归问题。常见算法包括:朴素贝叶斯算法,平均单依赖估计(Averaged One-Dependence Estimators, AODE),以及Bayesian Belief Network(BBN)。
2.6 基于核的算法
基于核的算法中最著名的莫过于⽀持向量机(SVM)了。 基于核的算法把输⼊数据映射到⼀个⾼阶的向量空间, 在这些⾼阶向量空间⾥,有些分类或者回归问题能够更容易的解决。 常见的基于核的算法包括:⽀持向量机(Support Vector Machine, SVM), 径向基函数(Radial Basis Function ,RBF), 以及线性判别分析(Linear Discriminate Analysis ,LDA)等。
2.7 聚类算法
聚类,就像回归⼀样,有时候⼈们描述的是⼀类问题,有时候描述的是⼀类算法。聚类算法通常按照中⼼点或者分层的⽅式对输⼊数据进⾏归并。所以的聚类算法都试图到数据的内在结构,以便按照
最⼤的共同点将数据进⾏归类。常见的聚类算法包括 k-Means算法以及期望最⼤化算法(Expectation Maximization, EM)。
2.8 关联规则学习
关联规则学习通过寻最能够解释数据变量之间关系的规则,来出⼤量多元数据集中有⽤的关联规则。常见算法包括 Apriori算法和Eclat 算法等。
2.9 遗传算法
遗传算法模拟⽣物繁殖的突变、交换和达尔⽂的⾃然选择(在每⼀⽣态环境中适者⽣存)。它把问题可能的解编码为⼀个向量,称为个体,向量的每⼀个元素称为基因,并利⽤⽬标函数(相应于⾃然选择标准)对体(个体的集合)中的每⼀个个体进⾏评价,根据评价值(适应度)对个体进⾏选择、交换、变异等遗传操作,从⽽得到新的体。遗传算法适⽤于⾮常复杂和困难的环境,⽐如,带有⼤量噪声和⽆关数据、事物不断更新、问题⽬标不能明显和精确地定义,以及通过很长的执⾏过程才能确定当前⾏为的价值等。同神经⽹络⼀样,遗传算法的研究已经发展为⼈⼯智能的⼀个独⽴分⽀,其代表⼈物为霍勒德(J.H.Holland)。
2.10 2.11 神经⽹络算法
深度学习算法是对⼈⼯神经⽹络的发展, 在计算能⼒变得⽇益廉价的今天,深度学习试图建⽴⼤得多也复杂得多的神经⽹络。很多深度学习的算法是半监督式学习算法,⽤来处理存在少量未标识数据的⼤数据集。常见的深度学习算法包括:受限波尔兹曼机(Restricted Boltzmann Machine, RBN), Deep Belief Networks(DBN),卷积⽹络(Convolutional Network), 堆栈式⾃动编码器(Stacked Auto-encoders)
2.12 降低维度算法
bootstrapped像聚类算法⼀样,降低维度算法试图分析数据的内在结构,不过降低维度算法是以⾮监督学习的⽅式试图利⽤较少的信息来归纳或者解释数据。这类算法可以⽤于⾼维数据的可视化或者⽤来简化数据以便监督式学习使⽤。常见的算法包括:主成份分析(Principle Component Analysis, PCA),偏最⼩⼆乘回归(Partial Least Square Regression,PLS), Sammon映射,多维尺度(Multi-Dimensional Scaling, MDS), 投影追踪(Projection Pursuit)等。
2.13 集成算法
集成算法⽤⼀些相对较弱的学习模型独⽴地就同样的样本进⾏训练,然后把结果整合起来进⾏整体预测。集成算法的主要难点在于究竟集成哪些独⽴的较弱的学习模型以及如何把学习结果整合起来。这是⼀类⾮常强⼤的算法,同时也⾮常流⾏。常见的算法包括:Boosting,Bootstrapped Aggregation(
Bagging), AdaBoost,堆叠泛化(Stacked Generalization, Blending),梯度推进机(Gradient Boosting Machine, GBM),随机森林(Random Forest),GBDT(Gradient Boosting Decision Tree)。
参考⽂献:
1
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论