🤵♂️ 个人主页: @AI_magician
📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。
👨💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱🏍
🙋♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)
摘要: 本系列旨在普及那些深度学习路上必经的核心概念,文章内容都是博主用心学习收集所写,欢迎大家三联支持!本系列会一直更新,核心概念系列会一直更新!欢迎大家订阅
该文章收录专栏
[✨— 《深入解析机器学习:从原理到应用的全面指南》 —✨]
知识表示方法
知识是一个抽象的术语,尝试描述人对某种特定对象的理解。根据不同任务和不同的知识类型,有不同的知识表示方法,对应这许多不同的方法和技术可供选择(不同知识表示方法,在求解问题方法和效率也不太同,需要考虑)。以下是一些常见的知识表示方法极少(需要注意的是这里的知识表示方法,不仅仅是面对现在主流大热的人工智能方向,几乎是包含了全部的人工智能方向,机器智能其实就是我们日常解决的问题,例如八数码问题、圆盘梵塔难题都可以很好求解,这种方法论在面对数据结构与算法中也是非常有效的,可以说是秘籍)
名称 | 介绍 | 实际案例 |
---|---|---|
状态空间法(State Space Representation) | 状态空间法是一种基于状态和操作的知识表示方法,常用于解决问题求解和规划的任务。在状态空间中,问题被表示为一组可能的状态和转换操作。每个状态表示问题的某个特定情况,而操作表示从一个状态到另一个状态的转换。通过定义状态和操作之间的关系,可以进行搜索或规划来找到问题的解决方案。状态空间法适用于涉及状态转换和路径搜索的问题。 | 例如,迷宫问题可以使用状态空间法来表示。每个状态表示迷宫的特定位置,操作表示在迷宫中移动的动作。通过搜索路径来找到从起点到终点的解决方案。 |
问题归约法(Problem Reduction) | 问题归约法是一种将复杂问题转化为相对简单问题的知识表示方法。在问题归约中,复杂问题被分解为一系列更小、更易解决的子问题。每个子问题可以使用已有的解决方法来解决,然后将这些解决方案组合起来解决原始问题。问题归约法有助于简化复杂问题的求解过程,并利用已有的解决方案来解决新问题。 | 例如,旅行推销员问题可以使用问题归约法来解决。该问题可以分解为多个子问题,例如确定城市之间的最短路径和选择下一个要访问的城市。每个子问题可以使用已有的路径搜索算法和决策方法来解决,然后将它们组合起来得到整体的解决方案。 |
谓词/符号逻辑(Symbolic Logic) | 符号逻辑是一种基于形式化逻辑的知识表示方法。它使用符号和规则来表示和推理关于世界的知识。符号逻辑适用于处理明确和确定的知识。 | 例如,专家系统使用符号逻辑来表示和推理关于特定领域知识的规则,如医疗诊断和法律推理。 |
语义网络(Semantic Networks) | 语义网络使用节点和连接线的图形结构来表示知识。节点表示实体或概念,连接线表示它们之间的关系。语义网络可以表示丰富的语义关系。 | 例如,WordNet是一个语义网络,用于表示单词之间的同义词、上位词和下位词等关系。 |
产生式规则(Production Rules) | 产生式规则采用“如果-那么”形式的规则表示知识。每个规则包含条件部分和动作部分。当条件部分匹配时,执行相应的动作。 | 例如,专家系统中的规则库使用产生式规则来推理和解决问题,如诊断疾病和故障排除。 |
本体技术(Ontology) | 本体是一种形式化的知识表示方法,用于描述实体之间的概念和关系。本体使用类、属性和关系来定义领域的概念和属性。 | 例如,医学领域的本体可以定义疾病、症状和治疗方法之间的关系,以支持医学知识的共享和推理。 |
向量空间模型(Vector Space Model) | 向量空间模型将文本或概念表示为高维向量空间中的向量。向量之间的距离和相似度捕捉了文本或概念之间的关系。 | 例如,文本分类任务中使用的词袋模型将文本表示为向量,以便进行分类和聚类。 |
神经网络(Neural Networks) | 神经网络是一种模仿人脑神经系统结构和功能的知识表示方法。它通过学习从输入到输出的映射关系来表示知识。 | 例如,卷积神经网络(CNN)用于图像识别任务,循环神经网络(RNN)用于自然语言处理和语音识别任务。 |
图神经网络(Graph Neural Networks) | 图神经网络是一种用于处理图数据的神经网络。它学习节点之间的关系和图的结构来表示知识。 | 例如,社交网络分析中使用的图神经网络可以推断社交关系和预测用户行为。 |
状态空间法(State Space Representation)
这里以传教士与野人的问题为例:
设有3个传教士和3个野人来到河边,打算乘一条船从右岸渡到左岸去。该船的负载能力为两人。在任何时候,如果野人人数超过传教士人数,那么野人就会把传教士吃掉。如何用状态空间法来表示该问题?给出具体的状态表示和算符。
根据状态空间法,我们首先需要定义其对于状态,而后定义操作。
在这个问题中,我们可以使用状态空间搜索来解决。我们可以用一组状态来表示传教士和野人在不同岸边的位置。
状态表示:
- 用
(M, C, B)
表示一个状态,其中M
表示右岸的传教士数量,C
表示右岸的野人数量,B
表示船的位置,B = 0
表示船在右岸,B = 1
表示船在左岸。
算符表示:
(m, c)
: 将m个传教士和c个野人从右岸乘船到左岸,。前提条件是 m + c <= 2
。
这些算符表示了允许的合法移动,同时满足传教士和野人数量的限制条件。通过在状态空间中搜索,我们可以找到一条路径,使得所有传教士和野人都能安全地从右岸渡到左岸。
参考:
再举一个例子
利用下图,用状态空间法规划一个最短的旅行路程:此旅程从城市 A 开始,访问其他城市不多于一次,并返回 A。选择一个状态表示,表示出所求得的状态空间的节点及弧线,标出适当的代价,并指明图中从起始节点到目标节点的最佳路径。
用 (M, C, B)
表示一个状态,其中 M
表示初始城市,C
表示目标城市,B
表示距离。
需要找到从起始节点A到目标节点A的最佳路径。这可以通过应用最短路径算法(例如迪杰斯特拉算法或暴力枚举算法)来实现,平时用迪杰斯特拉算法即可。
语义网络(Semantic Networks)
由奎廉(Quillian)于1968年提出,作为描述人类联想记忆的一种心理学模型。
语义网络的结构定义
语义网络是知识的一种图解表示,它由节点和弧线或链线组成。节点用于表示实体、概念和情况等,弧线用于表示节点间的关系。
我们根据以下这个例子简单讲解
把下列语句表示成语义网络描述:
(1) All men are mortal.
(2) Every cloud has a silver lining.
(3) All branch managers of DEC participate in a profit-sharing plan.
下面是将给定语句表示为语义网络的描述:
(1) All men are mortal.
语义网络描述:
- 点(节点):人(Men)
- 连接(关系):无
- 属性(特征):有生命(Mortal)
(2) Every cloud has a silver lining.
语义网络描述:
- 点(节点):云(Cloud)、边(Lining)
- 连接(关系):有(has)
- 属性(特征):颜色(Silver )
20231209161952067.png&pos_id=img-HX73n9yg-1702303103474)
(3) All branch managers of DEC participate in a profit-sharing plan.
语义网络描述:
- 点(节点):经理(Managers)、计划(plan)
- 连接(关系):参与(participate in)
- 属性(特征):DEC、利润分享(Profit-sharing)、分支(Branch )
请注意,语义网络描述的形式可以有所不同,上述描述仅提供了一种可能的表示方法。
🤞到这里,如果还有什么疑问🤞
🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩
🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