机器学习算法集锦:从贝叶斯到深度学习及各自优缺点

选自static.coggle.it

机器之心编译 

在我们日常生活中所用到的推荐系统、智能图片美化应用和聊天机器人等应用中,各种各样的机器学习和数据处理算法正尽职尽责地发挥着自己的功效。本文筛选并简单介绍了一些最常见算法类别,还为每一个类别列出了一些实际的算法并简单介绍了它们的优缺点。

https://static.coggle.it/diagram/WHeBqDIrJRk-kDDY

目录

  • 正则化算法(Regularization Algorithms)
  • 集成算法(Ensemble Algorithms)
  • 决策树算法(Decision Tree Algorithm)
  • 回归(Regression)
  • 人工神经网络(Artificial Neural Network)
  • 深度学习(Deep Learning)
  • 支持向量机(Support Vector Machine)
  • 降维算法(Dimensionality Reduction Algorithms)
  • 聚类算法(Clustering Algorithms)
  • 基于实例的算法(Instance-based Algorithms)
  • 贝叶斯算法(Bayesian Algorithms)
  • 关联规则学习算法(Association Rule Learning Algorithms)
  • 图模型(Graphical Models)

正则化算法(Regularization Algorithms)

它是另一种方法(通常是回归方法)的拓展,这种方法会基于模型复杂性对其进行惩罚,它喜欢相对简单能够更好的泛化的模型。

例子:

  • 岭回归(Ridge Regression)
  • 最小绝对收缩与选择算子(LASSO)
  • GLASSO
  • 弹性网络(Elastic Net)
  • 最小角回归(Least-Angle Regression)

优点:

  • 其惩罚会减少过拟合
  • 总会有解决方法

缺点:

  • 惩罚会造成欠拟合
  • 很难校准

集成算法(Ensemble algorithms)

集成方法是由多个较弱的模型集成模型组,其中的模型可以单独进行训练,并且它们的预测能以某种方式结合起来去做出一个总体预测。

该算法主要的问题是要找出哪些较弱的模型可以结合起来,以及结合的方法。这是一个非常强大的技术集,因此广受欢迎。

  • Boosting
  • Bootstrapped Aggregation(Bagging)
  • AdaBoost
  • 层叠泛化(Stacked Generalization)(blending)
  • 梯度推进机(Gradient Boosting Machines,GBM)
  • 梯度提升回归树(Gradient Boosted Regression Trees,GBRT)
  • 随机森林(Random Forest)

优点:

  • 当先最先进的预测几乎都使用了算法集成。它比使用单个模型预测出来的结果要精确的多

缺点:

  • 需要大量的维护工作

决策树算法(Decision Tree Algorithm)

决策树学习使用一个决策树作为一个预测模型,它将对一个 item(表征在分支上)观察所得映射成关于该 item 的目标值的结论(表征在叶子中)。

树模型中的目标是可变的,可以采一组有限值,被称为分类树;在这些树结构中,叶子表示类标签,分支表示表征这些类标签的连接的特征。

例子:

  • 分类和回归树(Classification and Regression Tree,CART)
  • Iterative Dichotomiser 3(ID3)
  • C4.5 和 C5.0(一种强大方法的两个不同版本)

优点:

  • 容易解释
  • 非参数型


缺点:

  • 趋向过拟合
  • 可能或陷于局部最小值中
  • 没有在线学习

回归(Regression)算法

回归是用于估计两种变量之间关系的统计过程。当用于分析因变量和一个 多个自变量之间的关系时,该算法能提供很多建模和分析多个变量的技巧。具体一点说,回归分析可以帮助我们理解当任意一个自变量变化,另一个自变量不变时,因变量变化的典型值。最常见的是,回归分析能在给定自变量的条件下估计出因变量的条件期望。

回归算法是统计学中的主要算法,它已被纳入统计机器学习。

例子:

  • 普通最小二乘回归(Ordinary Least Squares Regression,OLSR)
  • 线性回归(Linear Regression)
  • 逻辑回归(Logistic Regression)
  • 逐步回归(Stepwise Regression)
  • 多元自适应回归样条(Multivariate Adaptive Regression Splines,MARS)
  • 本地散点平滑估计(Locally Estimated Scatterplot Smoothing,LOESS)

