写在前面
人工智能学科是进来计算机科学领域热门学科,人工智能导论作为一门导论性课程,对我们对机器学习、人工智能、数据挖掘的概念了解还是十分有好处的。
虽然平时这门课没上几节,最后考试也不难,遂把期末复习的笔记整理发布出来,一方面可能有以后的学弟学妹可能有帮助,二来也是做一个小小的记录。
如果对人工智能感兴趣的话,还是十分推荐学弟学妹们平时多多听一点,其实基本概念并不难,不要像我一样,一开始就被吓唬住了。
推荐一些我复习过程中看的科普文章,可能对理解串联这些概念有所帮助:
知识点整理
第一章 绪论
(这一章主要考的就是概念,背下就可以了,可能在简答题和填空题中考)
人工智能是智能机器所执行的通常与人类智能有关的智能行为;
人工智能研究的近期目标是使现有的计算机不仅能做一般的数值计算及非数值 信息的数据处理而且能运用知识处理问题能模拟人类的部分智能行为。
数据挖掘、模式识别、机器视觉、自然语言处理、智能系统、专家系统、机器学习、神经 网络、机器人学、人工生命、智能 CAD、组合优化问题、自动定理证明、分布式人工智能 系统、智能通信等(背几个就行了)
让一位测试者分别于一台计算机和一个人进行交谈,而测试者事先并不知道哪一个被测者 是人,哪一个是计算机。如果交谈后测试者分不出哪一个被测者是人,哪一个是计算机, 则可以认为这台被测的计算机具有智能。
第二章 知识表示
(一些概念会考填空器,主要是考知识表示的两种方法:一阶谓词表示和语义网络表示)
表示方法
- 一阶谓词表示法
- 产生式表示法
- 框架表示法
- 语义网络表示法
- 面向对象表示法
- 状态空间表示法
- 问题规约表示法
- 衡量标准
三步走:
- 定义谓词
P(x1,x2…)
(表示的含义就是x1
是/属于P
。谓词 = 谓词名P+个体x1/x2(个体是一个常量/变量/函数整体))。首先谓词是什么?谓词就是命题的一种符号化形式。命题就是一句可以判断正误的陈述句(比如:老张是一名教师,谓词就是Teacher(LaoZhang))。 - 用连接词(﹁(非) ∨(或) ∧(与) →(蕴含) ━(等价) )和量词(全称量词∀和存在量词∃)连接各个谓词,形成谓词公式。
举个例子:
Every dog has bitten a postman.
Dog(x) : x is a dog
Postman(y):y is a postman
Bite(x,y) x has bitten y
这里主要理解框架就可以了。
框架就是一种能数据结构,这种结构用来描述一个对象的属性。
框架结构如下:
举个例子:
框架名:〈教师〉 姓名:单位(姓、名) 年龄:单位(岁) 性别:范围(男、女) 缺省:男 职称:范围(教授,副教授,讲师,助教) 缺省:讲师 部门:单位(系,教研室) 住址:〈住址框架〉 工资:〈工资框架〉 开始工作时间:单位(年、月)
截止时间:单位(年、月)
框架名:〈教师-1〉 姓名:夏冰 年龄:36 性别:女 职称:副教授 部门:计算机系软件教研室 住址:〈adr-1〉 工资:〈sal-1〉 开始工作时间:1988,9
截止时间:1996,7
模块性、封装性、继承性、多态性、易维护性。
第三章 搜索和推理
首先我们得搞懂,搜索是什么?搜索不是指广义的搜索,而是问题的求解方式。
搜索方向
- 数据驱动
- 目的驱动
- 双向搜索
- 搜索策略(这个是我们要重点掌握的)
盲目搜索(其实就是图的遍历,盲目就是说节点的权值是相同的,我们没用运用任何提示信息,告诉我们某条路径搜索成功的可能性更大,只是盲目的搜索所有可能的路径,判断是否是问题的解决)
- 深度优先遍历
- 宽度/广度优先遍历(层次遍历)
- 启发式搜索(和上面相反,使用启发性信息使用估价函数给每个节点不一样的优先级(权重),这样能够减少搜索的时间)
- A搜索算法
- A*搜索算法
宽度优先
搜索过程中,我们需要定义了两个数据结构:
- open表:存储这样的节点,节点已经被访问过,但是该节点的子节点(不包括孙子辈分的)没有被访问过
- closed表:存储已经扩展过的节点。这里"扩展过"的意思就是,已经把该节点的子节点加入到open表了。具体可以看下面的例子。
比如在上面图中,我们需要搜索节点9,我们的操作过程是这样的:
我们先把0节点放到open表,表示从0开始访问,如果0是目标节点,结束。
如果不是,继续从opn表取出第一个节点重复上述操作(这里是先取出1放到closed表,然后把3,4,5依次放到open表尾部,然后再取出2,把6,7,8放到open表尾部,再取出3,把9,10放到open尾部,其中9是目标节点,结束搜索)
整个过程可以抽象成下面的流程图:
深度优先
仍然以上面为例,说明过程:
一开始把0放入open,取出放入closed,扩展节点1,2放入open表队首。此时2在队首,取出2,扩展节点6,7,8放入队首,此时8在队首,取出放入closed,无法扩展,再次从open取出队首7,无法扩展,再次从open表去除6,无法扩展。
然后再从open取出队首1,把扩展节点3,4,5放入open表,取出5和4都无法扩展。再取出3,扩展节点9和10放入open,其中9是目标节点,结束搜索。
宽度优先是队列结构
深度优先是堆栈结构
估价函数为f(x) = g(x) + h(x)
- f(x) 从初始结点经过x结点到达目的结点的路径的最小代价估计值
- g(x)是初始节点到节点x的实际代价;
- h(x)是节点x到目标节点的最优路径的估计代价。
八数码问题也称为九宫问题。在3×3的棋盘,摆有八个棋子,每个棋子上标有1至8的某一数字,不同棋子上标的数字不相同。棋盘上还有一个空格,与空格相邻的棋子可以移到空格中。要求解决的问题是:给出一个初始状态和一个目标状态,找出一种从初始转变成目标状态的移动棋子步数最少的移动步骤。
题目如下:
对于八数码问题来说,每个状态就相当于一个节点。
再从open表取出E节点,扩展I/J节点。以此类推……
A*算法:思想和上面一样,就是估价函数变化了一点。
知识库 + 推理机
这里介绍两个概念:
产生式
产生式系统分为三部分:
- 规则库(用产生式表示的规则知识)
- 综合数据库(包括事实库和中间产生一些结果)
- 推理机(就是用来将已知事实根据规则库推理到另一个事实)
规则库:如果一个人很帅,他的性格也一定不错(只是举个例子哈)
事实库:小明很帅
推理结果:小明性格也不错
冲突发生条件是,一个事实匹配上了多个规则,这样就会得到多个结论。
处理冲突方法有:按针对性排序/按已知事实新鲜性排序/按匹配度排序/按条件个数排序/按上下文限制排序/按冗余限制排序/按领域问题的特点排序(这个背下来就可以了)
推理分为确定性推理和不确定推理。
- 确定性推理的方法有:自然演绎、归纳演绎、与/或型
- 不确定推理方法有
概率方法
(经典概率、逆概率(贝叶斯公式,这个公式很简单,不要被名字吓到了),就是概率论的概率推导)、可信度方法
(C-F模型)、模糊推理法
C-F模型
首先我们需要明确两个概念:不确定知识和模糊知识,这两个是不一样的。
举个例子:
小明很帅(概率是0.8,小明可能不帅,也可能帅)
小明比较0.8帅(帅的程度是0.8,小明一定很帅,但是不帅贼帅那种)
说完了可信度,那么C-F模型到底是什么东西?
C-F模型表示知识(规则)的不确定性
CF(H,E)的取值范围: [-1,1]。若由于相应证据的出现增加结论 H 为真的可信度,则 CF(H,E)> 0,证据的出现越是支持 H 为真,就使CF(H,E) 的值越大。反之,CF(H,E)< 0,证据的出现越是支持 H 为假,CF(H,E)的值就越小。若证据的出现与否与 H 无关,则 CF(H,E)= 0。
反映前提条件与结论的联系强度。
举个例子:
IF 头痛 AND 流涕 THEN 感冒 (0.7)
C-F模型表示证据的不确定性
证据的可信度取值范围:[-1,1] 。对于初始证据,若所有观察S能肯定它为真,则CF(E)= 1。若肯定它为假,则 CF(E) = –1。若以某种程度为真,则 0 < CF(E) < 1。若以某种程度为假,则 -1 < CF(E) < 0 。若未获得任何相关的观察,则 CF(E) = 0。
CF(头痛) = 0.7 即表示真的头痛的概率是0.7
组合证据的不确定性的计算
结论的不确定性的计算
多个结论的不确定性的合成
第二步的计算公式,不需要过分理解,直接背下来就可以,就是为了保证计算结果的值在定义[-1,1]范围内的前提下保证它的含义。
结论H有好几个,我们一个个求。
前面说了,不确定知识和模糊知识不一样。
C-F模型就是进行不确定知识推理,而模糊集就是用来解决模糊知识的推理的。
模糊集到底是什么东西?
举个例子:有一个集合(论域)U={1,2,3,4,5}
模糊集合A含义是数字大的元素集合。
那么uA(1) = 0,uA(2)表示数字1和2不属于A集合,因为1和2不大。
uA(3) = 0.1 uA(4) = 0.6 uA(5) = 1 表示3、4、5属于模糊集合A,但是程度分别为0.1,0.6和1
换句话说,模糊集合和我们之前学的确定性元素集合不同。论域中每个元素都属于模糊集合(只要程度不为0即可),只是隶属的程度不同,我们用隶属函数来衡量论域中元素隶属该模糊集合的程度
模糊集合的表示方法
有模糊集合一定要有论域,这两个是分不开的,只讨论模糊集合没有意义。因为模糊集合就是讨论论域中的每个元素隶属模糊集合的程度。
一般用序偶表示法比较简单直接。
A={(3,0.1),(4,0.3),(5,0.6),(6,1)}
模糊集的计算
- 交、并、补(非)
交即对应元素的隶属度取最小值
并即对应元素的隶属度取最大值
补即元素的隶属度为1-原来的隶属度
结果为:
- 代数运算(代数和、代数积、有界和、有界积)
什么叫代数运算,就是值运算呗,什么值,隶属度呗。即隶属度值的运算。
代数积,就是对应元素隶属度值直接相乘
代数和,同理,对应元素隶属度直接相加
有界和,其实也很好理解,先代数和,但是不能超过1,所以是min{1,代数和}
有界积,这个比较难理解,记住就行了。元素隶属度为 max{0,ua(x) + ub(x) - 1}
模糊关系
为什么会有这个概念出现呢?
比如一个模糊集合表示身高高A = {(180,1),(175,0.8),(170,0.6)},另一个模糊集合表示体重重B={(160,1),(150,0.8),(140,0.7),(130,0.5)}
一般来说,身高高的人,体重也会重一点,两者有一定的模糊关系的。我们可以用模糊矩阵表示两种关系。
交
(即取两个值的最小值)模糊关系的合并
交
(即取两个值的最小值),加号变成并
(即取两个值的最大值)模糊推理
第四章 神经计算
- 神经元
- 活化函数
- 神经元之间的连接方式
神经元
这里的神经元是计算机中的概念。
- 多输入单输出。
- 传播的是脉冲信号,信号的强弱与脉冲频率成正比。
如下图就是神经元的数学模型:
活化函数
一般是非线性函数,对输入进行进一步的处理
感知器就是一个多输入,单输出的一个结构。(是不是和神经元定义很像,一个神经元就可以看错一个简单的感知器)
简单感知器模型
如下图就是一个简单感知器,其实就是一个神经元。
输入x1,x2,输出y。
其中w1,w2叫做权值。
感知器和神经网络的区别?
感知器可以说就是神经网络模型。
与
或
非
的运算。而BP神经网络就属于多层感知器模型。
多层感知器模型
在输入和输出层间加上一层或多层的神经元(隐层神经元),就可构成多层前向网络,这里称为多层感知器。
- 设计输入层和输出层,确定隐藏层及其结点
- 归一化输入输出集合
- 初始化权值
- 选择活化函数
- 网络学习/训练阶段
- 网络工作阶段
- Hebb学习规则:是一种无监督学习规则,使网络能够提取训练集的统计特性(过程),从而把输入集按照他们相似程度分成若干类(结果)。什么是无监督学习?
- 感知器学习规则:是一种线性分类器,以{前向神经网络}为主,不能处理线性不可分问题
- 梯度下降学习规则:沿着梯度下降的方向一步一步的迭代求解,直到收敛,即为解
第五章 计算智能(进化计算)
遗传算法是什么?
一类借鉴生物界自然选择和自然遗传机制的随机搜索算法。
能解决什么问题?
非常适合处理传统搜索方法难以解决的复杂和非线性优化的问题。
步骤是什么?
- 参数编码
- 初始群里的确定
- 适应度函数设计
- 遗传操作设计
- 确定终止规则
- 选择:优胜劣汰,使群体更快的收敛,维持种群的多样性
- 交叉:增加物种的多样性
- 变异:维护物种多样性,为选择、交叉过程中可能丢失的某些遗传基因进行修复和补充
第六章 专家系统
什么是专家系统
类型
有解释、诊断、预测、设计、规划、控制、监督、修理、教学、调试的类型
分为6个部分,2个库(数据库、知识库),1个推理机,2个机构(解释机构、知识获取机构),1个接口
这个数据库包括我们需要推理的事实和中间产生的结果。
其实就是根据规则库进行推理事实
我们可以分成3个方面:
编程思想:
- 专家系统核心是 是知识库 + 推理机
- 传统程序核心是 数据库结构 + 算法
体系结构
- 专家系统:知识单独形成知识库,与推理机分离
- 传统程序:知识包含在程序中
处理对象
- 专家系统:符号
- 传统程序:数组和数据
第七章 机器学习
机器学习也叫深度学习,是指计算机利用已有数据,得出某种模型,并利用模型预测未来。
(这个概率是不是和前面的感知器模型/神经网络很类似,确实,这两个概念有交叉的部分)
数据挖掘、统计学习、计算机视觉、语音识别、自然语言处理
期末考试说明
考试的话其实很简单,分为五个部分:
- 填空题:和往年的考试的题目都是差不多了,学校可以买到前几年的卷子,把选择填空都做一遍就差不多了,考试的时候基本是原题。
- 选择题:同上
- 知识表示题:一般来说,只考一阶谓词表示和语义网络表示两种(把PPT上第二章相关的的例子都看了就没问题了)
- 计算简答题:我们这次是考了两道计算和一道简答题。计算题分别是第三章的可信度推理和模糊决策(分别对应PPT第四章的61页和113页)
神经网络:有两道计算题:
- 第一题就是A搜索算法,其实不算神经网络的知识点的,可以看PPT第三章的37页,把例题中的宽度优先算法换成了A搜索算法(启发式搜索),最终也是求搜索树的。
- 第二题是神经网络中的最简单的感知器模型的理解,给定了输入和权值以及活化函数,求最后的输出,这个很简单。
除此之外,可能考几个比较偏的在填空和选择题,但不会超过5分。比如神经网络的拓扑结构有哪两种。还有一个是与/或图搜索搜索的一个选择题
希望有所帮助
以上。
2 条评论
感谢感谢