当前位置: 首页 > 科技观察

机器学习常见算法分类汇总大全

时间:2023-03-17 11:33:31 科技观察

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遗传算法(geneticalgorithm)2.10人工神经网络2.11深度学习2.12降维算法2.13综合算法声明:本博文根据http://www.ctocio.com/hotnews/15919.html整理,原作者张萌,尊重原创。机器学习无疑是当前数据分析领域的热门话题。很多人在日常工作中或多或少会用到机器学习算法。本文总结了常见的机器学习算法,供大家在工作和学习中参考。机器学习有很多算法。很多时候人们很困惑,很多算法是一种算法,有些算法是从其他算法扩展而来的。在这里,我们从两个方面向您介绍一下。第一个方面是学习的方式,第二个方面是算法的分类。博主在原有基础上增加了遗传算法(2.9)的介绍,使本博文包含的机器学习算法更加全面和丰富。这篇博文是一篇总结文章。要想了解每个算法的具体实现方法,就得对每个算法进行研究和推敲。1.学习方法根据数据的类型,对问题建模的方法也不同。在机器学习或人工智能领域,人们首先考虑算法是如何学习的。在机器学习领域,有几种主要的学习风格。按照学习方法对算法进行分类是个好主意,这样人们在建模和算法选择时就可以根据输入的数据选择最合适的算法来获得好的结果。1.1监督学习监督学习下,输入数据称为“训练数据”,每组训练数据都有明确的标识或结果,如反垃圾邮件系统中的“垃圾邮件”和“非垃圾邮件”,对于手写数字识别中的“1”、“2”、“3”、“4”等。在建立预测模型时,监督学习建立了一个学习过程,将预测结果与“训练数据”的实际结果进行比较,不断调整预测模型,直到模型的预测结果达到预期的准确率。监督学习常见的应用场景是分类问题和回归问题。常见的算法包括逻辑回归和反向传播神经网络。1.2无监督学习在无监督学习中,数据没有具体的标识,学习模型是推断数据的一些内部结构。常见的应用场景包括关联规则学习和聚类。常见的算法有Apriori算法和k-Means算法。1.3半监督学习在这种学习方法中,输入数据的一部分被标记,一部分没有。这种学习模型可以用于预测,但是模型首先需要学习数据的内部结构,才能合理组织数据进行预测。应用场景包括分类和回归,算法包括对常见监督学习算法的一些扩展,这些算法首先尝试对未标记数据建模,然后对标记数据进行预测。如理论推理算法(GraphInference)或拉普拉斯支持向量机(LaplacianSVM.)等。1.4强化学习在这种学习模式中,输入数据作为对模型的反馈。与监督模型不同,输入数据仅用作检查模型正确或错误的一种方式。在强化学习下,输入数据直接反馈给模型,模型必须立即进行调整。常见的应用场景包括动态系统和机器人控制。常见的算法包括Q-Learning和Temporaldifferencelearning。在企业数据应用场景中,最常用的模型是监督学习和非监督学习。在图像识别等领域,由于存在大量非标记数据和少量可识别数据,半监督学习是目前的热门话题。强化学习在机器人控制和其他需要系统控制的领域得到了更广泛的应用。2.算法分类根据算法功能和形式的相似性,我们可以对算法进行分类,如基于树的算法、基于神经网络的算法等。当然,机器学习的范围很广,有些算法很难明确地归为一类。对于某些类别,同一类别的算法可以解决不同类型的问题。在这里,我们尝试以最容易理解的方式对常用算法进行分类。2.1回归算法回归算法是一类试图使用误差度量来探索变量之间关系的算法。回归算法是统计机器学习中的强大工具。在机器学习领域,人们谈论回归,有时指的是一类问题,有时指的是一类算法,这常常让初学者感到困惑。常见的回归算法包括:普通最小二乘法、逻辑回归、逐步回归、多元自适应回归样条和局部散点平滑估计(LocallyEstimatedScatterplotSmoothing)。2.2基于实例的算法基于实例的算法通常用于模拟决策问题。此类模型通常先选择一批样本数据,然后根据一些近似值将新数据与样本数据进行比较。以这种方式找到匹配项。因此,基于实例的算法通常也被称为“赢家通吃”学习或“基于记忆的学习”。常见算法包括k最近邻(KNN)、学习向量量化(LVQ)和自组织映射(SOM)。2.3正则化方法正则化方法是其他算法(通常是回归算法)的扩展,根据算法的复杂程度调整算法。正则化方法通常奖励简单的模型并惩罚复杂的算法。常见算法包括:岭回归、最小绝对收缩和选择算子(LASSO)和弹性网络。2.4决策树学习决策树算法采用树结构,根据数据的属性建立决策模型,决策树模型常用于解决分类和回归问题。常用算法包括:分类回归树(CART)、ID3(IterativeDichotomiser3)、C4.5、卡方自动交互检测(CHAID)、DecisionStump、随机森林(RandomForest)、多元自适应回归样条(MARS)和梯度提升机(GradientBoostingMachine,GBM)2.5贝叶斯方法贝叶斯方法算法是一类基于贝叶斯定理的算法,主要用于解决分类和回归问题。常见的算法包括:朴素贝叶斯算法、平均单相关估计器(AODE)和贝叶斯信念网络(BBN)。2.6基于内核的算法最著名的基于内核的算法是支持向量机(SVM)。基于内核的算法将输入数据映射到高阶向量空间,在该空间中可以更轻松地解决一些分类或回归问题。常见的基于核的算法包括:支持向量机(SupportVectorMachine,SVM)、径向基函数(RadialBasisFunction,RBF)和线性判别分析(LinearDiscriminateAnalysis,LDA)等。2.7聚类算法聚类类似于回归.有时人们描述一类问题,有时他们描述一类算法。聚类算法通常以中心点或分层方式合并输入数据。所有的聚类算法都试图找到数据的内部结构,以便根据最大的共性对数据进行分类。常见的聚类算法包括k-Means算法和期望最大化算法(ExpectationMaximization,EM)。2.8关联规则学习关联规则学习通过寻找最能解释数据变量之间关系的规则,在大量多元数据集中寻找有用的关联规则。常见的算法有Apriori算法和Eclat算法。2.9遗传算法(geneticalgorithm)遗传算法模拟生物繁殖的变异、交换和达尔文的自然选择(在各个生态环境中适者生存)。它将问题的可能解编码成一个向量,称为个体,向量中的每个元素称为一个基因,用目标函数(对应自然选择标准)对群体中的每个个体(一个集合)进行评价个体),根据评价值(适应度)对个体进行选择、交换、变异等遗传操作,得到新的群体。遗传算法适用于非常复杂和困难的环境,例如,有很多噪声和无关数据,事物不断更新,问题目标无法清晰准确地定义,当前行为的价值只能通过一个漫长的执行过程。与神经网络一样,遗传算法的研究已经发展成为人工智能的一个独立分支,其代表人物是J.H.Holland。2.10人工神经网络人工神经网络算法模拟生物神经网络,是一种模式匹配算法。通常用于解决分类和回归问题。人工神经网络是机器学习的一个庞大分支,有数百种不同的算法。(深度学习是算法之一,我们将单独讨论),重要的人工神经网络算法包括:感知器神经网络、反向传播、霍普菲尔德网络、自组织映射(Self-OrganizingMap,SOM)。2.11深度学习深度学习算法是人工神经网络的发展。它在近期赢得了很多关注,尤其是在百度也开始关注深度学习之后,在国内引起了很多关注。如今,随着计算能力变得越来越便宜,深度学习试图构建更大、更复杂的神经网络。许多深度学习算法都是半监督学习算法,旨在处理具有少量未标记数据的大型数据集。常见的深度学习算法包括:RestrictedBoltzmannMachine(RBN)、DeepBeliefNetworks(DBN)、ConvolutionalNetwork、StackedAuto-encoders。2.12降维算法与聚类算法一样,降维算法试图分析数据的内部结构,但降维算法试图以无监督学习的方式使用较少的信息来概括或解释数据。此类算法可用于可视化高维数据或简化监督学习的数据。常用算法包括:主成分分析(PrincipleComponentAnalysis,PCA)、偏最小二乘回归(PartialLeastSquareRegression,PLS)、Sammon映射、多维缩放(Multi-DimensionalScaling,MDS)、投影追踪(ProjectionPursuit)等待。2.13集成算法集成算法利用一些相对较弱的学习模型在相同的样本上独立训练,然后综合结果进行整体预测。集成算法的主要难点在于集成哪些独立的、较弱的学习模型,以及如何集成学习结果。这是一类非常强大的算法,同时也非常流行。常见的算法包括:Boosting、BootstrappedAggregation(Bagging)、AdaBoost、StackedGeneralization(Blending)、GradientBoostingMachine(GBM)、RandomForest(随机森林)、GBDT(GradientBoostingDecisionTree)。