优点:

  • 直接、快速
  • 知名度高

缺点:

  • 要求严格的假设
  • 需要处理异常值

人工神经网络

人工神经网络是受生物神经网络启发而构建的算法模型。

它是一种模式匹配,常被用于回归和分类问题,但拥有庞大的子域,由数百种算法和各类问题的变体组成。

例子:

  • 感知器
  • 反向传播
  • Hopfield 网络
  • 径向基函数网络(Radial Basis Function Network,RBFN)

优点:

  • 在语音、语义、视觉、各类游戏(如围棋)的任务中表现极好。
  • 算法可以快速调整,适应新的问题。

缺点:

需要大量数据进行训练

训练要求很高的硬件配置

模型处于「黑箱状态」,难以理解内部机制

元参数(Metaparameter)与网络拓扑选择困难。

深度学习(Deep Learning)

深度学习是人工神经网络的最新分支,它受益于当代硬件的快速发展。

众多研究者目前的方向主要集中于构建更大、更复杂的神经网络,目前有许多方法正在聚焦半监督学习问题,其中用于训练的大数据集只包含很少的标记。

例子:

  • 深玻耳兹曼机(Deep Boltzmann Machine,DBM)
  • Deep Belief Networks(DBN)
  • 卷积神经网络(CNN)
  • Stacked Auto-Encoders

优点/缺点:见神经网络

支持向量机(Support Vector Machines)

给定一组训练事例,其中每个事例都属于两个类别中的一个,支持向量机(SVM)训练算法可以在被输入新的事例后将其分类到两个类别中的一个,使自身成为非概率二进制线性分类器。

SVM 模型将训练事例表示为空间中的点,它们被映射到一幅图中,由一条明确的、尽可能宽的间隔分开以区分两个类别。

随后,新的示例会被映射到同一空间中,并基于它们落在间隔的哪一侧来预测它属于的类别。

优点:

在非线性可分问题上表现优秀


缺点:

  • 非常难以训练
  • 很难解释

降维算法(Dimensionality Reduction Algorithms)


和集簇方法类似,降维追求并利用数据的内在结构,目的在于使用较少的信息总结或描述数据。

这一算法可用于可视化高维数据或简化接下来可用于监督学习中的数据。许多这样的方法可针对分类和回归的使用进行调整。

例子:

  • 主成分分析(Principal Component Analysis (PCA))
  • 主成分回归(Principal Component Regression (PCR))
  • 偏最小二乘回归(Partial Least Squares Regression (PLSR))
  • Sammon 映射(Sammon Mapping)
  • 多维尺度变换(Multidimensional Scaling (MDS))
  • 投影寻踪(Projection Pursuit)
  • 线性判别分析(Linear Discriminant Analysis (LDA))
  • 混合判别分析(Mixture Discriminant Analysis (MDA))
  • 二次判别分析(Quadratic Discriminant Analysis (QDA))
  • 灵活判别分析(Flexible Discriminant Analysis (FDA))

优点:

  • 可处理大规模数据集
  • 无需在数据上进行假设

缺点:

  • 难以搞定非线性数据
  • 难以理解结果的意义

聚类算法(Clustering Algorithms)

聚类算法是指对一组目标进行分类,属于同一组(亦即一个类,cluster)的目标被划分在一组中,与其他组目标相比,同一组目标更加彼此相似(在某种意义上)。

例子:

  • K-均值(k-Means)
  • k-Medians 算法
  • Expectation Maximi 封层 ation (EM)
  • 最大期望算法(EM)
  • 分层集群(Hierarchical Clstering)

优点:

  • 让数据变得有意义

缺点:

  • 结果难以解读,针对不寻常的数据组,结果可能无用。

基于实例的算法(Instance-based Algorithms)


基于实例的算法(有时也称为基于记忆的学习)是这样学 习算法,不是明确归纳,而是将新的问题例子与训练过程中见过的例子进行对比,这些见过的例子就在存储器中。

