导读
最近在研究一些机器学习方面的论文,翻到了一篇较早的机器学习综述(2017年),虽然不是最新的研究现状,但考虑到经典机器学习算法其实发展并不像深度学习那么迅猛,所以其论述还是很有参考性。本文就其中关于机器学习算法分类的一段进行选摘翻译,以供参考。原文链接可通过阅读原文查阅。
以下译文选摘自2017年发表在IJIRCCE上的《A Survey on Machine Learning: Concept, Algorithms and Applications》这篇文章的第III部分的B小节,对算法进行分类介绍。主要包括12种机器学习算法。
本文为个人翻译分享,限于英语水平,定有翻译不当甚至的错误的地方还望谅解。另外,部分不为熟知的算法举例有所删减。
01 回归算法
回归分析是预测的一部分,其通过挖掘自变量和因变量(目标)之间的关系实现。知名的回归模型包括:线性回归(Linear Regression),逻辑回归(Logistic Regression),逐步回归(Stepwise Regression),最小二乘法(Ordinary Least Squares Regression (OLSR)),多元自适应回归(Multivariate Adaptive Regression Splines (MARS) ),本地散点平滑估计(Locally Estimated Scatterplot Smoothing (LOESS))等等。
译者注:虽然称之为回归算法,但众所周知逻辑回归是用于分类的。另外,除了线性回归和逻辑回归之外,其他几种算法貌似并不常用。
02 基于实例的算法
基于实例或基于内存的算法,会直接存储所有训练数据样本,而不对其开发一个具体的模型函数。当有新的任务时(即用于测试集),其会用所有训练集数据进行检验以得到预测结果。如果遇到更好的训练数据,它可以简单的对其予以替换和更新。因此,这类算法也被称为"胜者为王"算法。例如:K近邻(KNN),学习向量量化(LVQ),自组织映射网络(SOM),局部加权学习(LWL)等等。
译者注:这类算法其实就是所谓的惰性算法,即不训练任何模型,只存储训练数据,直至有预测任务时采取与训练集比较的方式进行预测。KNN就是最典型的代表。
03 正则化算法
正则化是用于解决过拟合和离群点的过程,是一种对已有机器学习模型进行简单而有效的增加调整参数的方法,典型的就是对回归模型。通过对拟合函数增加惩罚项的方式来实现拟合曲线的平滑,从而更好的处理离群点。例如:岭回归(Ridge),LASSO回归,弹性网(Elastic Net),最小角回归(LARS)等。
译者注:此处的正则化算法其实也属于广义上的线性回归模型,在sklearn中都从linear_model中引入。
04 决策树算法
决策树算法将可能的解决方案构建成类似于一棵树的结构,同时满足一定的约束条件。如此命名,是因为它总是从一个根节点开始,然后引出多个分支,直至可以得出确切的结论或预测结果为止,从而将这一过程构建成一棵树。它因具有以类似于人的处理方式来解决问题的能力而备受青睐,同时又具有较快的速度和较高的准确率。例如:CART树、ID3、C4.5、C5.0等等。
译者注:决策树的确是一种很好的机器学习算法,非常符合if-else或者swich-case的编程思想,它训练速度快、精度高,更重要的是支撑起了众多集成学习算法。
05 贝叶斯算法
这是一组基于贝叶斯理论的机器学习算法,可用于解决分类和回归问题。例如:朴素贝叶斯(NB),高斯朴素贝叶斯(Gaussian NB),多项式朴素贝叶斯(Multinomial NB),贝叶斯网络(BN)等。
译者注:贝叶斯理论是机器学习中的常青树,不仅衍生了朴素贝叶斯算法,更是支撑起了HPO(超参)方向的一片天!
06 支持向量机
SVM是一种如此流行的机器学习算法,以至于可将其独立分为一类。它采用一组超平面或带有决策边界的决策平面来区分不同标签的数据。它是一种严格的有监督分类算法。换言之,该算法根据输入数据或训练集来得到最优超平面或决策边界,而后以此对新的数据进行分类。当采用核函数时,SVM可兼顾线性和非线性分类问题。
译者注:SVM是曾经红极一时的机器学习算法,尤其是有了核函数的加持!俗话说,SVM有三宝,间隔对偶核函数。但其理解或者公式推导其实都是不甚友好的。另外,SVM不仅可用于分类问题,当然也可以用于回归问题。
07 聚类算法
聚类是对数据集中潜在的模式进行利用和区分,从而对数据进行打标签的过程。例如:K-Means、K-Medians、谱聚类、DBSCAN、EM等。
译者注:聚类算法是最为常见的无监督机器学习场景,其与分类算法的区别在于:聚类是在数据无标签的情况下尝试对其打标签,而分类则是在实际有标签的情况下对其进行预测!
08 关联规则算法
关联规则用于发现表面不相关数据之间的相关性。它们被广泛应用于电商网站来预测客户行为和需求,以及向顾客推荐其可能感兴趣的产品。例如:Apriori 算法、Eclat 算法等。
译者注:关联规则的经典案例是啤酒和尿布,这也是某种意义上数据挖掘的起源!
09 人工神经网络算法
这是一种基于人或动物真实神经网络而构建的模型。由于其试图发现输入和输出数据间的复杂关联,ANN因此被视为非线性模型。其对数据进行采样应用而非整个数据集,从而可控制成本和时间。例如:感知机、反向传播、径向基网络等。
译者注:人工神经网络是一种拟生算法,理念源于自然,又有着较为严格的数学理论基础,诞生时间也较早。比较经典的算法当属多层感知机模型,但其更大的价值在于奠定了深度学习的理论基础。或许,深度学习这种星火燎原的态势,是作者在2017年初所不曾预想的场面。
10 深度学习算法
在数据体量足够大的今天,人工神经网络模型也有了更多的现代化版本。其利用更大的神经网络来解决半监督问题,其中的数据往往是无标签或者未分类的。例如,深度玻尔兹曼机,深度置信网络(DBN),卷积神经网络(CNN)等等。
译者注:近几年深度学习算法太火了,每年都有大量新的论文提出创新思想,俨然成为机器学习领域最为璀璨的明珠!
11 降维算法
降维算法通常用于将较大的数据集降低体量,采用最有用的成份或少数特征来表达相关信息。这可有助于数据更好的提供可视化或者更高效的开展有监督学习中的分类。例如:主成分分析 (PCA)、主成分回归 (PCR)、线性判别分析 (LDA)等。
译者注:降维算法与聚类算法同属于无监督学习,仅在某些特定场景下有所应用,例如PCA算法有着严格的矩阵论基础。但由于降维后的数据变得不具有可解释性,所以它是天使还是魔鬼,全看如何应用!
12 集成算法
集成算法的主要出发点是综合多个独立训练的弱学习器预测结果,确保最终结果相较于单个学习器而言更为精准和鲁棒。为了最大化集成学习效果,需谨慎考虑基学习器类型和集成方法。例如:Boosting,Bagging,AdaBoost,GBM,GBRT,随机森林,极限随机森林等。
译者注:单就经典机器学习而言(即不考虑深度学习和强化学习等),集成学习才是当前的主流和热点!主流集成学习思想可参考历史推文:一张图介绍机器学习中的集成学习算法。