内容简介:在本文开始之前,笔者要和大家分享两个在网络上流行的公式:传统编程的公式:规则 + 数据 = 答案机器学习的公式:答案 + 数据 = 规则
在本文开始之前,笔者要和大家分享两个在网络上流行的公式:
传统编程的公式:规则 + 数据 = 答案
机器学习的公式:答案 + 数据 = 规则
这两个公式中的三个关键词是一模一样的,分别是数据、规则和答案,但是这三个关键词在等号左右的排列位置却不同。从中我们不难看出,机器学习正在改变着整个编程行业。
而这一观点也得到了一些专家的佐证,以网络安全为例,Institute for Critical Infrastructure Technology 高级研究员 James Scott 曾表示,基于签名的恶意软件检测已死,取而代之的是基于机器学习的人工智能,它将成为防御变异哈希最好的方式。
那么,基于机器学习的编程到底与传统编程有哪些不同呢?顾名思义,机器学习大部分工作是由机器来完成的,而传统编程需要 程序员 自己根据具体的问题建模解决。除此之外,基于机器学习的编程比传统编程还强在哪里呢?
输入
首先,两者输入的都是数据,但是能够接受的数据类型不同。基于机器学习的编程基本可以接受所有的数据类型,例如声音、图片、视频、文本等等,而传统编程接受的数据类型要看程序员的设置,一般来说只可以接受程序员定义好的数据类型。
基于机器学习的数据选择还可以分为三部分,训练用数据、验证用数据和测试用数据。随着数据的不断累积,反复让之前的简单逻辑与数据结果进行比对,不断修正验证,最终结果会愈趋向正确。而传统编程是基于规则的算法,如果发生错误,那么在被发现之前,该错误会一直重复发生。
处理
基于机器学习的编程中,处理包括知识表示和模式匹配、搜索、逻辑、问题解决和学习。而在传统编程中,需要根据待解决的问题设计程序,并完成字符输入。
机器学习比较常见的 3 个应用场景分别是:一次性模型,要解决的问题是由上级严格定义的,并且提供了一些小型数据;嵌入模型,里面有许多变量,比如,模型是静态的还是迭代的,是局部的还是通过 API 远程调用的等等;深度模型,建立用于特定某个领域预测的模型,并通过经验和技巧来提升和证明其准确性。
预测
基于机器学习的编程是基于预测的,而传统编程是基于解释的。基于概率、基于反馈、基于总结,这是机器学习这种经验主义最大的特点,也是与传统程序设计这种基于因果关系的最大不同点。
结论
通过上文对比,基于机器学习的编程在很多方面都胜过传统编程,传统编程更适合于简单的任务,而基于机器学习的编程更适合解决复杂的问题。针对基于机器学习的编程步骤,普华永道也给出了描述,笔者在此贴出来,希望能对大家有用。
普华永道信息图总结的机器学习的主要流程 / 步骤:
- 选择数据:这一过程又分为三部分,分别是训练用数据、验证用数据、测试用数据
- 数据建模:使用训练数据构建涉及相关特征的模型
- 验证模型:用验证数据验证建立的模型
- 调试模型:为了提升模型的性能,使用更多的数据、不同的特征,调整参数,这也是最耗时耗力的一步
- 使用模型:部署模型训练好的模型,对新的数据进行预测
- 测试模型:使用测试用数据验证模型,并评估模型的性能
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First HTML5 Programming(中文版)
埃里克•弗里曼 (Eric Freeman)、伊丽莎白•罗布森 (Elisabeth Robson) / 中国电力出版社 / 2012-9 / 78.00元
《Head First HTML5 Programming(中文版)》内容简介:你可能想创建具有动态性、交互性、包含丰富数据而且互连的Web页面。先等一下,Web页面?为什么不用HTML5创建成熟的Web应用呢?另外,为什么不使用现代技术,像在移动设备上一样轻松地应用到桌面浏览器呢?当然,你肯定希望使用最新的HTML5技术来完成,比如地理定位、视频、2D绘制、Web存储、Web工作线程等,是不是?......一起来看看 《Head First HTML5 Programming(中文版)》 这本书的介绍吧!