5 机器学习之发展历程

所谓“知识就是力量”​。

1965年,Feigenbaum主持研制了世界上第一个专家系统DENDRAL。

机器学习是人工智能(artificial intelligence)研究发展到一定阶段的必然产物。二十世纪五十年代到七十年代初,人工智能研究处于“推理期”​,那时人们以为只要能赋予机器逻辑推理能力,机器就能具有智能。这一阶段的代表性工作主要有A.Newell和H.Simon的“逻辑理论家”(Logic Theorist)程序以及此后的“通用问题求解”(GeneralProblem Solving)程序等,这些工作在当时取得了令人振奋的结果。例如,​“逻辑理论家”程序在1952年证明了著名数学家罗素和怀特海的名著《数学原理》中的38条定理,在1963年证明了全部52条定理,特别值得一提的是,定理2.85甚至比罗素和怀特海证明得更巧妙。A.Newell和H.Simon因为这方面的工作获得了1975年图灵奖。然而,随着研究向前发展,人们逐渐认识到,仅具有逻辑推理能力是远远实现不了人工智能的。E.A.Feigenbaum等人认为,要使机器具有智能,就必须设法使机器拥有知识。在他们的倡导下,从二十世纪七十年代中期开始,人工智能研究进入了“知识期”​。在这一时期,大量专家系统问世,在很多应用领域取得了大量成果。E.A.Feigenbaum作为“知识工程”之父在1994年获得图灵奖。但是,人们逐渐认识到,专家系统面临“知识工程瓶颈”​,简单地说,就是由人来把知识总结出来再教给 计算机是相当困难的。于是,一些学者想到,如果机器自己能够学习知识该多好!
参见(休息一会儿——小故事:​“机器学习”名字的由来)​。

事实上,图灵在1950年关于图灵测试的文章中,就曾提到了机器学习的可能;二十世纪五十年代初已有机器学习的相关研究,例如A.Samuel著名的跳棋程序。五十年代中后期,基于神经网络的“连接主义”(connectionism)学习开始出现,代表性工作有F.Rosenblatt的感知机(Perceptron)、B.Widrow的Adaline等。在六七十年代,基于逻辑表示的“符号主义”(symbolism)学习技术蓬勃发展,代表性工作有P.Winston的“结构学习系统”​、R.S.Michalski等人的“基于逻辑的归纳学习系统”​、E.B.Hunt等人的“概念学习系统”等;以决策理论为基础的学习技术以及强化学习技术等也得到发展,代表性工作有N.J.Nilson的“学习机器”等;二十多年后红极一时的统计学习理论的一些奠基性结果也是在这个时期取得的。

IWML后来发展为国际机器学习会议ICML。
1980年夏,在美国卡耐基梅隆大学举行了第一届机器学习研讨会(IWML);同年,​《策略分析与信息系统》连出三期机器学习专辑;1983年,Tioga出版社出版了R.S.Michalski、J.G.Carbonell和T.Mitchell主编的《机器学习:一种人工智能途径》​[Michalski et al.,1983]​,对当时的机器学习研究工作进行了总结;1986年,第一本机器学习专业期刊Machine Learning创刊;1989年,人工智能领域的权威期刊Artificial Intelligence出版机器学习专辑,刊发了当时一些比较活跃的研究工作,其内容后来出现在J.G.Carbonell主编、MIT出版社1990年的《机器学习:范型与方法》​[Carbonell,1990]一书中。总的来看,二十世纪八十年代是机器学习成为一个独立的学科领域、各种机器学习技术百花初绽的时期。

R.S.Michalski等人[Michalskietal.,1983]把机器学习研究划分为“从样例中学习”​“在问题求解和规划中学习”​“通过观察和发现学习”​“从指令中学习”等种类;E.A.Feigenbaum等人在著名的《人工智能手册》​(第三卷)​[Cohen andFeigenbaum,1983]中,则把机器学习划分为“机械学习”​“示教学习”​“类比学习”和“归纳学习”​。机械学习亦称“死记硬背式学习”​,即把外界输入的信息全部记录下来,在需要时原封不动地取出来使用,这实际上没有进行真正的学习,仅是在进行信息存储与检索;示教学习和类比学习类似于R.S.Michalski等人所说的“从指令中学习”和“通过观察和发现学习”​;归纳学习相当于“从样例中学习”​,即从训练样例中归纳出学习结果。二十世纪八十年代以来,被研究最多、应用最广的是“从样例中学习”​(也就是广义的归纳学习)​,它涵盖了监督学习、无监督学习等,本书大部分内容均属此范畴。下面我们对这方面主流技术的演进做一个简单回顾。

