请选择 进入手机版 | 继续访问电脑版

设为首页 收藏本站
思科社区 关注
思科社区

搜索
热搜: 邮件服务器
查看: 159|回复: 0

【原创翻译】那些数据科学家所需知的顶级机器学习算法

[复制链接]
发表于 7 天前 | 显示全部楼层 |阅读模式

引言:让我们来通过本文,一起领教那些数据科学家所需知的顶级机器学习算法。

机器学习算法介绍
在机器学习算法的领域,我们一般采用两种方法来进行分类,它们是:
l  第一种是根据学习的方式,进行算法分类。
l  第二种是根据形式或功能的相似性,进行算法分类。
一般情况下,这两大类不分伯仲。此次,我们主要探究的是根据相似度分类的算法、及其各种不同的类型。
按学习方式进行分类的机器学习算法

一般而言,同一种算法会根据不同的互动体验,对一个问题采取不同的建模方式。而这并不会影响到我们对于输入数据的调用。同时,一些算法会经常出现在时下流行的机器学习、和人工智能领域的教科书中。因此,面对不同的应用场景,人们首先需要考虑的是一个算法所适用的学习方式。在下文中,我们将探讨机器学习算法的几个主要学习方式,以及不同算法所适用的问题场景与用例。通过综合考虑各种输入数据所扮演的“角色”、和模型准备的不同流程,您将会根据自己的问题选择出最适合的一种算法,并最终得到最佳结果。
下面先让我们来看看三种不同的学习方式:
监督学习

在监督式学习下,输入数据被称为“训练数据”,它们都具有已知的标签或结果,例如“垃圾邮件”、“非垃圾邮件”、或某个时刻的股票价格等。监督式学习通过一个训练的过程,来建立一种预测模型。它们通过将预测结果与“训练数据”的实际结果相比较,来不断的修正预测结果。因此,该训练过程会持续下去,直至模型达到了预期的水平。
l  常见应用场景包括:分类问题和回归问题。
l  常见算法包括:逻辑回归(Logistic Regression)和反向传递神经网络(Back Propagation Neural Network)
无监督学习

在非监督式学习中,输入数据并不被标记,也没有某个已知的结果。我们必须通过推导输入数据的内在结构,来准备相应的模型。我们可以提取出一些通用的规则,同时也可以通过某个数学过程,来减少冗余。
l  常见的应用场景包括:聚类、降维、和关联规则学习。
l  常见算法包括:先验(Apriori)算法和K-均值(k-Means)算法。
半监督学习

在半监督式学习中,输入数据是被标记和未标记样本的混合物。它同样具有期望的预测目标。该模式必须通过学习不同的结构,来组织各种数据,从而做出预测。
l  常见应用场景包括:分类问题和回归问题。
l  常见算法包括:一些针对其他灵活的监督式学习算法的延伸,这些算法试图对未标识数据进行建模。
按相似性进行分类的算法
机器学习算法通常会按照功能的相似性进行分类,其中包括:基于(决策)树的方法、和神经网络的启发方法。我个人认为这是对机器学习算法最有效、最实用的分类方法。当然,也有些算法会横跨多个类别,例如:学习矢量量化(Learning Vector Quantization)。该算法是神经网络方法和基于实例方法的结合,常被用来描述回归与聚类的问题、以及算法的类型。此类算法的特点是不会重复地去调用相同的算法
回归算法

回归算法关注的是对变量之间的关系进行建模。我们可以使用该模型,来对各种预测中产生的误差指标予以改善。
这些方法都是统计学方面的“主力军”,同时也是统计机器学习方面的“利器”。由于“回归”既可以指问题的类型、也可以指算法的问题,因此在指代上比较容易混淆。最流行的回归算法包括:
l  普通最小二乘回归(Ordinary Least Square Regression,OLSR)
l  线性回归(Linear Regression)
l  逻辑回归(Logistic Regression)
l  逐步式回归(Stepwise Regression)
l  多元自适应回归样条(Multivariate AdaptiveRegression Splines,MARS)
l  本地散点平滑估计(Locally EstimatedScatterplot Smoothing,LOESS)
基于实例的算法

该模型使用各种实例的训练数据,来处理决策问题。其方法是构建出一个样本数据的数据库。它通过将新数据与样本数据进行比较,采用相似性的方法找到最佳的匹配、并进行预测。我们会存储不同实例的表现状态,并在实例之间使用相似性来进行衡量。因此,基于实例的算法也被称为“赢家通吃的学习”或“基于记忆的学习”。最流行的基于实例的算法包括:
l  k-近邻(k-Nearest Neighbor,kNN)
l  学习矢量量化(Learning VectorQuantization,LVQ)
l  自组织映射(Self-Organizing Map,SOM)
l  局部加权学习(Locally Weighted Learning,LWL)
正则化算法

