1、什么是人工智能(AI)?人工智能的研究目标是什么?
人工智能定义与目标
人工智能通常被定义为通过人工手段和技术来模仿、扩展和增强人类智能以制造智能机器的科学与工程。
研究目标
人工智能的研究目标是构建人类水平的人工智能,长期目标是用机器智能取代人类大脑的工作,实现社会生产的自动化和智能化,推动知识密集型经济的大发展。
2、简要介绍人工智能发展历史中的主要阶段
在人工智能发展历史中,20世纪80年代是繁荣发展阶段。当时专家系统应用愈发广泛,专家系统开发工具出现,工业人工智能蓬勃发展。
1982年
,日本国际贸易和工业部发起第五代计算机系统项目,极大推动了人工智能发展。
许多国家也制定了类似研究计划。
中国
启动了作为863国家高技术计划的智能计算机系统研究。
过去60多年来,人工智能研究取得了很大进展,提出了以下理论:
启发式搜索策略
非单调推理
机器学习
其应用也促进了相关研究,包括:
专家系统
智能决策
智能机器人
自然语言理解
目前,基于知识和信息处理的知识工程是人工智能的显著特征。
然而,人工智能研究也面临诸多阻碍:
一些先驱早期的乐观预期至今未完全实现。
一些关键技术如机器学习、非单调推理等未取得突破性进展。
一些基本理论仍需改进。
总体而言,人工智能研究仍处于智能科学的第一阶段。
3、什么是符号智能?什么是计算智能?
符号智能是传统的符号人工智能,是研究知识表示、获取和推理过程的物理符号系统的基础。利用知识解决问题是一个基本概念,也是当前符号智能的最重要特征,所以人们常把现阶段的人工智能知识称为
工程
。
知识工程研究
强调知识信息处理方法和技术,推动了人工智能的发展。
计算智能
包括以下方向:
神经计算
模糊系统
遗传算法
进化规划
4、默认理论中默认规则是如何表示的?存在哪些表示形式?
在默认理论中,默认规则有以下两种表示形式:
一是公式 (2.1) 的形式:
α(x):Mβ1(x),…,Mβm(x)W(x)α(x):Mβ1(x),…,Mβm(x)W(x)
二是公式 (2.2) 的形式:
α(x):Mβ1(x),…,Mβm(x)→W(x)α(x):Mβ1(x),…,Mβm(x)→W(x)
其中:
$ x $ 是参数向量
$ alpha(x) $ 称为默认规则的前提条件
$ W(x) $ 是结论
$ eta_i(x) $ 是默认条件
$ M $ 是默认运算符
默认规则应理解为“如果前提条件 $ alpha(x) $ 成立,并且假设 $ eta_1(x), dots, eta_m(x) $ 是一致的,那么可以推断结论成立”。
例如
:
默认规则
bird(x):M flies(x)flies(x)bird(x):M flies(x)flies(x)
它表示:如果 $ x $ 是一只鸟,并且假设 $ x $ 能飞是一致的,那么可以推断 $ x $ 能飞。
5、默认理论是一个二元组 T = ⟨W, D⟩,其中 D 是一组默认规则,W 是一组封闭公式。用这样的默认理论来表示以下句子。(1) 一些软体动物有壳。(2) 头足类动物是软体动物。(3) 并非所有头足类动物都有壳。
首先,定义一些谓词:
$ Mollusk(x) $:表示 $ x $ 是软体动物。
$ Shell(x) $:表示 $ x $ 有壳。
$ Cephalopod(x) $:表示 $ x $ 是头足类动物。
然后确定集合 $ W $ 和 $ D $:
集合 $ W $(封闭公式集合)
“一些软体动物有壳” 可以表示为
∃x(Mollusk(x)∧Shell(x))∃x(Mollusk(x)∧Shell(x))
“头足类动物是软体动物” 可以表示为
∀x(Cephalopod(x)→Mollusk(x))∀x(Cephalopod(x)→Mollusk(x))
“并非所有头足类动物都有壳” 可以表示为
¬∀x(Cephalopod(x)→Shell(x))¬∀x(Cephalopod(x)→Shell(x))
等价于
∃x(Cephalopod(x)∧¬Shell(x))∃x(Cephalopod(x)∧¬Shell(x))
所以,
W = left{
egin{aligned}
&exists x , (Mollusk(x) land Shell(x)),
&forall x , (Cephalopod(x)
ightarrow Mollusk(x)),
&exists x , (Cephalopod(x) land
eg Shell(x))
end{aligned}
ight}W = left{ egin{aligned} &exists x , (Mollusk(x) land Shell(x)), &forall x , (Cephalopod(x)
ightarrow Mollusk(x)), &exists x , (Cephalopod(x) land
eg Shell(x)) end{aligned}
ight}
集合 $ D $(默认规则集合)
由于题目中没有额外关于默认规则的提示信息,这里可以不设置默认规则,即
D=∅D=∅
综上,该默认理论为
T = langle W, D
angle = leftlangle
left{
egin{aligned}
&exists x , (Mollusk(x) land Shell(x)),
&forall x , (Cephalopod(x)
ightarrow Mollusk(x)),
&exists x , (Cephalopod(x) land
eg Shell(x))
end{aligned}
ight}, emptyset
ight
angleT = langle W, D
angle = leftlangle left{ egin{aligned} &exists x , (Mollusk(x) land Shell(x)), &forall x , (Cephalopod(x)
ightarrow Mollusk(x)), &exists x , (Cephalopod(x) land
eg Shell(x)) end{aligned}
ight}, emptyset
ight
angle
6、Represent the following situations with the truth maintenance system: (1) It is now summer. (2) The weather is very humid. (3) The weather is very dry.
The situations can be represented with the following SL justifications:
(1) It is now summer. (SL ( ) ( ))
This means the IN-list and OUT-list of the SL justification of node (1) are all empty, so the justification of node (1) is always valid and node (1) will always be an IN-node (a premise).
(2) The weather is very humid. (SL (1) (3))
This indicates that the condition for node (2) to be believed is that node (1) is an IN-node and node (3) is an OUT-node.
(3) The weather is very dry.
There is no specific justification given for this node, but it is used in the OUT-list of node (2)’s justification.
7、如何通过真值维护系统来维护知识库的一致性?请举例说明。
# 真值维护系统(TMS)知识库一致性维护方式
真值维护系统(TMS)通过以下方式维护知识库的一致性:
## 1. 基本数据结构与操作
TMS有两个基本数据结构,即代表信念的节点和代表信念理由的理由(justifications)。TMS支持一些基本操作,如创建新节点、为节点添加或撤销理由、将节点标记为矛盾。
当节点被标记为矛盾时,TMS会调用真值维护程序对信念集进行必要的修订。例如,在一个关于天气的知识库中,若有节点代表“今天会下雨”,当发现新的气象数据与该节点所依赖的假设矛盾时,TMS可以将该节点标记为矛盾。
## 2. 定位需更新的节点
TMS通过找到那些有根据的论证依赖于已改变节点的节点来定位需要更新的节点集。
例如,若“今天会下雨”这个节点的理由依赖于“云层很厚”这个节点,而“云层很厚”这个节点的状态发生了改变(如发现云层其实很薄),那么“今天会下雨”这个节点就需要被检查和更新。
## 3. 依赖导向回溯
当定位到矛盾节点后,TMS会进行依赖导向回溯,分析矛盾节点的有根据的论证,然后根据“定位”和“删除”论证中出现的假设来消除矛盾。
例如,若“今天会下雨”和“今天不会下雨”这两个节点同时存在且构成矛盾,TMS会回溯分析它们的理由,找出导致矛盾的假设,如某个气象模型的假设不准确,然后删除该假设,从而消除矛盾。
## 4. 理由的表示与有效性判断
节点可能有多个理由,每个理由代表相信该节点的不同原因。一个节点被相信当且仅当它至少有一个有效的理由,即至少有一个理由可以从当前知识库中推导出来。
例如,对于“今天会下雨”这个节点,其理由可能是“SL((云层很厚)(无))”,表示当云层很厚且没有其他相反证据时,相信今天会下雨。如果当前知识库中有证据表明云层并不厚,那么这个理由就无效,TMS可能会更新该节点的状态。
## 5. 节点类型与状态
节点分为IN-节点(至少有一个有效理由)和OUT-节点(没有有效理由)。每个命题有四种状态,如对于命题p,有p的IN-节点、p的OUT-节点、¬p的IN-节点和¬p的OUT-节点。
通过对节点类型和状态的管理,TMS可以确保知识库的一致性。例如,若“今天会下雨”是IN-节点,而“今天不会下雨”是OUT-节点,当新的证据出现导致“今天不会下雨”有了有效理由时,“今天会下雨”可能会变为OUT-节点,从而维护知识库的一致性。
## 6. 理由的维护
TMS记录推导的理由,新事实的加入可能使一些现有假设不再成立,通过维护理由可以废除那些不再成立的假设。
例如,在一个约束满足问题(CSP)中,当为变量分配值时会创建该值的理由,若新的事实表明该值不再合理,TMS会更新或删除该理由,以维护知识库的一致性。
8、描述逻辑的基本元素有哪些?
Description Logic
There are two essential elements, i.e.,
concept
and
role
, in description logic.
Concept
: Interpreted as a subclass of the domain.
Role
: Represents the interrelation between individuals; it is a kind of binary relation of the domain set.
Knowledge Base
A knowledge base ($ K = langle T, A
angle $) in certain domains consists of:
TBox (T)
: A finite set of subsumption assertions, also called terminological knowledge.
ABox (A)
: A finite set of instance assertions.
Components of Description Logic
Description logic consists of:
Constructors
:
– Represent concepts and roles.
TBox subsumption assertion
ABox instance assertion
Reasoning mechanism
:
– For processing both TBox and ABox.
9、编写约束传播AC – 1和AC – 3算法,并比较它们之间的异同点。
算法编写
AC – 1算法
Algorithm 3.3 (Constraint Propagation Algorithm AC - 1 (Mackworth, 1977)).
procedure AC - 1
Q ← {(Vi,Vj) ∈ arcs(G), i ≠ j};
repeat
CHANGE ← false;
for each (Vi,Vj) ∈ Q do
CHANGE ← REVISE(Vi,Vj) ∨ CHANGE;
endfor;
until not(CHANGE);
end AC - 1
AC – 3算法
Algorithm 3.4 (Constraint Propagation Algorithm AC - 3 (Mackworth, 1977)).
procedure AC - 3
Q ← {(Vi,Vj) ∈ arcs(G), i ≠ j};
while Q not empty
select and delete any arc (Vk,Vm) from Q;
if (REVISE(Vk,Vm)) then
Q ← {(Vi,Vk) such that (Vi,Vk) ∈ arcs(G), i ≠ k, i ≠ m}
End if;
End while;
end AC - 3
异同点比较
相同点
目标相同
:AC – 1和AC – 3算法的目标都是为整个约束网络获得弧一致性。
初始步骤相同
:两个算法都从将所有弧
(Vi, Vj)
(其中
i ≠ j
)加入队列
Q
开始。
不同点
修订策略不同
:
AC – 1
:每次成功修订后,下一次迭代会强制对所有弧进行重新修订,即使只有一小部分弧受到影响。
AC – 3
:仅对那些可能受前一次修订影响的弧进行重新修订,提高了效率。
效率不同
:AC – 1由于每次迭代都要对所有弧进行修订,效率相对较低;而AC – 3只处理可能受影响的弧,避免了不必要的修订,效率更高。
10、描述一些选择先验分布的标准。
先验分布的选择方法
选择先验分布有两种常见方法,即
主观方法
和
客观方法
。
主观方法
:利用人类经验和专家知识来指定先验分布。
客观方法
:通过分析数据的特征来获取数据的统计特征,这需要有足够的数据量来得到数据的真实分布。
在实践中,这两种方法通常会结合使用。
先验分布的分类
无信息先验分布
:若对先前信息一无所知,则对应的分布称为无信息先验分布。
有信息先验分布
:若已知分布并寻求其合适的参数,则对应的分布称为有信息先验分布。
由于从数据中学习是数据挖掘的最基本特征,
无信息先验分布
是贝叶斯学习理论研究的主要对象。
11、在朴素贝叶斯分类中,“朴素”是什么意思?简要说明改进朴素贝叶斯分类的主要思路。
在朴素贝叶斯学习模型中,“朴素”指的是假设在给定决策变量的情况下,特征向量中的所有特征都是相互独立的,即每个特征对决策变量的影响是独立的。改进朴素贝叶斯分类的主要思路是放宽变量之间独立性的限制,使得模型能够更广泛地应用。
12、Describe the structure of Bayesian network and its construction and exemplify the usage of a Bayesian network.
Structure of Bayesian Network
A Bayesian network uses a directed acyclic graph (DAG) to express causality between variables. When the structure of a Bayesian network is undetermined, we can learn both the network structure and the probabilities from data. We define a discrete variable to represent the uncertainty of network structure, and its states correspond to all possible network structure hypotheses $ S_h $. We set its prior as $ p(S_h) $, and for a given random sample $ D $ from the physical distribution of $ X $, we calculate the posterior probability $ p(S_h|D) $ and $ p( heta_S|D, S_h) $ (where $ heta_S $ is a parameter vector) to compute the interested expectations.
Construction of Bayesian Network
General construction
: Constructing a Bayesian network often requires considerable computation. However, for some problems like naïve Bayesian classification, using conditional independence can largely reduce computation without much precision loss.
When sample data are incomplete
: Except for some special cases, we need approximation methods such as the Monte Carlo method, Gaussian approximation, EM algorithm to find maximum likelihood (ML) or maximum a posteriori (MAP). These algorithms are mature but have a large computational cost.
Learning the network structure
: Under the pre-condition of unrestricted multinomial distribution, parameter independence, Dirichlet prior, and complete data, the parameter vector $ heta_{ij} $ can be updated independently. The marginal likelihood of data is the multiplication of marginal likelihoods of each $ i-j $ pair, as given by the formula
p(D|Sh)=∏i=1n∏j=1qiΓ(αij)Γ(αij+Nij)⋅∏k=1riΓ(αijk+Nijk)Γ(αijk)p(D|Sh)=∏i=1n∏j=1qiΓ(αij)Γ(αij+Nij)⋅∏k=1riΓ(αijk+Nijk)Γ(αijk)
proposed by Cooper and Herskovits in 1992.
Example of Usage
One example is naïve Bayesian classification. In this application, conditional independence assumptions are used. By assuming that features are conditionally independent given the class label, the computation required for classification can be greatly reduced without a significant loss of precision. For instance, in spam email classification, different words in an email can be considered as features. Using a naïve Bayesian classifier (a simple form of Bayesian network), we can classify an email as spam or non-spam based on the probabilities of these words appearing in spam and non-spam emails.
13、提供一种简单的方法来构建一个团树,以确保给定的一组变量Y能一起出现在某个团中。你的算法应将标准的团树构建算法作为一个黑箱使用。
以下是一个利用标准团树构建算法作为黑箱,确保给定变量集合Y一起出现在某个团中的简单方法:
添加辅助变量和边
:
在原始图模型中添加一个新的辅助变量Z。
将辅助变量Z与集合Y中的每个变量相连。
运行标准团树构建算法
:
使用标准的团树构建算法(作为黑箱)对添加了辅助变量和边的新图模型进行处理,生成一个团树T。
调整团树
:
在生成的团树T中,找到包含辅助变量Z的团C。
由于辅助变量Z与集合Y中的所有变量都相连,所以团C必定包含集合Y中的所有变量。
从团C中移除辅助变量Z,得到一个包含集合Y的团。
同时,移除团树中与辅助变量Z相关的所有边和节点(如果有必要的话),最终得到一个确保集合Y出现在某个团中的团树。
这个方法的原理是通过引入辅助变量和边,强制标准团树构建算法生成一个包含集合Y的团。因为辅助变量与集合Y中的所有变量相连,所以在团树构建过程中,这些变量会被合并到同一个团中。之后再移除辅助变量,就得到了符合要求的团树。
14、基于案例的推理(CBR)相对于基于规则的学习(RBR)有什么优势?基于案例的学习(CBL)系统可以应用在哪些方面?
CBR 相对于 RBR 的优势
系统通过获取新案例知识进行学习,维护更简单;
提高问题解决效率,可复用以前的解决方案,无需像经典推理那样从头开始,以前的记录有助于推进可能失败的解决方案;
提高问题解决质量,以前失败的记录有助于当前尝试提前避免失败;
提高用户接受度,CBR系统基于历史事实得出结论,更有说服力。
CBL 系统的应用领域
内燃机机油产品设计
天气预报
黄河大坝的预测和部署
渔场预测
15、列出目标案例和基础案例之间的一些相似类型,并尝试比较一些常用的相似度度量方法的特点。
相似类型
案例之间的相似类型包括语义相似性、结构相似性、目标相似性和个体相似性等。其中语义相似性方面,案例之间的类比可分为:
正类比
:由案例间的某些相似方面决定;
负类比
:由不同方面决定;
不确定类比
:无法明确判断相似或相异的情况。
常用相似度度量方法及特点
最近邻法(Nearest neighbor)
该方法基于特征的加权和匹配来评估存储案例与新输入案例之间的相似度,关键在于确定特征的权重。其局限性是时间复杂度会随着案例库中案例数量的增加而线性增长,因此在案例库相对较小时更有效。
归纳法(Induction)
归纳算法确定哪些特征最能区分案例,并生成决策树以有效地组织内存中的案例。当需要单个案例特征作为解决方案,且该案例特征依赖于其他特征时,这种方法很有用。
模板检索法(Template retrieval)
类似于SQL查询,返回符合某些参数的所有案例。该技术搜索所有能在特定参数值范围内返回的示例,通常在其他技术(如最近邻法)之前使用,以将搜索空间限制在案例库的相关部分。
16、什么是归纳学习?它的主要特征是什么?
归纳学习
归纳学习是符号学习中研究最广泛的方法之一。
基本任务
其任务是从给定的关于某个概念的一系列已知正例和反例中归纳出一个一般的概念描述。
学习目标
通过归纳学习,可以获得:
新概念
创建新规则
发现新理论
操作方式
其通常的操作是
泛化
和
特化
。
泛化
用于扩展假设的语义信息
使其能包含更多正例并应用于更多情况
特化
是泛化的相反操作
用于限制概念描述的应用范围
与演绎的区别
演绎
的起始前提是
一般真理
归纳
的起始前提是
具体事实
推理目标是
似然的一般断言
用于形式上解释事实
预测新的真理
试图从给定现象或其部分具体观察中得出完整和正确的描述
归纳的两个方面
生成似然假设
其有效性(真值状态的构建)
在归纳学习研究中:
前者
具有初步意义
假设有效性
是次要的
原因:
假设生成的假设由
人类专家判别
并通过已知的
演绎推理
和
数理统计方法
进行测试
分类
归纳学习可分为:
实例学习
观察学习
发现学习
17、决策树学习中的偏差问题是什么?简单描述几种偏差学习算法。
决策树学习中的偏差问题
在决策树学习中,偏差起着重要作用。归纳偏差指除原始训练实例之外的所有因素,包括描述假设的语言、考虑假设的程序空间、假设过程的顺序、承认的明确标准等。
偏差有两个特点:
是强偏差侧重于在相对较少数量的假设中进行概念学习,而弱偏差侧重于在相对较多数量的假设中进行概念学习;
是正确的偏差允许概念学习选择目标概念,而不正确的偏差则无法选择目标概念。
当偏差强且正确时,概念能立即选择有用的目标概念;当偏差弱且不正确时,概念学习任务非常困难。由于ID3算法家族缺乏背景知识的支持,它是一种具有相对弱偏差支持的归纳学习算法。
几种偏差学习算法
ID3算法家族
:缺乏背景知识的支持,是具有相对弱偏差支持的归纳学习算法。可以通过表示偏差和程序偏差的转移来加强决策树的偏差。
基于谓词逻辑的归纳算法(如AQ11、INDUCE)
:对于基于谓词逻辑的归纳算法,处理各种泛化的功能是最初步的,且与学习过程不可分割。
18、描述版本空间的基本思想。
版本空间以整个规则空间作为初始假设规则集H。根据训练示例中的信息,对集合进行泛化或特化操作,逐步缩小集合H。
图的最高点是最一般的规则(概念),即无描述、无条件的点,所有示例都符合该概念;最低点的线对应的是正训练示例的概念,每个点对应一个正示例,是最具体的概念。
在搜索规则空间时,使用可能合理的假设规则集H,它是规则空间的一个子集,是规则空间的一段。H中最一般元素组成的子集称为集合G,最具体元素组成的子集称为集合S,H处于上界G和下界S之间。
最终,集合H会收敛到仅包含所寻求规则的状态,因为版本空间包含了新兴概念的所有合理版本。
19、给出候选删除算法在以下数据集上的使用步骤:正例:(a) 对象(红色,圆形,苹果)(b) 对象(绿色,圆形,芒果);反例:(a) 对象(红色,大的,香蕉)(b) 对象(绿色,圆形,番石榴)。
以下是候选删除算法在该数据集上的使用步骤:
初始化集合S和G:
– 集合S初始仅包含第一个正例,即
S = {object (red, round, apple)}
。
– 集合G初始为最一般的概念,这里可表示为
G = {object (?, ?, ?)}
,其中“?”表示任意属性值。
处理正例
object (red, round, apple)
:
– 因为这是第一个正例且已在S中,无需对S进行额外修改。
– 从G中消除不覆盖该正例的概念,由于G初始为最一般概念,这里G保持不变,即
G = {object (?, ?, ?)}
。
处理正例
object (green, round, mango)
:
– 修改S为从新正例和S中原有元素广义化得到的最特殊结果。S中的元素需要同时覆盖这两个正例,所以S修改为
S = {object (?, round, ?)}
,这样能覆盖两个正例且修改尽可能少。
– 从G中消除不覆盖该正例的概念,G仍保持不变,
G = {object (?, ?, ?)}
。
处理反例
object (red, large, banana)
:
– 从S中消除覆盖该反例的概念,由于
S = {object (?, round, ?)}
不覆盖此反例,S保持不变。
– 修改G为从新反例和G中原有元素特殊化得到的最一般结果。要使G不覆盖该反例,G可修改为
G = {object (?, ?, ?) | 不是 (red, large, banana)}
。
处理反例
object (green, round, guava)
:
– 从S中消除覆盖该反例的概念,由于
S = {object (?, round, ?)}
覆盖了此反例,需要修改S。可将S修改为
S = {object (?, round, 不是guava)}
。
– 从G中消除覆盖该反例的概念,G进一步修改为
G = {object (?, ?, ?) | 不是 (red, large, banana) 且不是 (green, round, guava)}
。
检查G和S:
– 此时
G ≠ S
且不是单元素集,返回步骤2继续处理新的训练实例(如果有)。
– 由于没有更多实例,算法结束,最终输出的概念为G和S所表示的概念,即
G = {object (?, ?, ?) | 不是 (red, large, banana) 且不是 (green, round, guava)}
,
S = {object (?, round, 不是guava)}
。