首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >三张图读懂机器学习 :基本概念、五大流派与九种常见算法

三张图读懂机器学习 :基本概念、五大流派与九种常见算法

作者头像
小莹莹
发布于 2018-04-24 07:53:20
发布于 2018-04-24 07:53:20
1.8K0
举报

机器学习正在进步,我们似乎正在不断接近我们心中的人工智能目标。语音识别、图像检测、机器翻译、风格迁移等技术已经在我们的实际生活中开始得到了应用,但机器学习的发展仍还在继续,甚至被认为有可能彻底改变人类文明的发展方向乃至人类自身。但你了解现在正在发生的这场变革吗?四大会计师事务所之一的普华永道(PwC)近日发布了多份解读机器学习基础的图表,其中介绍了机器学习的基本概念、原理、历史、未来趋势和一些常见的算法。为便于读者阅读,机器之心对这些图表进行了编译和拆分,分三大部分对这些内容进行了呈现,希望能帮助你进一步阅读。

一、机器学习概览

1. 什么是机器学习?

机器通过分析大量数据来进行学习。比如说,不需要通过编程来识别猫或人脸,它们可以通过使用图片来进行训练,从而归纳和识别特定的目标。

2. 机器学习和人工智能的关系

机器学习是一种重在寻找数据中的模式并使用这些模式来做出预测的研究和算法的门类。机器学习是人工智能领域的一部分,并且和知识发现与数据挖掘有所交集。

3. 机器学习的工作方式

①选择数据:将你的数据分成三组:训练数据、验证数据和测试数据

②模型数据:使用训练数据来构建使用相关特征的模型

③验证模型:使用你的验证数据接入你的模型

④测试模型:使用你的测试数据检查被验证的模型的表现

⑤使用模型:使用完全训练好的模型在新数据上做预测

⑥调优模型:使用更多数据、不同的特征或调整过的参数来提升算法的性能表现

4. 机器学习所处的位置

①传统编程:软件工程师编写程序来解决问题。首先存在一些数据→为了解决一个问题,软件工程师编写一个流程来告诉机器应该怎样做→计算机遵照这一流程执行,然后得出结果

②统计学:分析师比较变量之间的关系

③机器学习:数据科学家使用训练数据集来教计算机应该怎么做,然后系统执行该任务。首先存在大数据→机器会学习使用训练数据集来进行分类,调节特定的算法来实现目标分类→该计算机可学习识别数据中的关系、趋势和模式

④智能应用:智能应用使用人工智能所得到的结果,如图是一个精准农业的应用案例示意,该应用基于无人机所收集到的数据

5. 机器学习的实际应用

机器学习有很多应用场景,这里给出了一些示例,你会怎么使用它?

  • 快速三维地图测绘和建模:要建造一架铁路桥,PwC 的数据科学家和领域专家将机器学习应用到了无人机收集到的数据上。这种组合实现了工作成功中的精准监控和快速反馈。
  • 增强分析以降低风险:为了检测内部交易,PwC 将机器学习和其它分析技术结合了起来,从而开发了更为全面的用户概况,并且获得了对复杂可疑行为的更深度了解。
  • 预测表现最佳的目标:PwC 使用机器学习和其它分析方法来评估 Melbourne Cup 赛场上不同赛马的潜力。

二、机器学习的演化

几十年来,人工智能研究者的各个「部落」一直以来都在彼此争夺主导权。现在是这些部落联合起来的时候了吗?他们也可能不得不这样做,因为合作和算法融合是实现真正通用人工智能(AGI)的唯一方式。这里给出了机器学习方法的演化之路以及未来的可能模样。

1. 五大流派

①符号主义:使用符号、规则和逻辑来表征知识和进行逻辑推理,最喜欢的算法是:规则和决策树

②贝叶斯派:获取发生的可能性来进行概率推理,最喜欢的算法是:朴素贝叶斯或马尔可夫

③联结主义:使用概率矩阵和加权神经元来动态地识别和归纳模式,最喜欢的算法是:神经网络

④进化主义:生成变化,然后为特定目标获取其中最优的,最喜欢的算法是:遗传算法

⑤Analogizer:根据约束条件来优化函数(尽可能走到更高,但同时不要离开道路),最喜欢的算法是:支持向量机

2. 演化的阶段

1980 年代

  • 主导流派:符号主义
  • 架构:服务器或大型机
  • 主导理论:知识工程
  • 基本决策逻辑:决策支持系统,实用性有限