参见(第4章 决策树)​。
这时实际是ILP的前身。
参见(第15章 规则学习)​。

在二十世纪八十年代,​“从样例中学习”的一大主流是符号主义学习,其代表包括决策树(decisiontree)和基于逻辑的学习。典型的决策树学习以信息论为基础,以信息熵的最小化为目标,直接模拟了人类对概念进行判定的树形流程。基于逻辑的学习的著名代表是归纳逻辑程序设计(Inductive Logic Programming,简称ILP)​,可看作机器学习与逻辑程序设计的交叉,它使用一阶逻辑(即谓词逻辑)来进行知识表示,通过修改和扩充逻辑表达式(例如Prolog表达式)来完成对数据的归纳。符号主义学习占据主流地位与整个人工智能领域的发展历程是分不开的。前面说过,人工智能在二十世纪五十到八十年代经历了“推理期”和“知识期”​,在“推理期”人们基于符号知识表示、通过演绎推理技术取得了很大成就,而在“知识期”人们基于符号知识表示、通过获取和利用领域知识来建立专家系统取得了大量成果,因此,在“学习期”的开始,符号知识表示很自然地受到青睐。事实上,机器学习在二十世纪八十年代正是被视为“解决知识工程瓶颈问题的关键”而走上人工智能主舞台的。决策树学习技术由于简单易用,到今天仍是最常用的机器学习技术之一。ILP具有很强的知识表示能力,可以较容易地表达出复杂数据关系,而且领域知识通常可方便地通过逻辑表达式进行描述,因此,ILP不仅可利用领域知识辅助学习,还可通过学习对领域知识进行精化和增强;然而,成也萧何、败也萧何,由于表示能力太强,直接导致学习过程面临的假设空间太大、复杂度极高,因此,问题规模稍大就难以有效进行学习,九十年代中期后这方面的研究相对陷入低潮。