该方法是其他算法(通常指回归算法)的延伸,它采用的“惩罚”模型与其复杂度有关,即:模型越是简单、就越容易泛化(generalizing)。我将它在此单独列举出来的原因是:它不但广受欢迎、功能强大,而且只是对其他方法进行了简单修改。最流行的正则化算法包括:
l  岭回归(Ridge Regression)
l  Least Absolute Shrinkage andSelection Operator,LASSO
l  弹性网络(Elastic Net)
l  最小角度回归(Least-Angle Regression,LARS)
决策树算法

决策树方法是基于数据属性的实际值,来构建的决策模型。树状的结构会不断分叉,直到根据给定的记录作出了预测抉择。决策树会对分类和回归问题的数据进行训练。由于决策树具有速度快、结果准的特性,因此它成为最受欢迎的机器学习算法之一。最流行的决策树算法包括:
l  分类与回归树(Classification andRegression Tree,CART)
l  Iterative Dichotomiser 3,ID3
l  C4.5和C5.0
l  卡方自动交互检测(Chi-squared AutomaticInteraction Detection,CHAID)
l  决策树桩(单层决策树,Decision Stump)
l  M5
l  条件决策树(Conditional Decision Trees)
贝叶斯算法

此类算法适用于那些贝叶斯定理的问题,例如分类与回归。最流行的贝叶斯算法包括:
l  朴素贝叶斯(Naive Bayes)
l  高斯朴素贝叶斯(Gaussian Naive Bayes)
l  多项式朴素贝叶斯(Multinomial Naive Bayes)
l  Averaged One-Dependence Estimators,AODE
l  贝叶斯信念网络(Bayesian Belief Network,BBN)
l  贝叶斯网络(Bayesian Network,BN)
聚类算法

聚类跟回归一样,既可以用来描述问题的类型,有可以指代方法的类型。此方法采用基于中心点(centroid-based)或分层级(hierarchal)等建模方法,而所有的方法都与数据固有的结构的使用有关。其目标是将数据按照它们之间的最大共性进行分组。最流行的聚类算法包括:
l  K-均值(k-Means)
l  K-中位数(k-Medians)
l  期望最大化(Expectation Maximisation,EM)
l  分层聚类(Hierarchical Clustering)
关联规则学习算法

关联规则的学习方法旨在提取各种规则,即:通过观察,最好地描述出数据变量之间的关系。这些规则能够从大型多维数据集里,发现可以被组织所利用到的重要的、且实用的各种关联。最流行的关联规则学习算法包括:
l  先验算法(Apriori algorithm)
l  Eclat算法
人工神经网络算法

该算法是由生物神经网络结构所启发的模型。它们是一类用于解决回归和分类等问题的模式匹配。由于它结合了数以百计的算法和变量,因此它会包含一个极其庞大的子集。最流行的人工神经网络算法包括:
l  感知(Perceptron)
l  反向传播(Back-Propagation)
l  Hopfield网络
l  径向基函数网络(Radial Basis FunctionNetwork,RBFN)
深度学习算法

深度学习算法是人工神经网络的升级版,它充分利用了廉价的计算力。它们涉及到搭建规模更为庞大、结构更为复杂的神经网络。最流行的深度学习算法包括:
l  深度玻尔兹曼机(Deep Boltzmann Machine,DBM)
l  深度信念网络(Deep Belief Networks,DBN)
l  卷积神经网络(Convolutional NeuralNetwork,CNN)
l  栈式自动编码器(Stacked Auto-Encoder)
降维算法

与聚类方法类似,降维算法寻找数据中的固有结构。一般情况下,它对于可视化的三维数据比较实用。我们可以在监督学习方法中使用它,以实现分类和回归。最流行的降维算法包括:
l  主成分分析(Principal Component Analysis,PCA)
l  主成分回归(Principal ComponentRegression,PCR)
l  偏最小二乘回归(Partial Least SquaresRegression,PLSR)
l  Sammon Mapping
l  多维尺度(Multidimensional Scaling,MDS)
l  投影寻踪(Projection Pursuit)
l  线性判别分析(Linear DiscriminantAnalysis,LDA)
l  混合判别分析(Mixture DiscriminantAnalysis,MDA)
l  二次判别分析(Quadratic DiscriminantAnalysis,QDA)
l  灵活判别分析(Flexible DiscriminantAnalysis,FDA)
模型融合算法

该算法是由多个经过训练的弱模型所组成。它将单独的预测以某种方式整合成为一个更好的。可见,模型融合算法是一类非常强大、且备受欢迎的技术。最流行的模型融合算法包括:
l  Boosting
l  Bootstrapped Aggregation (Bagging)
l  AdaBoost
l  堆叠泛化(混合)Stacked Generalization(blending)
l  Gradient Boosting Machines (GBM)
l  Gradient Boosted Regression Trees(GBRT)
l  随机森林(Random Forest)
常见的机器学习算法一览