1990 年代到 2000 年

  • 主导流派:贝叶斯
  • 架构:小型服务器集群
  • 主导理论:概率论
  • 分类:可扩展的比较或对比,对许多任务都足够好了

2010 年代早期到中期

  • 主导流派:联结主义
  • 架构:大型服务器农场
  • 主导理论:神经科学和概率
  • 识别:更加精准的图像和声音识别、翻译、情绪分析

3. 这些流派有望合作,并将各自的方法融合到一起

2010 年代末期

  • 主导流派:联结主义+符号主义
  • 架构:许多云
  • 主导理论:记忆神经网络、大规模集成、基于知识的推理
  • 简单的问答:范围狭窄的、领域特定的知识共享

2020 年代+

  • 主导流派:联结主义+符号主义+贝叶斯+……
  • 架构:云计算和雾计算
  • 主导理论:感知的时候有网络,推理和工作的时候有规则
  • 简单感知、推理和行动:有限制的自动化或人机交互

2040 年代+

  • 主导流派:算法融合
  • 架构:无处不在的服务器
  • 主导理论:最佳组合的元学习
  • 感知和响应:基于通过多种学习方式获得的知识或经验采取行动或做出回答

三、机器学习的算法

你应该使用哪种机器学习算法?这在很大程度上依赖于可用数据的性质和数量以及每一个特定用例中你的训练目标。不要使用最复杂的算法,除非其结果值得付出昂贵的开销和资源。这里给出了一些最常见的算法,按使用简单程度排序。

1. 决策树(Decision Tree):在进行逐步应答过程中,典型的决策树分析会使用分层变量或决策节点,例如,可将一个给定用户分类成信用可靠或不可靠。

  • 优点:擅长对人、地点、事物的一系列不同特征、品质、特性进行评估
  • 场景举例:基于规则的信用评估、赛马结果预测

2. 支持向量机(Support Vector Machine):基于超平面(hyperplane),支持向量机可以对数据群进行分类。

  • 优点:支持向量机擅长在变量 X 与其它变量之间进行二元分类操作,无论其关系是否是线性的
  • 场景举例:新闻分类、手写识别。

3. 回归(Regression):回归可以勾画出因变量与一个或多个因变量之间的状态关系。在这个例子中,将垃圾邮件和非垃圾邮件进行了区分。

  • 优点:回归可用于识别变量之间的连续关系,即便这个关系不是非常明显
  • 场景举例:路面交通流量分析、邮件过滤

4. 朴素贝叶斯分类(Naive Bayes Classification):朴素贝叶斯分类器用于计算可能条件的分支概率。每个独立的特征都是「朴素」或条件独立的,因此它们不会影响别的对象。例如,在一个装有共 5 个黄色和红色小球的罐子里,连续拿到两个黄色小球的概率是多少?从图中最上方分支可见,前后抓取两个黄色小球的概率为 1/10。朴素贝叶斯分类器可以计算多个特征的联合条件概率。

  • 优点:对于在小数据集上有显著特征的相关对象,朴素贝叶斯方法可对其进行快速分类
  • 场景举例:情感分析、消费者分类

5. 隐马尔可夫模型(Hidden Markov model):显马尔可夫过程是完全确定性的——一个给定的状态经常会伴随另一个状态。交通信号灯就是一个例子。相反,隐马尔可夫模型通过分析可见数据来计算隐藏状态的发生。随后,借助隐藏状态分析,隐马尔可夫模型可以估计可能的未来观察模式。在本例中,高或低气压的概率(这是隐藏状态)可用于预测晴天、雨天、多云天的概率。

  • 优点:容许数据的变化性,适用于识别(recognition)和预测操作
  • 场景举例:面部表情分析、气象预测

6. 随机森林(Random forest):随机森林算法通过使用多个带有随机选取的数据子集的树(tree)改善了决策树的精确性。本例在基因表达层面上考察了大量与乳腺癌复发相关的基因,并计算出复发风险。

  • 优点:随机森林方法被证明对大规模数据集和存在大量且有时不相关特征的项(item)来说很有用
  • 场景举例:用户流失分析、风险评估

7. 循环神经网络(Recurrent neural network):在任意神经网络中,每个神经元都通过 1 个或多个隐藏层来将很多输入转换成单个输出。循环神经网络(RNN)会将值进一步逐层传递,让逐层学习成为可能。换句话说,RNN 存在某种形式的记忆,允许先前的输出去影响后面的输入。

  • 优点:循环神经网络在存在大量有序信息时具有预测能力
  • 场景举例:图像分类与字幕添加、政治情感分析