之所以叫基于实例的算法是因为它直接从训练实例中建构出假设。这意味这,假设的复杂度能随着数据的增长而变化:最糟的情况是,假设是一个训练项目列表,分类一个单独新实例计算复杂度为 O(n)

例子:

  • K 最近邻(k-Nearest Neighbor (kNN))
  • 学习向量量化(Learning Vector Quantization (LVQ))
  • 自组织映射(Self-Organizing Map (SOM))
  • 局部加权学习(Locally Weighted Learning (LWL))

优点:

  • 算法简单、结果易于解读

缺点:

  • 内存使用非常高
  • 计算成本高
  • 不可能用于高维特征空间

贝叶斯算法(Bayesian Algorithms)


贝叶斯方法是指明确应用了贝叶斯定理来解决如分类和回归等问题的方法。

例子:

  • 朴素贝叶斯(Naive Bayes)
  • 高斯朴素贝叶斯(Gaussian Naive Bayes)
  • 多项式朴素贝叶斯(Multinomial Naive Bayes)
  • 平均一致依赖估计器(Averaged One-Dependence Estimators (AODE))
  • 贝叶斯信念网络(Bayesian Belief Network (BBN))
  • 贝叶斯网络(Bayesian Network (BN))

优点:

快速、易于训练、给出了它们所需的资源能带来良好的表现


缺点:

  • 如果输入变量是相关的,则会出现问题

关联规则学习算法(Association Rule Learning Algorithms)

关联规则学习方法能够提取出对数据中的变量之间的关系的最佳解释。比如说一家超市的销售数据中存在规则 {洋葱,土豆}=> {汉堡},那说明当一位客户同时购买了洋葱和土豆的时候,他很有可能还会购买汉堡肉。

例子:

  • Apriori 算法(Apriori algorithm)
  • Eclat 算法(Eclat algorithm)
  • FP-growth

图模型(Graphical Models)


图模型或概率图模型(PGM/probabilistic graphical model)是一种概率模型,一个图(graph)可以通过其表示随机变量之间的条件依赖结构(conditional dependence structure)。

例子:

  • 贝叶斯网络(Bayesian network)
  • 马尔可夫随机域(Markov random field)
  • 链图(Chain Graphs)
  • 祖先图(Ancestral graph)

优点:

  • 模型清晰,能被直观地理解

缺点:

  • 确定其依赖的拓扑很困难,有时候也很模糊

本文来源于"中国人工智能学会",原文发表时间" 2017-02-21  "

时间: 2025-01-21 08:42:19

机器学习算法集锦:从贝叶斯到深度学习及各自优缺点的相关文章

机器学习算法汇总:人工神经网络、深度学习及其它

学习方式 根据数据类型的不同,对一个问题的建模有不同的方式.在机器学习或者人工智能领域,人们首先会考虑算法的学习方式.在机器学习领域,有几种主要的学习方式.将算法按照学习方式分类是一个不错的想法,这样可以让人们在建模和算法选择的时候考虑能根据输入数据来选择最合适的算法来获得最好的结果. 监督式学习: 在监督式学习下,输入数据被称为"训练数据",每组训练数据有一个明确的标识或结果,如对防垃圾邮件系统中"垃圾邮件""非垃圾邮件",对手写数字识别中的&

机器学习算法集锦

机器学习 机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能.严格的定义:机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问.这里所说的"机器",指的就是计算机,电子计算机,中子计算机.光子计算机或神经计算机等等. 机器学习概论 由上图所示:机器学习分为四大块: classific

《大数据架构和算法实现之路:电商系统的技术实战》——1.3 算法:朴素贝叶斯和K最近邻