朴素贝叶斯分类器算法
一般情况下,我们很难对某个网页、文档、或电子邮件进行准确的分类,特别是那些含有冗长的文字信息、且需要手动分拣的内容。而这恰好是朴素贝叶斯分类器算法的用武之地。而且,其分类器具有为某个元素分配相似度值的功能。例如,垃圾邮件过滤就是朴素贝叶斯算法的一个普遍的应用。此处的垃圾邮件过滤器就充当了分类器的作用,给所有的邮件分配“垃圾邮件”或“非垃圾邮件”的标签。大体说来,它是相似度类型机器学习算法中最为流行的一种。其工作基本原理就是基于贝叶斯定理,对各种单词予以简单分类,实现对内容的主观分析。
K-均值聚类算法
K-均值是一种使用无监督机器学习的聚类分析算法。同时,它属于一种非确定性的迭代方法。该算法对于给定数据集里的预设数量类别(如k)进行操作。因此,K-均值算法的输出是在聚类中,从输入数据分离出的k个划分簇。
支持向量机算法
该算法是一种使用监督机器学习的算法,可用于分类和回归分析。SVM(支持向量机,https://data-flair.training/blog ... r-machine-tutorial/)能够对任何新的数据集进行分类。其工作原理是:通过将训练数据集分成不同的类别,以发现某个线性特征,并由多个线性构造出一些超平面。因此,SVM需要试图最大化各种类别之间的距离,即:标识出边缘的最大化,以增加看不见数据的概率。SVM一般分为两类:
l  线性SVM – 通过某个超平面,将训练数据线性分隔出类别。
l  非线性SVM – 无法通过某个超平面,对训练数据进行分隔。
先验算法
该算法是一种无监督式的机器学习算法。我们使用它从给定的数据集中产生关联规则。这里的关联规则是指:“如果A项发生,则B项也会发生”的一定概率,通常以IF_THEN的形式产生。例如:如果某人买了一个iPad,那么他也会去够买一个iPad外壳来保护它。因此,该算法的基本工作原理是:如果某项经常发生,那么该项的所有子集也会频繁发生。反之,如果某项只是偶尔发生,那么其所有超集也极少会发生。
线性回归算法
该算法能够通过两个变量之间的关系,展示一个变量(自变量)是如何影响另一个变量(因变量)的,即它们之间的依赖关系。纵然自变量不断变化,因变量却时常有相似的预测因子。
决策树算法
我们通常用一个图形来表示决策树,即:通过使用分支的方法,来说明某个决策的所有可能结果。在决策树中,每一个分支节点都代表对于某个属性的测试性结果。同时,叶子节点则代表特定类别的标签,即:计算了所有属性之后,所作出的决策。此外,我们可通过从根到叶子节点的路径来表示某一种分类。
随机森林算法
这是转向(go-to)类型的机器学习算法。我们使用一种bagging的方法,来创建一组带有数据的随机子集的决策树。我们需要通过随机森林算法,针对某个模型数据集上的随机样本进行多次训练,综合所有决策树的输出结果,并对每一个决策树的结果进行轮询投票(polling),以实现良好的最终预测效果。
逻辑回归算法
此类算法属于一种广义的线性回归,它将逻辑函数应用到了某些特征的线性组合之中,通过各种预测变量,来预测出已分类的因变量结果,同时也描述出自变量的权重概率。
结论
综上所述,我们讨论了机器学习算法、及其不同的分类,其中包括:回归算法、基于实例的算法、正则化算法、决策树算法、贝叶斯算法、聚类算法、关联规则学习算法、人工神经网络算法、深度学习算法、降维算法、模型融合算法、监督学习、无监督学习、半监督学习、朴素贝叶斯分类器算法、K-均值聚类算法、支持向量机算法、先验算法、线性回归和逻辑回归。相信我们上述图文并茂的讲解方式一定能让您有所收获。
【原标题】Top Machine LearningAlgorithms You Should Know to Become a Data Scientist   (作者: Rinu Gour )
原文链接:https://dzone.com/articles/top-machine-learning-algorithm-you-should-know-to

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
您需要登录后才可以回帖 思科 CCO 登录 | 思科 CCO 注册   

本版积分规则

Archiver | 思科社区  

GMT+8, 2020-1-21 11:03 , Processed in 0.102773 second(s), 28 queries .

京ICP备09041801号-187

版权所有 :copyright:1992-2019 思科系统  重要声明 | 保密声明 | 隐私权政策 | 商标 |

快速回复 返回顶部 返回列表