解决方案:【综述】机器学习中的12类算法
优采云 发布时间: 2022-11-11 17:53解决方案:【综述】机器学习中的12类算法
导读
最近,我正在研究一些机器学习论文,并转向了更早的机器学习评论(2017)。虽然不是最新的研究状态,但考虑到经典机器学习算法的发展不如深度学习快,所以讨论还是很有参考性的。本文选择并翻译了一段关于机器学习算法分类的文章,以供参考。阅读原文即可查看原文链接。
以下译文选自2017年IJIRCCE发表的《A Survey on Machine Learning: Concept, Algorithms and Applications》第三部分B小节,对算法进行分类介绍。主要包括12种机器学习算法。
本文为个人翻译和分享。它仅限于英语水平。一定有不恰当的翻译甚至错误。请原谅我。此外,省略了一些鲜为人知的算法示例。
01 回归算法
回归分析是通过挖掘自变量和因变量(目标)之间的关系进行预测的一部分。著名的回归模型包括:线性回归、逻辑回归、逐步回归、普通最小二乘回归(OLSR)、多元自适应回归样条(MARS)、局部估计散点图平滑(LOESS)等。
译者注:虽然叫回归算法,但众所周知逻辑回归是用于分类的。此外,除了线性回归和逻辑回归之外,其他几种算法似乎并不常用。
02 基于实例的算法
基于实例或基于内存的算法直接存储所有训练数据样本,而无需为它们开发特定的模型函数。当有新任务(即测试集)时,用所有的训练集数据进行测试,得到预测结果。如果它遇到更好的训练数据,它可以简单地替换和更新它。因此,此类算法也被称为“胜者为王”的算法。例如:K 近邻 (KNN)、学习向量量化 (LVQ)、自组织地图网络 (SOM)、局部加权学习 (LWL) 等等。
译者注:这种算法其实就是所谓的惰性算法,即不训练任何模型,只存储训练数据,直到有预测任务,通过与训练集比较来预测. KNN是最典型的代表。
03 正则化算法
正则化是用于解决过拟合和异常值的过程。它是一种简单而有效的方法,用于向现有机器学习模型(通常是回归模型)添加和调整参数。通过在拟合函数中加入惩罚项来平滑拟合曲线,从而更好地处理异常值。例如:岭回归、LASSO回归、弹性网、最小角回归(LARS)等。
译者注:这里的正则化算法其实是广义的线性回归模型,是从sklearn中的linear_model引入的。
04 决策树算法
决策树算法将可能的解决方案构建成树状结构,同时满足某些约束。之所以如此命名,是因为它总是从一个根节点开始,然后分支出来,直到可以得出一个确定的结论或预测,从而将过程构建成一棵树。它因其以类似人类的方式解决问题的能力而备受推崇,同时又快速又准确。例如:CART 树、ID3、C4.5、C5.0 等。
译者注:决策树确实是一个很好的机器学习算法,非常符合if-else或者switch-case的编程思想。它具有训练速度快、精度高,更重要的是支持多种集成学习算法。
05 贝叶斯算法
这是一套基于贝叶斯理论的机器学习算法,可用于解决分类和回归问题。例如:朴素贝叶斯(NB)、高斯朴素贝叶斯(Gaussian NB)、多项朴素贝叶斯(Multinomial NB)、贝叶斯网络(BN)等。
译者注:贝叶斯理论是机器学习中的常青树。它不仅派生了朴素贝叶斯算法,还支持HPO(超参数)的方向!
06 支持向量机
SVM 是一种非常流行的机器学习算法,它可以单独归为一类。它采用一组具有决策边界的超平面或决策平面来区分不同标签的数据。它是一种严格监督的分类算法。换句话说,该算法根据输入数据或训练集找到最优的超平面或决策边界,然后根据它对新数据进行分类。当使用核函数时,SVM 可以同时考虑线性和非线性分类问题。
译者注:SVM是曾经红极一时的机器学习算法,尤其是在核函数的加持下!俗话说,SVM三宝,区间双核函数。但是它的理解或者公式推导其实并不是很友好。此外,SVM 不仅可以用于分类问题,当然也可以用于回归问题。
07 聚类算法
聚类是通过利用和区分数据集中的潜在模式来标记数据的过程。例如:K-Means、K-Medians、Spectral Clustering、DBSCAN、EM等。
译者注:聚类算法是最常见的无监督机器学习场景。它与分类算法的区别在于,聚类在数据未标记时尝试标记数据,而分类实际上是标记的。预测吧!
08关联规则算法
关联规则用于发现明显不相关的数据之间的相关性。广泛应用于电子商务网站预测客户行为和需求,以及推荐客户可能感兴趣的产品。例如:Apriori算法、Eclat算法等。
译者注:关联规则的经典案例是啤酒和纸尿裤,这在某种意义上也是数据挖掘的起源!
09 人工神经网络算法
这是一个基于人类或动物真实神经网络的模型。ANN 被认为是非线性模型,因为它们试图发现输入和输出数据之间的复杂关系。它对数据而不是整个数据集进行采样,以控制成本和时间。例如:感知器、反向传播、径向基网络等。
译者注:人工神经网络是一种仿生算法。其思想源于自然,具有较为严格的数学理论基础。它诞生得更早。比较经典的算法是多层感知器模型,但其更大的价值在于奠定深度学习的理论基础。或许,深度学习燎原之势,是笔者在2017年初没想到的一幕。
10 种深度学习算法
今天,当数据量足够大时,就会出现更多现代版本的人工神经网络模型。它使用更大的神经网络来解决半监督问题,其中数据通常未标记或未分类。例如,深度玻尔兹曼机、深度信念网络 (DBN)、卷积神经网络 (CNN) 等等。
译者注:近年来,深度学习算法变得太流行了。每年都有大量新论文提出创新思路,成为机器学习领域最璀璨的明珠!
11 降维算法
降维算法通常用于减少较大数据集的大小,并使用最有用的组件或少数特征来表达相关信息。这可以帮助提供更好的数据可视化或更有效地在监督学习中执行分类。例如:主成分分析(PCA)、主成分回归(PCR)、线性判别分析(LDA)等。
译者注:降维算法和聚类算法都属于无监督学习,只在一些特定场景下使用。例如,PCA 算法具有严格的矩阵理论基础。但既然降维后的数据变得无法解释,那到底是天使还是魔鬼,就看怎么应用了!
12 积分算法
集成算法的主要出发点是综合多个独立训练的弱学习器的预测结果,以确保最终结果比单个学习器更准确和鲁棒。为了最大化集成学习效果,需要仔细考虑基础学习器类型和集成方法。例如:Boosting、Bagging、AdaBoost、GBM、GBRT、随机森林、极限随机森林等。
译者注:就经典机器学习(即不考虑深度学习和强化学习等)而言,集成学习是当前的主流和热点!主流综合学习思路可以参考历史推文:.
<p data-tool="mdnice编辑器" style="margin-bottom: 20px;letter-spacing: 0.544px;white-space: normal;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;line-height: 1.8em;color: rgb(58, 58, 58);">◆ ◆ ◆ ◆ ◆
麟哥新书已经在当当上架了,我写了本书:《拿下Offer-数据分析师求职面试指南》,目前当当正在举行活动,大家可以用相当于<strong style="font-size: 16px;letter-spacing: 0.544px;">原价5折的预购价格购买,还是非常划算的:</strong></p>
<p>
</p>
<p style="margin-right: 0em;margin-left: 0em;letter-spacing: 0.544px;font-size: 15px;white-space: pre-wrap;word-spacing: 2px;font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(89, 89, 89);text-align: left;">数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里<strong><strong>交流关于数据分析&数据挖掘的相关内容,</strong></strong>还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。
管理员二维码:
猜你喜欢
● 你相信逛B站也能学编程吗</p>
解决方案:PHP使用三种方法实现数据采集
这里有两个PHP采集可以使用的好工具。一个是史努比,一个是simple_html_dom.采集有很多种方法(其实本质有2-3种,其余都是派生的),PHP自带了几种方法,也可以直接采集。然而,出于把懒惰进行到底的精神。我们仍然可以使用这两个工具来简化采集。网上对史努比的介绍很多,以下是别人翻译的史努比SDK/// 史努比的一些功能: 1.抓取网页内容获取 2.抓取网页