读人工智能全传05专家系统

news/2024/10/5 20:46:37/文章来源:https://www.cnblogs.com/lying7/p/18285645

1. 知识就是力量

1.1. 人工智能领域此前存在的问题是过度关注搜索和解决问题这种通用法则

1.2. “弱”方法缺少一个关键的要素,而这一要素才是在所有智能行为中起决定性作用的组成部分:知识

1.3. 一种基于知识的人工智能系统:专家系统开始出现,它能利用人类专业的知识来解决特定的、狭义领域的问题

1.3.1. 专家系统提供的证据证明,人工智能在完成某些特定领域的任务方面远胜人类,更重要的是,它们首次向人们证明,人工智能可以应用于商业领域

1.3.2. 基于知识的人工智能系统可以向广大受众传授相关的技术,这一代的人工智能研究毕业生决心把他们的知识应用在此领域

1.3.3. 专家系统与通用人工智能不同,它的目标是解决非常狭义、非常具体的问题,解决这类问题通常需要相当专业的知识

1.3.3.1. 能够解决这类专业问题的人类专家都需要花费极长的时间来学习相关知识,而这类专家相当稀少

2. MYCIN

2.1. 一个经典的专家系统

2.1.1. 当年最著名的专家系统之一

2.1.2. 在20世纪70年代出现的第一代专家系统中,最具代表性的可能就是MYCIN系统了

2.1.3. 知识库已经包含了数百条规则

2.2. 它试图利用人类专家的知识来解决有史以来最大的难题:通用人工智能

2.3. 将看到研究人员如何利用数学逻辑的强大和精准性,试图建立更丰富的获取知识的方法,以及为何这个目标最终也落空了

2.4. MYCIN系统首次证明,人工智能在某些重要的领域表现可以优于人类专家,它为后来无数的专家系统提供了模板

2.5. MYCIN本来是用于辅助医疗的系统,为人类血液疾病的诊断提供专业建议

2.5.1. 在血液疾病诊断方面,MYCIN的表现与人类专家相当,并且高于普通医生的平均水平

2.5.2. 这是人工智能系统首次在具有实际意义的任务中展示出人类专家级或以上的能力

2.6. 项目成功的一大要素就在于,专家系统是由真正的人类专家参与建设的

2.6.1. 有许多专家系统都宣告失败,因为它们缺乏了相关领域人类专家的必要支持

2.7. 它包含了后来的专家系统必不可少的所有关键特性

2.7.1. MYCIN的系统操作和人类专家进行交互类似——向用户提出一系列问题,并且记录用户的响应

2.7.1.1. 成为专家系统的标准模型,而MYCIN的主要功能——诊断——则成为专家系统的标准任务

2.7.2. MYCIN的推理是可以还原和解释的

2.7.2.1. 推理透明度的问题在人工智能应用方面有时极其重要

2.7.2.2. 解释和证明人工智能建议的合理性是非常有必要的

2.7.2.3. 经验表明,作为“黑盒”运行的系统,如果没有能力证明其建议的合理性,就会受到用户的严重质疑

2.7.2.4. MYCIN至关重要的能力是它可以明确给出得出这一结论的原因,它是通过一系列推理链来得出最终结论的,即那些被触发的规则和触发规则的信息,都是有迹可寻的

2.7.3. MYCIN能够应对不确定性

2.7.3.1. 有些时候用户向系统提供的信息并不是完全真实和准确的

2.7.3.2. 应对和处理不确定性是对专家系统及人工智能系统的一个普遍要求,在MYCIN这样的系统中,极少根据某个单一的特性就得出明确结论的规则

2.7.3.3. 为了能够做出准确的判断,专家系统需要以某种更保险的方式来考虑症状信息

3. 使用规则获取人类专家知识

3.1. 启发式方法作为一种将解决问题的重点放在有希望的方向上的方法,在黄金年代被广泛应用

3.2. 人工智能系统应该明确地获取和展示人类解决某类问题的专业知识

3.3. 最常见的方案是基于规则的,被称为知识表述

3.3.1. 人工智能环境下,一条规则以“如果……那么……”的形式获取离散的知识块

3.3.2. 该规则中的条件是“该动物能飞,该动物能产卵”,结论就是“它是鸟类”

