博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
谈谈基于机器学习的编程到底比传统编程强在哪里?
阅读量:6921 次
发布时间:2019-06-27

本文共 1244 字,大约阅读时间需要 4 分钟。

在本文开始之前,笔者要和大家分享两个在网络上流行的公式:

传统编程的公式:规则+数据=答案

机器学习的公式:答案+数据=规则

这两个公式中的三个关键词是一模一样的,分别是数据、规则和答案,但是这三个关键词在等号左右的排列位置却不同。从中我们不难看出,机器学习正在改变着整个编程行业。

而这一观点也得到了一些专家的佐证,以网络安全为例,Institute for Critical Infrastructure Technology高级研究员James Scott 曾表示,基于签名的恶意软件检测已死,取而代之的是基于机器学习的人工智能,它将成为防御变异哈希最好的方式。

那么,基于机器学习的编程到底与传统编程有哪些不同呢?顾名思义,机器学习大部分工作是由机器来完成的,而传统编程需要程序员自己根据具体的问题建模解决。除此之外,基于机器学习的编程比传统编程还强在哪里呢?

输入

首先,两者输入的都是数据,但是能够接受的数据类型不同。基于机器学习的编程基本可以接受所有的数据类型,例如声音、图片、视频、文本等等,而传统编程接受的数据类型要看程序员的设置,一般来说只可以接受程序员定义好的数据类型。

基于机器学习的数据选择还可以分为三部分,训练用数据、验证用数据和测试用数据。随着数据的不断累积,反复让之前的简单逻辑与数据结果进行比对,不断修正验证,最终结果会愈趋向正确。而传统编程是基于规则的算法,如果发生错误,那么在被发现之前,该错误会一直重复发生。

处理

基于机器学习的编程中,处理包括知识表示和模式匹配、搜索、逻辑、问题解决和学习。而在传统编程中,需要根据待解决的问题设计程序,并完成字符输入。

机器学习比较常见的3个应用场景分别是:一次性模型,要解决的问题是由上级严格定义的,并且提供了一些小型数据;嵌入模型,里面有许多变量,比如,模型是静态的还是迭代的,是局部的还是通过API远程调用的等等;深度模型,建立用于特定某个领域预测的模型,并通过经验和技巧来提升和证明其准确性。

预测

基于机器学习的编程是基于预测的,而传统编程是基于解释的。基于概率、基于反馈、基于总结,这是机器学习这种经验主义最大的特点,也是与传统程序设计这种基于因果关系的最大不同点。

结论

通过上文对比,基于机器学习的编程在很多方面都胜过传统编程,传统编程更适合于简单的任务,而基于机器学习的编程更适合解决复杂的问题。针对基于机器学习的编程步骤,普华永道也给出了描述,笔者在此贴出来,希望能对大家有用。

普华永道信息图总结的机器学习的主要流程/步骤:

  • 选择数据:这一过程又分为三部分,分别是训练用数据、验证用数据、测试用数据
  • 数据建模:使用训练数据构建涉及相关特征的模型
  • 验证模型:用验证数据验证建立的模型
  • 调试模型:为了提升模型的性能,使用更多的数据、不同的特征,调整参数,这也是最耗时耗力的一步
  • 使用模型:部署模型训练好的模型,对新的数据进行预测
  • 测试模型:使用测试用数据验证模型,并评估模型的性能

参考链接:

转载地址:http://hsecl.baihongyu.com/

你可能感兴趣的文章
冒泡排序
查看>>
javaScript的DOM操作
查看>>
css3效果、js效果合集
查看>>
【可靠性】安规和EMC
查看>>
2014年亚洲赛区西安站赛后反思
查看>>
从图像转换到byte[]数组的几种方法
查看>>
nagios检控硬盘健康状态
查看>>
English Metric Units and Open XML
查看>>
gulp教程之gulp-less
查看>>
C#高级编程第9版 第二章 核心C# 读后笔记
查看>>
NSURLConnection 大文件下载
查看>>
2011年-CUshell编程大赛
查看>>
模式设计
查看>>
print打印页生成及排版样式更改的技巧
查看>>
访问Github过慢解决
查看>>
排序算法演示
查看>>
网上查阅的Modbus协议相关
查看>>
varnish 缓存清除 bansys 使用安装
查看>>
[论文笔记] Designing Games With A Purpose (CACM, 2008)
查看>>
Java SE 之 递归方法
查看>>