8. 长短期记忆(Long short-term memory,LSTM)与门控循环单元神经网络(gated recurrent unit nerual network):早期的 RNN 形式是会存在损耗的。尽管这些早期循环神经网络只允许留存少量的早期信息,新近的长短期记忆(LSTM)与门控循环单元(GRU)神经网络都有长期与短期的记忆。换句话说,这些新近的 RNN 拥有更好的控制记忆的能力,允许保留早先的值或是当有必要处理很多系列步骤时重置这些值,这避免了「梯度衰减」或逐层传递的值的最终 degradation。LSTM 与 GRU 网络使得我们可以使用被称为「门(gate)」的记忆模块或结构来控制记忆,这种门可以在合适的时候传递或重置值。

  • 优点:长短期记忆和门控循环单元神经网络具备与其它循环神经网络一样的优点,但因为它们有更好的记忆能力,所以更常被使用
  • 场景举例:自然语言处理、翻译

9. 卷积神经网络(convolutional neural network):卷积是指来自后续层的权重的融合,可用于标记输出层。

  • 优点:当存在非常大型的数据集、大量特征和复杂的分类任务时,卷积神经网络是非常有用的
  • 场景举例:图像识别、文本转语音、药物发现

原文链接:

http://usblogs.pwc.com/emerging-technology/a-look-at-machine-learning-infographic/ http://usblogs.pwc.com/emerging-technology/machine-learning-methods-infographic/ http://usblogs.pwc.com/emerging-technology/machine-learning-evolution-infographic/

来源:机器之心

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PPV课数据科学社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
网络管理与运维知识点总结
知孤云出岫
2025/07/07
1200
网络管理与运维知识点总结
SNMP V3的配置指南
SNMP v3版本已经推出很久了,但是其普及度一直不高,原因就在于其配置过于复杂,本文主要就以cisco2950、锐捷2600以及H3C 3600系列交换机的SNMP V3的配置为例进行说明。
py3study
2020/01/07
7K0
官方博文 | Zabbix通过SNMPv3协议监控网络设备
5年Linux运维经验,4年Zabbix使用经验,活跃的Zabbix在线课程讲师。获得国内第一批Zabbix4.0 ZCS和ZCP认证,同时也是Zabbix培训师候选人。
Zabbix
2021/01/29
5.8K0
官方博文 | Zabbix通过SNMPv3协议监控网络设备
Zabbix SNMPv3 监控华为华三交换机
简单网络管理协议(SNMP)是常见的一种监控手段,目前snmp定义了三个版本的网络管理协议:SNMP v1,SNMP v2,SNMP v3。SNMP v1,v2有很多共同的特征,SNMP v3 在先前的版本的基础上增加了安全和远程配置能力 。目前大多数厂商普遍支持的版本是SNMPv1和v2,但从安全鉴别机制来看,二者表现较差。而SNMPv3采用了新的SNMP扩展框架,有更好的安全性;
Kevin song
2022/03/14
3.1K0
Zabbix SNMPv3 监控华为华三交换机
Cisco设备配置SNMPv3及原理说
  SNMP当前有三个版本,分别是SNMP v1、v2、v3。SNMP v1、v2有很多共同特征,但是SNMP v2在版本上得到了增强,例如额外的协议操作。SNMP v3在先前的版本的基础上增加了安全和远程配置能力。为了解决不通版本的兼容性问题,RFC3584定义了共同策略。以下针对每一个版本一一介绍:   SNMP v1是最初实施SNMP协议。SNMP v1运行在像UDP,ip,OSI无连接网络服务(CLNS),DDP(AppTalk Datagram-delivery),IPX(Novell Internet Packet Exchange)之上,SNMP v1广泛使用成为internet上实际的网络管理协议。   SNMP是一种简单的request/respond协议。网络管理系统发出一个请求,被管理设备返回响应。这些行为由四种协议操作组成:   GET,GetNext,Set和Trap。Get操作使用NMS来获取agent的一个或多个对象实例。如果agent返回get操作不能提供列表所有对象实例的值,就不能提供任何值。GetNext操作是NMS用来从agent表中获取表中下一个对象实例。Set操作NMS用来设置agent对象实例的值。Trap操作用于agent向NMS通告有意义的事件。   现在版本一不是没有自己的问题。版本一的主要问题是对消息源的验证,保护消息不会被泄露和对MIB的访问控制包括配置,状态,消息统计存储到数据库。   SNMP v2是1993年设计的,是v1的演进版本。Get,GetNext和Set操作相同于SNMP v1。然而SNMP v2增加和加强了一些协议操作。在SNMP v2中,如果再get-request中需要多个请求值,如果有一个不存在,请求照样会被正常执行。而在SNMP v1中将响应一个错误消息。在版本一中,Trap消息和其他几个操作消息的PDU不同。v2版本简化了trap消息,使trap和其他的get和set消息格式相同。   SNMP v2还定义了两个新的协议操作:GetBulk和Inform。GetBulk操作被用于NMS高效的获取大量的块数据,如表中一行中的多行。GetBulk将请求返回的响应消息尽量多的返回。Inform操作允许一个NMS来发送trap消息给其他的NMS,再接收响应。在SNMP v2,如果agent响应GetBulk操作不能提供list中的全部变量的值,则提供部分的结果。   SNMP v2最后的部分是改善安全,导致了SNMP v2的各个变种。从此,实际上SNMP v2有几个不同的“SNMP v2”,那其实有好几个SNMP v2的消息格式。但更糟糕的是原来模型中的SNMP消息并没有得到挽救。从SNMP v1中的SNMP v2中的协议操作导致SNMP v2 PDU的格式也必须改变。然而,这些协议操作在所有的SNMP v2变种中都必须相同。SNMP v2各个变种之间的不同在于安全的实施。因而各个SNMP v2变种之间的PDU都有相同的格式,而总的消息格式又都不同。   现在,在新发行的版本考虑了令v2版本恐慌的问题。SNMP v3结构增加了安全和管理能力,从而增强了其他版本功能。   SNMP v3在前面的版本上增加了安全能力和远程配置能力,SNMP v3结构为消息安全和VACM(View-base Access Control Model)引入了USM(User-based Security Model)。这个结构支持同时使用不同的安全机制,接入控制,消息处理模型。SNMP v3 也引入了使用SNMP Set命令动态配置SNMP agent而不失MIB对象代表agent配置。   以下针对SNMP v3配置步骤进行详细说明:   Router:   Route(config)#snmp-server community  RO/RW   Route(config)#snmp-server user   v3 authen md5 < authen password> priva aes 128    Route(config)#snmp-server group  v3 authen/priva   Route(config)#snmp-server host A.A.A.A inform version authen    Route(config)#snmp-server host A.A.A.A traps version 3 priva    Route(config)#snmp-server engineID remote A.A.A.A upd-port 162    Route(config)#snmp-server enable tra