3.3.3. 如果我们当前所掌握的信息与条件项相匹配,那么规则就会被触发,我们就能根据这条规则得出结论

3.4. 知识库包含系统所拥有的知识:那些规则

3.4.1. 工作存储器则包含了系统拥有的,有关当前正在解决的问题信息

3.4.2. 推理机则是专家系统的一个重要组成部分,它负责在解决问题的时候应用系统内存储的知识

3.4.3. 只要给定知识库,推理机就能够以两种方式运行

3.4.3.1. 正向推理

3.4.3.1.1. 从数据推理到结论
3.4.3.1.2. 用户向系统提供他们所知道的有关问题的信息,推理机会根据用户提供的信息,应用规则去获取尽可能多的新信息,这个过程叫作规则触发
3.4.3.1.3. 推理机将触发规则以后获得的新信息添加到工作存储器中,继续查看是否有新的规则被触发,然后不断重复这个过程,直到彻底无法通过已知信息应用更多规则得出更多新信息为止

3.4.3.2. 反向推理

3.4.3.2.1. 从想建立的结论开始,反向推理出数据

3.5. 20世纪80年代,工业界开始意识到,知识体系,尤其是专业知识,是可以培育和发展的重要资产,可以带来高额利润

3.6. 人工智能的再次繁荣不仅仅是MYCIN、DENDRAL等案例成功的故事,更重要的是,专家系统赋予了人工智能另一种可能性

3.7. 知识工程师

3.7.1. 一个全新的职业

3.7.2. 构建一个专家系统似乎比传统编程还容易一些

3.7.3. 1983年,英国政府发起了一场雄心勃勃的计算机技术研究资助计划,名叫“阿尔维计划”,计划的核心就是发展人工智能

3.7.3.1. “基于知识的智能系统”

4. DENDRAL

4.1. 世界上第一例成功的专家系统

4.2. 它也使费根鲍姆成为知识型系统最著名的倡导者之一,并被人们尊称为“专家系统之父”

4.3. DENDRAL的开发目的是帮助化学家根据质谱仪提供的信息来确定化合物的成分及结构

4.4. 在20世纪80年代中期,每天有成百上千的人在使用DENDRAL

4.5. DENDRAL项目证明专家系统是可用的,MYCIN证明它可以在专业领域胜过人类专家,R1/XCON证明了它有商用价值

5. 基于逻辑的人工智能

5.1. 虽然规则成为专家系统获取人类知识的主要方法,但也有大量其他方案存在

5.2. 脚本的知识展示方案

5.2.1. 该方案基于一种关于人类理解能力的心理学理论建立,理论指出,我们的行为部分受刻板印象模式(即“脚本”)支配,我们也用这些模式来理解世界

5.3. 语义网

5.3.1. 它非常直观、自然,在当今社会,也经常被重新定义

5.3.2. 事实上,如果让你去发明一个知识表述方案,你很有可能做出类似的产品

5.4. 在以知识为基础的人工智能兴起时,似乎每一个人都有自己的知识表述方案,而且跟其他人的不兼容

5.5. 虽然专家系统事实上的知识表述方式是基于规则的,但在知识表述方面,研究人员仍然有不少困扰

5.5.1. 规则太简单,无法获取复杂环境下的相关知识

5.5.1.1. MYCIN系统的规则就不适用于会随时间变化的环境,也不适用于多个用户(不管是人类还是人工智能)的环境,或者实际状态存在各种不确定性的环境

5.5.2. 用于专家系统获取知识的各种方案似乎都有些武断,研究人员希望能了解专家系统中的知识实际上意味着什么,并确保系统进行的推理是可靠的

5.5.2.1. 为基于知识的专家系统提供合适的数学基础

5.6. 用逻辑作为知识表述的统一方案

5.6.1. (完备的)推理

5.6.2. (不完备的)推理

5.7. 逻辑告诉我们怎样正确地从前提中得出结论,这个过程被称为演绎

5.8. 三段论是古希腊哲学家亚里士多德(Aristotle)提出的,1000多年以来,三段论为逻辑分析提供了主要框架

5.8.1. 它能展示的逻辑推理形式十分有限,不适合许多复杂形式的论证

