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

640?wx_fmt=jpeg

来源:图灵人工智能


目录


  • 正则化算法(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)



640?wx_fmt=png


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


例子:


  • 岭回归(Ridge Regression)

  • 最小绝对收缩与选择算子(LASSO)

  • GLASSO

  • 弹性网络(Elastic Net)

  • 最小角回归(Least-Angle Regression)


优点:


  • 其惩罚会减少过拟合

  • 总会有解决方法


缺点:


  • 惩罚会造成欠拟合

  • 很难校准


集成算法(Ensemble algorithms)



640?wx_fmt=png


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


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


  • Boosting

  • Bootstrapped Aggregation(Bagging)

  • AdaBoost

  • 层叠泛化(Stacked Generalization)(blending)

  • 梯度推进机(Gradient Boosting Machines,GBM)

  • 梯度提升回归树(Gradient Boosted Regression Trees,GBRT)

  • 随机森林(Random Forest)


优点:


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


缺点:


  • 需要大量的维护工作


决策树算法(Decision Tree Algorithm)



640?wx_fmt=png


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


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


例子:


  • 分类和回归树(Classification and Regression Tree,CART)

  • Iterative Dichotomiser 3(ID3)

  • C4.5 和 C5.0(一种强大方法的两个不同版本)


优点:


  • 容易解释

  • 非参数型


缺点:


  • 趋向过拟合

  • 可能或陷于局部最小值中

  • 没有在线学习


回归(Regression)算法



640?wx_fmt=png


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


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


例子:


  • 普通最小二乘回归(Ordinary Least Squares Regression,OLSR)

  • 线性回归(Linear Regression)

  • 逻辑回归(Logistic Regression)

  • 逐步回归(Stepwise Regression)

  • 多元自适应回归样条(Multivariate Adaptive Regression Splines,MARS)

  • 本地散点平滑估计(Locally Estimated Scatterplot Smoothing,LOESS)


优点:


  • 直接、快速

  • 知名度高


缺点:


  • 要求严格的假设

  • 需要处理异常值


人工神经网络



640?wx_fmt=png


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


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


例子:


  • 感知器

  • 反向传播

  • Hopfield 网络

  • 径向基函数网络(Radial Basis Function Network,RBFN)


优点:


  • 在语音、语义、视觉、各类游戏(如围棋)的任务中表现极好。

  • 算法可以快速调整,适应新的问题。


缺点:


需要大量数据进行训练

训练要求很高的硬件配置

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

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


深度学习(Deep Learning)



640?wx_fmt=png


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


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


例子:


  • 深玻耳兹曼机(Deep Boltzmann Machine,DBM)

  • Deep Belief Networks(DBN)

  • 卷积神经网络(CNN)

  • Stacked Auto-Encoders


优点/缺点:见神经网络


支持向量机(Support Vector Machines)



640?wx_fmt=png


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


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


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


优点:


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


缺点:


  • 非常难以训练

  • 很难解释


降维算法(Dimensionality Reduction Algorithms)



640?wx_fmt=png


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


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


例子:


  • 主成分分析(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)



640?wx_fmt=png


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


例子:


  • K-均值(k-Means)

  • k-Medians 算法

  • Expectation Maximi 封层 ation (EM)

  • 最大期望算法(EM)

  • 分层集群(Hierarchical Clstering)


优点:


  • 让数据变得有意义


缺点:


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


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



640?wx_fmt=png


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


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


例子:


  • K 最近邻(k-Nearest Neighbor (kNN))

  • 学习向量量化(Learning Vector Quantization (LVQ))

  • 自组织映射(Self-Organizing Map (SOM))

  • 局部加权学习(Locally Weighted Learning (LWL))


优点:


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


缺点:


  • 内存使用非常高

  • 计算成本高

  • 不可能用于高维特征空间


贝叶斯算法(Bayesian Algorithms)



640?wx_fmt=png


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


例子:


  • 朴素贝叶斯(Naive Bayes)

  • 高斯朴素贝叶斯(Gaussian Naive Bayes)

  • 多项式朴素贝叶斯(Multinomial Naive Bayes)

  • 平均一致依赖估计器(Averaged One-Dependence Estimators (AODE))

  • 贝叶斯信念网络(Bayesian Belief Network (BBN))

  • 贝叶斯网络(Bayesian Network (BN))


优点:


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


缺点:


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


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


640?wx_fmt=png


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


例子:


  • Apriori 算法(Apriori algorithm)

  • Eclat 算法(Eclat algorithm)

  • FP-growth


图模型(Graphical Models)


640?wx_fmt=png


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


例子:


  • 贝叶斯网络(Bayesian network)

  • 马尔可夫随机域(Markov random field)

  • 链图(Chain Graphs)

  • 祖先图(Ancestral graph)


优点:


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


缺点:


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


未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。


未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。


  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”


640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492670.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MongoDB学习笔记-06 数据库命令、固定集合、GridFS、javascript脚本

介绍MongoDB支持的一些高级功能: 数据库命令 固定大小的集合 GridFS存储大文件 MongoDB对服务端JavaScript的支持 数据库命令 命令的原理 MongoDB中的命令其实是作为一种特殊类型的查询来实现的,这些查询针对$cmd集合来执行。runCommand仅仅是接受命令文…

visual assist安装方法

参考:https://blog.csdn.net/yychentracy/article/details/82809888

汽车与智能家居互联时代 语音控制很关键

来源: I CTA编译:网易智能 nariiy摘要:对于大多数人而言,最昂贵的两个物件是家和汽车。如今,技术将这二者联系在一起,并互为延伸。在不断加速发展的趋势中,智能家居和联网汽车正在融合&#xff…