py3study
2020/01/09
1.7K0
CentOS7下简单配置SNMPv3实践
简单网络管理协议(SNMP)是常见的一种监控手段,目前snmp定义了三个版本的网络管理协议:SNMP v1,SNMP v2,SNMP v3。SNMP v1,v2有很多共同的特征,SNMP v3 在先前的版本基础上增加了安全和远程配置能力 。
yuanfan2012
2020/11/02
2.5K0
CentOS7下简单配置SNMPv3实践
简单网络管理协议SNMP(史上最全)
SNMPv1 是 SNMP 协议的最初版本,提供最小限度的网络管理功能。SNMPv1 的 SMI 和 MIB 都比较简单,且存在较多安全缺陷。SNMPv1 采用团体名认证。团体名的作用类似于密码,用来限制NMS对Agent 的访问。如果 SNMP 报文携带的团体名没有得到 NMS/Agent 的认可,该报文将被丢弃。SNMPV1 是一种简单的请求/响应协议。网络管理系统发出一个请求,管理器则返回一个响应。这一行为的实现是通过使用四种协议操作中的其中任一种完成的。这四种操作分别是 GET、GETNEXT、SET 和 TRAP。NMS 通过 GET 操作,从 SNMP 代理处得到一个或 更多的对象(实例)值。如果代理处不能提供请求列表中所有的对象(实例)值,它也就不提供任何值。 NMS 使用 GETNEXT 操作请求代理从请求列表或对象列表中取出下一 个对象实例值。NMS 通过 SET 操作向 SNMP 代理发送命令,要求对对象值重新配置。SNMP 代理通过 TRAP 操作不定时的通知 NMS 所发生的特定事件 SNMP 是一种应用程序协议。
全栈程序员站长
2022/11/02
4.2K0
LS-NET-013-思科MDS 9148S 开启SNMP
本文详解Cisco MDS 9148S光纤交换机SNMP配置全流程,涵盖只读团体创建、Trap启用及监控服务器对接三大核心步骤。通过逐行解析配置命令,结合安全实践建议,帮助管理员快速完成Zabbix/Prometheus等监控系统集成。
奶油话梅糖
2025/07/10
870
浅谈H3C iMC结合SNMPv3协议管
网络管理软件收到越来越多客户的欢迎,IT厂商也积极推出自己的网络管理软件,至于使用效果和体验,大家自己感受,IT圈里混的,你们都懂的。结合个人最近实施项目,部署H3C(据说现在叫“新华三”)研发的iMC运维管理平台,涉及到不同厂商的设备,简单与大家分享一下。
py3study
2020/01/09
2.3K0
SNMP学习笔记之SNMP报文以及不同版本(SNMPv1、v2c、v3)的区别
本篇文章将重点分析SNMP报文,并对不同版本(SNMPv1、v2c、v3)进行区别!
Jetpropelledsnake21
2018/11/22
7.9K0
SNMP学习笔记之SNMP 原理与实战详解
原文地址:http://freeloda.blog.51cto.com/2033581/1306743
Jetpropelledsnake21
2018/11/22
12.7K0
SNMP定义及SNMPv3特性,来看看考官想听的。
通过网络管理软件可以集中式对多台设备进行统一管理,并且可以直观的看到网络设备的运行情况。而且可以通过网管软件对设备进行相应的配置, SNMP 系统包括网络管理系统 NMS(Network Management System)、代理进程 Agent、被管对象 Management object 和管理信息库 MIB(Management Information Base)四部分组成。
Ponnie
2021/02/24
2.8K0
H3C路由交换 SNMT配置
SNMP(Simple Network Managemant Protocol,简单网络管理协议)提供了一种从网络设备中收集网络管理信息的方法,也为设备向网络管理工作站报告问题和错误提供了一种方法。SNMP可以屏蔽不同设备的物理差异,实现不同厂商产品的自动化管理。
张旭博客
2022/12/27
5270
SNMP学习笔记之SNMP4J介绍(Java)
  SNMP4J是一个用Java来实现SNMP(简单网络管理协议)协议的开源项目.它支持以命令行的形式进行管理与响应。SNMP4J是纯面向对象设计与SNMP++(用C++实现SNMPv1/v2c/v3)相类似。