5.9. 德国的戈特洛布·弗雷格(Gottlob Frege)发展了普通的逻辑演算,为世人第一次展现了类似现代数理逻辑框架的东西

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

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

相关文章

副本集要点

oplog 中的每个操作都是幂等的。也就是说,无论对目标数据集应用一次还是多次,oplog 操作都会产生相同的结果。 Oplog大小当您第一次启动副本集成员时,如果您未指定 oplog 大小,MongoDB 将创建默认大小的 oplog。默认 oplog 大小取决于存储引擎: 存储引擎默认 Oplog 大小Wi…

副本集

MongoDB 中的副本集是一组mongod提供冗余和高可用性的进程。副本集的成员包括: 主服务器接收所有写操作。 主节点是副本集中唯一接收写入操作的成员。MongoDB 在主节点上应用写入操作,然后将操作记录在主节点的oplog上。辅助成员复制此日志并将操作应用于其数据集。副本集的所…

06.函数

Go 语言中的函数是代码组织和复用的基础,函数的定义和调用非常简单明了。下面是 Go 语言中函数的基础语法和一些关键概念: 函数的定义 在 Go 语言中,函数的定义包括函数名、参数列表、返回值类型和函数体。语法格式如下:func 函数名(参数列表) 返回值类型 {函数体 } 示例 下…

第一周学习总结

暑假第一周,经过短暂的调整,我进入到了Java语言的学习中。通过这一周的学习,在《疯狂Java讲义》与B站黑马程序员课程的帮助下,我初步了解了Java这门编程语言。以下是我对这周学习的总结: 1.学习使用CMD 学会了使用Win+R输入cmd打开CMD窗口,学习了一些常见CMD指令(如dir,…

Aide插件

aide/docs/configuration/README_CN.md at master nicepkg/aide GitHub VSCode代码阅读神器正式发布_哔哩哔哩_bilibili 结合chatgpt实现多种功能,包含代码一键生成逐行翻译、多种编程语言之间的转换等功能,对于接手大型工程的朋友们比较友善。 在安装、运行的过程中自己遇…

如何返回“无法访问此网站,网页可能暂时无法连接,或者它已经永久性地移动到了新网址”

测试网址:https://apd-vlive.apdcdn.tc.qq.com/vhqts.tc.qq.com/AH06mhzdlI9B9pSNWNcCQ3qMPITV0Kvp7M9y38FV4acs/B_tRCdt2L6hl1ezG-aht1_p5_cq9aDE5woqbhlSZqo2k-426BaS8_TYPecOQIueTdj/svp_50112/KVzxIc_QsMTArbayBuac_YlujjBVGNK2tuYZLHLdMFhy2_PHwGTGHd8PTpwBeJf4V8Ol2Ejdk…

05.循环

for循环for 的条件里不需要括号 for 的条件里可以省略初始条件,结束条件,递增表达式将整数转换为字符串:package mainimport ("fmt""strconv" )func convertToBin(n int) string {//将整数转换为二进制result := ""for ; n > 0; n /= 2 {l…

使用 Kotlin 语言开发 NeoForge 模组

前言 Kotlin 是由 JetBrains 推出的一门基于 JVM 平台的编程语言,引入了许多不同于 Java 的先进概念以及语法糖,极大地提高了开发人员的编程效率,广受各路 Java 开发者推崇。但由于 NeoForge 官方并未就使用 Kotlin 开发模组提供支持,使得精通 Kotlin 的开发者未能使用所擅…

华为od面经(C++)

华为od面经(C++) 流程 5.20 机试 5.21 性格测试(从性格测试到HR面隔了一个月,期间在准备技术面) 6.20 HR面试 6.25 上午11:00 技术一面 6.25 下午6:00 技术二面 6.27 主管面 机考 100分:剩余银饰的重量,字符串序列判定,200分:数组排列求和。前两道题很简单,当时数组排…

算法金 | 一个强大的算法模型,GPR !!

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」抱个拳,送个礼 高斯过程回归(GPR)是一种非参数化的贝叶斯方法,用于解决回归问题。与传统的线性回归模型不同,GPR 能够通过指定的核函数捕捉复杂的非线性关系,并提…