[问题解决]同时显示多个Notification时PendingIntent的Intent被覆盖?

情况是这样的,使用NotificationManager触发多个Notification: Java代码 private Notification genreNotification(Context context, int icon, String tickerText, String title, String content, Intent intent){ Notification notification new Notifi…

QT中的QButtonGroup

QButtonGroup类可以实现同一组的按钮的互斥操作, 比如当点击到某一个按钮checked时,其他按钮恢复到默认状态, 具体见 https://blog.csdn.net/naibozhuan3744/article/details/82146755 和:https://www.cnblogs.com/ranson7zop/p/…

【工业革命】第四次工业革命:自主经济的崛起

来源:产业智能官摘要:数据是新的资源,数据的处理和应用将带动第四次工业革命。随着大数据、云计算、物联网、人工智能、区块链等技术的崛起,很多人都说第四次工业革命即将到来。第四次工业革命到底指的是什么?应该如何…

mysql分表方法实现

一般来说,当我们的数据库的数据超过了100w记录的时候就应该考虑分表或者分区了,这次我来详细说说分表的一些方法。目前我所知道的方法都是MYISAM的,INNODB如何做分表并且保留事务和外键,我还不是很了解。 首 先,我们需…

QT中的QGridLayout布局

QGridLayout布局参考: https://blog.csdn.net/mynameislinduan/article/details/77893298

2019年大数据发展将走向何方

来源:网络大数据近日,包括CCF(中国计算机学会)大数据专家委员会、IDC公司(Internet Data Center 互联网数据中心)和Gartner公司等多家国内外知名信息技术研究机构均发布报告,对2019年乃至未来若干年的大数据产业发展趋势做出预测,…

iOS定时器

相关类:NSTimer A timer is not a real-time mechanism; it fires only when one of the run loop modes to which the timer has been added is running and able to check if the timer’s firing time has passed. Because of the various input sources a typical run loop…

QT给文本添加链接事件

参考自: https://blog.csdn.net/humanking7/article/details/80685893 说明 Qt的文本窗体部件能够显示富文本,使用HTML4 标记。能够以这种方式显示富文本的窗体控件有: QTextDocument, 以及 QLabel and QTextEdit。 关于打开超链接的两种方…

AI人必看!89页全网最全清华知识图谱报告

来源:智东西摘要:谷歌冲锋,淘宝猛追,这个AI秘密武器强在哪?知识图谱(Knowledge Graph)是人工智能的重要分支技术,它在2012年由谷歌提出,成为建立大规模知识的杀手锏应用&…

自学php【二】 PHP计算时间加一天

最近几天在做一个项目,主要是将SQLserver数据到MySQL数据库,一个url跑一次 同步一次昨天的数据,由于很多数据需要同步,所以做了一个操作界面的,一个单纯跑url的 在其中涉及到了对于时间的计算!当我写完这个…

为QT添加qss样式文件

代码 QFile file("my.qss"); file.open(QFile::ReadOnly); QString styleSh tr(file.readAll()); setStyleSheet(styleSh);my.qss文件内容 /* 正常时,按钮颜色 */ QPushButton{background-color:rgb(240,255,255);color: rgb(0, 0, 2);border-style: o…

人机融合智能的现状与展望

来源:人机与认知实验室作者:刘伟 苌凯旋摘要:本文对人机融合智能的概念、应用、发展将面临的关键问题以及未来发展的方向进行简要介绍。1 引言1.1 现有人工智能的不足与挑战人工智能(AI)的概念于1956年的达特蒙斯学院暑…

J2EE软件开发视频教程

BF-TECH-J2EE软件开发工程师就业班课程 课时数量:920课时 用到技术:J2EE 涉及项目:权限管理通用模块、易买网、CRM客户关系管理系统等 咨询qq:1840215592 J2EE软件工程师培训视频教程结合项目,进行实战图书馆信息管理系…

优先队列priority_queue的使用方式

C STL中的一种数据存储结构&#xff0c;数组的方式存储&#xff0c;插入数据时&#xff0c;设置排序规则&#xff0c;可以自动排序&#xff0c; priority_queue <int,vector<int>,less<int> > p; priority_queue <int,vector<int>,greater<int&…

Unity自带网络功能——NetworkView组件、Serialize、RPC

Unity拥有大量的第三方插件&#xff0c;专门提供了对网络功能的支持。可是&#xff0c;大部分开发人员第一次接触到的还是Unity自带的网络功能&#xff0c;也就是大家常常说到的Unity Networking API。这些API是借助于组件NetworkView发挥作用的&#xff0c;而它能够简化开发人…

Science:人工智能的发展离不开神经科学,先天结构或是下一个方向

来源&#xff1a;Science编译&#xff1a;机器之心摘要&#xff1a;人工智能从神经科学领域吸收了大量养分&#xff0c;并由此催生了深度学习和强化学习等智能处理方法。以色列魏茨曼科学研究学院计算机科学系教授 Shimon Ullman 相信神经科学还能为人工智能发展提供进一步的助…

Ubuntu20.04 及深度学习环境anaconda、cuda、cudnn、pytorch、paddle2.3安装记录

学习目标&#xff1a; Ubuntu20.04下装好torch、paddle深度学习环境。 选择的版本环境是 &#xff1a;最新的nvidia驱动、cuda 11.1 、cudnn v8.1.1&#xff0c;下面会说为啥这么选。 学习内容&#xff1a; 1. Ubuntu20.04仓库换源 本节参考Ubuntu 20.04 Linux更换源教程 2…