Jetpropelledsnake21
2018/11/22
5.6K0
SNMP学习笔记之SNMPv3的报文格式以及基于USM的认证和加密过程
                                                                      图 1
Jetpropelledsnake21
2018/11/22
4.6K0
SNMP学习笔记之SNMPv3的配置和认证以及TroubleShooting
snmp v3安全级别有三种,分别为noAuthNoPriv(不认证也不加密)、authNoPriv(认证但是不加密)、authPriv(既认证又加密)
Jetpropelledsnake21
2018/12/19
6.6K0
[NetWork] SNMP统一网络管理
一种网络管理协议 提供从网络设备中收集信息的方法,同样也为向网络管理方报告问题和错误提供方法。 提供了一种多供应商、可协同操作的网络管理工具
BreezeCloud
2022/12/04
6840
[NetWork] SNMP统一网络管理
snmp协议的相关资料
SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。
ccf19881030
2020/10/26
1.8K0
在Ubuntu 14.04上配置SNMPv3
简单网络管理协议(SNMP)是用于IP网络设备管理的标准协议。典型的支持SNMP协议的设备有路由器、交换机、服务器、工作站、打印机及数据机柜等等。SNMP一般被网络管理系统用于按照管理员设定的条件来监视网络附加设备。SNMP是因特网协议套件中的一个组成部分,它由IETF机构定义。它包含一系列的网络管理标准,其中有一个应用层协议,一个数据库架构以及一组数据对象。
星哥玩云
2022/07/03
7240
在Ubuntu 14.04上配置SNMPv3
SNMP安全访问
通过与CISCO路由器内部的SNMP代理及MIB进行通信,SNMP系统可以取得对路由器的管理访问 配置了路由器上的SNMP代理后,SNMP系统就可以执行以下任务: 1从路由器SNMP代理MIB中读取当前的配置参数和统计信息(ONLY READ) 2向路由器SNMP代理MIB设置某些配置参数(read write) 3从路由器SNMP代理处接收SNMP trap(路由器事件) SNMP系统使用所谓的community 字符串作为访问路由器SNMP代理的口令,SNMP代理只接受提供正确的
全栈程序员站长
2021/08/05
9020
相关推荐
网络管理与运维知识点总结
更多 >
LV.0
这个人很懒,什么都没有留下~
加入讨论
的问答专区 >
解决方案专家擅长1个领域
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档