1.3 算法:朴素贝叶斯和K最近邻 1.3.1 朴素贝叶斯 朴素贝叶斯(Naive Bayes)分类是一种实用性很高的分类方法,在理解它之前,我们先来复习一下贝叶斯理论.贝叶斯决策理论是主观贝叶斯派归纳理论的重要组成部分.贝叶斯决策就是在信息不完整的情况下,对部分未知的状态用主观概率进行估计,然后用贝叶斯公式对发生概率进行修正,最后再利用期望值和修正概率做出最优决策.其基本思想具体如下. 1)已知类条件概率密度参数表达式和先验概率. 2)利用贝叶斯公式转换成后验概率. 3)根据后验概率大小进行决

机器学习-朴素贝叶斯如何自我学习从而对新增的文本类别正确的分类

问题描述 朴素贝叶斯如何自我学习从而对新增的文本类别正确的分类 朴素贝叶斯分类是一种有监督的机器学习方法,准确性严重依赖于样本丰富程度,如何使得贝叶斯分类有自我学习的能力,从而能适应新的文本

(转) 机器学习很有趣Part6:怎样使用深度学习进行语音识别

  本文转自:http://www.jiqizhixin.com/article/2321   机器学习很有趣Part6:怎样使用深度学习进行语音识别 2017-02-19 13:20:47    机器学习    0 0 0 还记得machine learning is fun吗?本文是该系列文章的第六部分,博主通俗细致地讲解了神经网络语音识别的整个过程, 是篇非常不错的入门级文章.   语音识别正闯入我们的生活.它内置于我们的手机.游戏机和智能手表.它甚至正在让我们的家庭变得自动化.只需要 5

一文读懂机器学习、数据科学、人工智能、深度学习和统计学之间的区别

在这篇文章中,数据科学家与分析师 Vincent Granville 明晰了数据科学家所具有的不同角色,以及数据科学与机器学习.深度学习.人工智能.统计学.物联网.运筹学和应用数学等相关领域的比较和重叠.Granville 介绍说,由于数据科学是一个范围很广的学科,所以他首先介绍了在业务环境中可能会遇到的数据科学家的类型,你甚至可能会发现你自己原来也是某种数据科学家.和其它任何科学学科一样,数据科学也可能会从其它相关学科借用技术.当然,我们也已经开发出了自己的技术库,尤其是让我们可以以自动化的方

拒绝跟风,看机器学习、数据科学、人工智能、深度学习、统计学等的区别

本文作者Vincent Granville通过阐明数据科学家各种各样的角色,以及数据科学与相关领域的不同以及交叉,比如机器学习.深度学习.AI.IoT.统计学.运筹学和应用数学.PS,通过Maxcompute及其配套产品,低廉的大数据分析仅需几步,详情访问https://www.aliyun.com/product/odps. 以下为译文 因为数据科学是个广义的学科,所以这里将从任何业务里都可能会遇到的数据科学家类型开始,通过这个部分或许你能发现自己隐藏的数据科学家潜质:)正如任何科学学科一样,

机器学习、数据科学、人工智能、深度学习、统计学等的区别

因为数据科学是个广义的学科,所以这里将从任何业务里都可能会遇到的数据科学家类型开始,通过这个部分或许你能发现自己隐藏的数据科学家潜质:)正如任何科学学科一样,数据科学家也可能向相关学科学习借鉴,尽管数据科学已经有自己的部分,尤其是自动处理超大规模非结构化数据的方式和算法,甚至不需要人为干涉,就可以做实时处理或者预测. 1. 数据科学家的各种类型 想要开始并且了解一些以前的观点,不妨参考2014年发布的文章" 9 types of data scientists"或者同年另一篇文章比较数

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

雷锋网AI科技评论按:6月24日下午,钛媒体和杉数科技主办的2017 AI 大师论坛在京举行,论坛邀请了五位算法优化.机器学习领域的顶尖教授.学者出席并发表学术演讲,雷锋网(公众号:雷锋网)记者也对论坛进行了跟踪报道.本篇内容根据机器学习领域专家李建的论坛分享实录整理而成. 李建,清华大学交叉信息研究院助理教授.杉数科技科学家,美国马里兰大学博士.国内机器学习领域最顶尖的前沿科学家之一,国际学术会议VLDB 2009和ESA 2010最佳论文奖获得者,清华211基础研究青年人才支持计划以及教育部