参见(第5章 神经网络

二十世纪九十年代中期之前,​“从样例中学习”的另一主流技术是基于神经网络的连接主义学习。连接主义学习在二十世纪五十年代取得了大发展,但因为早期的很多人工智能研究者对符号表示有特别偏爱,例如图灵奖得主H.Simon曾断言人工智能是研究“对智能行为的符号化建模”​,所以当时连接主义的研究未被纳入主流人工智能研究范畴。尤其是连接主义自身也遇到了很大的障碍,正如图灵奖得主M.Minsky和S.Papert在1969年指出,​(当时的)神经网络只能处理线性分类,甚至对“异或”这么简单的问题都处理不了。1983年,J.J.Hopfield利用神经网络求解“流动推销员问题”这个著名的NP难题取得重大进展,使得连接主义重新受到人们关注。1986年,D.E.Rumelhart等人重新发明了著名的BP算法,产生了深远影响。与符号主义学习能产生明确的概念表示不同,连接主义学习产生的是“黑箱”模型,因此从知识获取的角度来看,连接主义学习技术有明显弱点;然而,由于有BP这样有效的算法,使得它可以在很多现实问题上发挥作用。事实上,BP一直是被应用得最广泛的机器学习算法之一。连接主义学习的最大局限是其“试错性”​;简单地说,其学习过程涉及大量参数,而参数的设置缺乏理论指导,主要靠手工“调参”​;夸张一点说,参数调节上失之毫厘,学习结果可能谬以千里。

参见(第6章 支持向量机)​。

参见习题(6.5 支持向量回归)​。

二十世纪九十年代中期,​“统计学习”(statistical learning)闪亮登场并迅速占据主流舞台,代表性技术是支持向量机(Support Vector Machine,简称SVM)以及更一般的“核方法”(kernel methods)。这方面的研究早在二十世纪六七十年代就已开始,统计学习理论[Vapnik,1998]在那个时期也已打下了基础,例如V.N.Vapnik在1963年提出了“支持向量”概念,他和A.J.Chervonenkis在1968年提出VC维,在1974年提出了结构风险最小化原则等。但直到九十年代中期统计学习才开始成为机器学习的主流,一方面是由于有效的支持向量机算法在九十年代初才被提出,其优越性能到九十年代中期在文本分类应用中才得以显现;另一方面,正是在连接主义学习技术的局限性凸显之后,人们才把目光转向了以统计学习理论为直接支撑的统计学习技术。事实上,统计学习与连接主义学习有密切的联系。在支持向量机被普遍接受后,核技巧(kernel trick)被人们用到了机器学习的几乎每一个角落,核方法也逐渐成为机器学习的基本内容之一。

参见(5.6 深度学习)​。

“过拟合”参见(第2章 模型评估与选择)

有趣的是,二十一世纪初,连接主义学习又卷土重来,掀起了以“深度学习”为名的热潮。所谓深度学习,狭义地说就是“很多层”的神经网络。在若干测试和竞赛上,尤其是涉及语音、图像等复杂对象的应用中,深度学习技术取得了优越性能。以往机器学习技术在应用中要取得好性能,对使用者的要求较高;而深度学习技术涉及的模型复杂度非常高,以至于只要下工夫“调参”​,把参数调节好,性能往往就好。

因此,深度学习虽缺乏严格的理论基础,但它显著降低了机器学习应用者的门槛,为机器学习技术走向工程实践带来了便利。那么,它为什么此时才热起来呢?有两个基本原因:数据大了、计算能力强了。深度学习模型拥有大量参数,若数据样本少,则很容易“过拟合”​;如此复杂的模型、如此大的数据样本,若缺乏强力计算设备,根本无法求解。恰由于人类进入了“大数据时代”​,数据储量与计算设备都有了大发展,才使得连接主义学习技术焕发又一春。有趣的是,神经网络在二十世纪八十年代中期走红,与当时Intel x86系列微处理器与内存条技术的广泛应用所造成的计算能力、数据访存效率比七十年代有显著提高不无关联。深度学习此时的状况,与彼时的神经网络何其相似。

需说明的是,机器学习现在已经发展成为一个相当大的学科领域,本节仅是管中窥豹,很多重要技术都没有谈及,耐心的读者在读完本书后会有更全面的了解。

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

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

相关文章

24/10/14 算法笔记 循环神经网络RNN

RNN: 一种专门用于处理序列数据的神经网络,它能够捕捉时间序列中的动态特征。RNN的核心特点是其循环连接,这允许网络在不同时间步之间传递信息,从而实现对序列数据的记忆和处理能力。 应用的场景: 自然语言处理(NLP&…

关于Python AI 编程助手Fitten Code的应用体验以及Python 修改删除 sys.path 路径以实现两个项目代码的合并

一、关于Python AI 编程助手Fitten Code的应用体验 AI现在无孔不入,现在都开始进入到编程中了,有一个能适用多种编译器环境的AI编程插件 Fitten Code。其适配了 Viusal Studio,VS Code(本文使用),JetBrains 系列(本文使用)以及Vim…

如何使用C#实现Padim算法的训练和推理

目录 说明 项目背景 算法实现 预处理模块——图像预处理 主要模块——训练:Resnet层信息提取 主要模块——信息处理,计算Anomaly Map 主要模块——评估 主要模块——评估:门限值的确定 主要模块——推理 写在最后 项目下载链接 说…

进入 Searing-66 火焰星球:第一周游戏指南

Alpha 第四季已开启,穿越火焰星球 Searing-66,带你开启火热征程。准备好勇闯炙热的沙漠,那里有无情的高温和无情的挑战在等待着你。从高风险的烹饪对决到炙热的冒险,Searing-66 将把你的耐力推向极限。带上充足的水,天…

Java线程的状态以及转换条件,与操作系统线程状态的区别?

先看图增加点记忆。 Java线程状态: 线程状态转换图: 背景知识 JAVA的线程模型与操作系统线程的对应关系是1:1的,线程的调度权是由操作系统控制的。 为什么java的线程状态与操作系统不一致? JVM线程状态:RUNNAB…

【含开题报告+文档+PPT+源码】基于SSM的景行天下旅游网站的设计与实现

开题报告 随着互联网的快速发展,旅游业也逐渐进入了数字化时代。作为一个旅游目的地,云浮市意识到了互联网在促进旅游业发展方面的巨大潜力。为了更好地推广云浮的旅游资源,提高旅游服务质量,云浮市决定开发一个专门的旅游网站。…

【红日安全】vulnstack (一)

🏘️个人主页: 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞👍收藏💗支持一下哦 【红日安全】vulnstack (一) 靶场搭建靶场渗透明确目标信息收集phpadmin后台getshell 靶场搭建 靶场下载…

IP报文格式、IPv6概述

IPv4报文格式 IPv4报文首部长度至少为20字节(没有可选字段和填充的情况下),下面来逐一介绍首部各个字段的含义 Version版本:表示采用哪一种具体的IP协议,对于IPv4来说该字段就填充4以表示,如果是IPv6就填充6IHL首部长度&#xff…

网络资源模板--Android Studio 实现简易计算器App

目录 一、项目演示 二、项目测试环境 三、项目详情 四、完整的项目源码 一、项目演示 网络资源模板--基于Android studio 实现的简易计算器 二、项目测试环境 三、项目详情 动态绑定按钮: 使用循环遍历 buttons 数组,根据动态生成的按钮 ID (btn_0, …

SQL进阶技巧:如何删除第N次连续出现NULL值所存在的行?

目录 0 场景描述 1 数据准备 2 问题分析 问题拓展:如何删除第2次、第3次、第N次连续出现NULL值所在的行? 3 小结 0 场景描述 有下面的场景: 我们希望删除某id中连续存在NULL值的所有行,但是保留第一次出现不为NULL值的以下所有存在NULL值的行。具体如下图所示: 如…

iframe的使用详解

目录 一、基本概念和语法 二、优点 1.内容整合与复用: 2.独立的浏览环境: 3.跨域数据展示: 三、缺点 1.可访问性问题: 2.性能问题: 3.安全风险: 四、替代方案 1.使用JavaScript框架进行组件化开…

Unity开发Hololens项目

Unity打包Hololens设备 目录Visual Studio2019 / Visual Studio2022 远端部署设置Visual Studio2019 / Visual Studio2022 USB部署设置Hololens设备如何查找自身IPHololens设备门户Unity工程内的打包设置 目录 记录下自己做MR相关:Unity和HoloLens设备的历程。 Vi…

大规模多传感器滑坡检测数据集,利用landsat,哨兵2,planet,无人机图像等多种传感器采集数据共2w余副图像,mask准确标注滑坡位置

大规模多传感器滑坡检测数据集,利用landsat,哨兵2,planet,无人机图像等多种传感器采集数据共2w余副图像,mask准确标注滑坡位置 大规模多传感器滑坡检测数据集介绍 数据集概述 名称:大规模多传感器滑坡检测…

Python | Leetcode Python题解之第491题非递减子序列

题目: 题解: class Solution:def findSubsequences(self, nums: List[int]) -> List[List[int]]:def dfs(i, tmp):if i len(nums):if len(tmp) > 2:res.append(tmp[:]) # 拷贝,tmp[:]而非tmpreturn# 选 nums[i]if not tmp or nu…

2d 数字人实时语音聊天对话使用案例;支持asr、llm、tts实时语音交互

参考: https://github.com/lyz1810/live2dSpeek 下载live2dSpeek项目 ## 下载live2dSpeek git clone https://github.com/lyz1810/live2dSpeek cd live2dSpeek-main ## 运行live2dSpeek npm install -g http-server http-server .更改新的index.html页面 index.html

【SQL Server】数据库在新建查询后闪退——解决方案:以管理员的身份运行

我的SQLServer2022之前都是可以用的,隔了好久没有使用,今天要用到去写一些SQL 语句 结果在点击新建查询后闪退了, 经过查询后,解决方案: 以管理员的身份运行后点击新建查询,发现正常了 总结:以…

记一次库版本升级引起程序自动停止

记一次库版本升级引起程序自动停止 最近我们的应用升级了jedis 版本,版本从 2.10.2 升级 到3.8.0。发现我们的任务应用启动后立马自动关闭了。 这就奇怪了,为什么升级个版本,会导致程序启动后自动关闭呢。带着这个疑问我们看下代码。 表现如下&#x…

C语言_指针_进阶

引言:在前面的c语言_指针初阶上,我们了解了简单的指针类型以及使用,下面我们将进入更深层次的指针学习,对指针的理解会有一个极大的提升。从此以后,指针将不再是难点,而是学习底层语言的一把利器。 本章重点…

vr体验馆计时收银软件试用版下载 佳易王VR游戏厅计时计费管理系统使用操作教程

一、前言 【软件试用版资源文件下载可以点击文章最后卡片了解】 vr体验馆计时收银软件试用版下载 佳易王VR游戏厅计时计费管理系统使用操作教程 VR体验馆计时计费软件是专门为VR体验馆设计的管理工具,旨在提高服务效率和客户的满意度。软件能够记录客户使用设备的…

vue组件调用生命周期

《vue基础学习-组件》提到组件传递数据方式: 1. props/$emit 父传子:子组件通过 props 显式声明 自定义 属性,接收父组件的传值。子传父:子组件通过 $emit() 显式声明 自定义 事件,父组件调用自定义事件接收子组件返…