Artificial Intelligence
Author: DH
Create: 23-12-9
声明: 仅供参考
一、绪论
人工智能的概念理解
人工智能就是用人工的方法在机器(计算机)上实现的智能,或称机器智能、计算智能
- 知识:人们通过体验、学习或联想而知晓的对客观世界规律性的认识,包括:事实、条件、过程、规则、关系和规律等
- 智能:一种应用知识对一定环境或问题进行处理的能力,或进行抽象思考的能力
- 智能机器:能够在各类环境中自主地或交互地执行各种拟人任务的机器
人工智能特征:
- 由人类设计,为人类服务,本质为计算,基础为数据
- 能感知环境,能产生反应,能与人交互,能与人互补
- 有适应特征,有学习能力,有演化迭代,有连接扩展
人工智能发展历史
诞生:AI史上第一次历史上的聚会——达特茅斯会议(形成期)
会议成果:虽然大家没有达成普遍的共识,但是却为会议讨论的内容起了一个名字:“人工智能”。因此,1965年也就成为了人工智能元年
发展过程
孕育期(1956年前)
- 亚里士多德创立了 演绎法 ,他提出的三段论至今仍是演绎推理的最基本出发点
- 莱布尼茨把形式逻辑符号化,奠定了 数理逻辑 的基础
- 图灵创立了自动机理论亦称 图灵机 ,被誉为人工智能之父
- 莫克1946年第一台通用电子数字计算机 ENIAC
- 麦克洛奇和皮兹1943年建立成第一个 神经网络模型(MP模型)
- 维纳 控制论 创始人,形成了 行为主义学派
形成期(1956-1970年)
- 达特茅斯会议
暗淡期(1966-1974年)
知识应用期(1970-1988年)
- 专家系统
- 计算机视觉、机器人、自然语言理解、机器翻译等 AI 应用研究获得发展
集成发展期(1986年-至今)
三大学派
符号主义
又称逻辑主义、心理学派或计算机学派
- 原理:物理符号系统(即符号操作系统)假设和有限合理性原理
- 主要特征:
- 立足于逻辑运算和符号操作,适合于模拟人的逻辑思维过程,解决需要逻辑推理的复杂问题
- 知识可用显示的符号表示,在已知基本规则的情况下,无需输入大量的细节知识
- 便于模块化,当个别事实发生变化时,易于修改
- 能与传统的符号数据库进行连接
- 可对推理结论进行解释,便于对各种可能性进行选择
- 缺点
- 可以解决逻辑思维,但对于形象思维难于模拟
- 信息表示成符号后,并在处理或转换时,信息有丢失的情况
- 争论:
- 模拟人类认知系统所具备的功能,通过数学逻辑方法来实现人工智能
- 认为人的认知基元是符号,认知过程即符号操作过程
- 认为人是一个物理符号系统,计算机也是一个物理符号系统,因此能够用计算机来模拟人的智能行为
- 人工智能的核心问题是只是表示、知识推理和知识运用
连接主义
又称:仿生学派或生理学派
- 原理:神经网络及神经网络间的连接机制与学习算法
- 主要特征:
- 通过神经元间的并行写作实现信息处理,处理过程具有并行性,动态性,全局性
- 可以实现联想的动能,便于对有噪声的信息进行处理
- 可以通过对神经元之间连接强度的调整实现学习和分类等
- 适合模拟人类的形象思维过程
- 求解问题时,可以较快的得到一个近似解
- 缺点:
- 不适合于解决逻辑思维
- 体现结构固定和组成方案单一的系统也不适合多种知识的开发
- 争论:
- 模拟人的生理神经网络结构,不同的结构表现出不同的功能和行为。认为功能、结构和智能行为是不可分割的
- 认为思维基元是神经元,而不是符号处理过程
- 认为人脑不同于电脑,并提出连接主义的大脑工作模式,用于取代符号操作的电脑工作模式
行为主义
又称:进化主义或控制论学派
行为主义又称为进化主义或控制论学派,是基于控制论和 “动作-感知“ 型控制系统的人工智能学派,属于非符号处理方法
- 原理:源于控制论
- 主要特征:
- 知识和形式化表达和模型化方法是人工智能的重要障碍之一
- 智能取决于感知和行动,应直接利用机器对环境作用后,环境对作用的响应为原型
- 智能行为智能通过在现实世界中与周围环境交互作用而表现出来
- 人工智能可以像人类智能一样逐步进化,分阶段发展和增强
- 争论:
- 采用行为模拟方法,也认为功能、结构和智能行为是不可分的。不同行为表现出不同功能和不同控制结构
- 认为智能取决于感知和行动(所以被称为行为主义),提出智能行为的 ”感知-动作“ 模式
- 认为只能不需要知识,不需要表示、不需要推理;人工智能可以像人类智能一样逐步进化;智能行为只能在现实世界中与周围环境交互作用而表现出来
二、搜索技术
根据问题的实际情况不断寻找可利用的知识,构造出一条代价较少的推理路线,使问题得到圆满解决的过程称为搜索
包括两个方面:
- 找到从初始事实到问题最终答案的一条推理路径
- 找到的这条路径在实践和空间上复杂度最小
搜索方法好的标准:
- 搜索空间小
- 解最佳
状态空间知识表示法
基本概念
知识:人们在改造客观世界的实践中积累起来的认识和经验
- 认识:包括对事物现象、本质、属性、状态、关系、联系和运动等的认识
- 经验:包括解决问题的微观方法和宏观方法
- 微观方法:如步骤、操作、规则、过程、技巧等
- 宏观方法:如战略、战术、计谋、策略等
- 一般来说,我们把有关信息关联在一起所形成的信息结构称为知识。
- 知识表示就是对知识的一种描述,一种计算机可以接受的用于描述知识的数据结构。
知识、信息、数据及其关系:
- 数据:信息的载体,本身无确切含义,其关联构成信息
- 信息:数据的关联,赋予数据特定的含义,仅可理解为描述性知识
- 知识:可以使对信息的关联,也可以是对已有知识的再认识
人工智能系统的知识包含:**事实**、**规则**、**控制** 和 **元知识**
- 事实:事物的分类、属性、事物间的关系、科学事实、客观事实等
- 规则:事物的行动、动作和联系的因果关系知识
- 控制:是有关问题的求解步骤、规划、求解策略等技巧性知识,告诉怎么做一件事
- 元知识:怎样使用规则、解释规则、校验规则、解释程序结构等知识。
知识表示:对知识的描述,即用一组符号把知识编码成计算机可以接受的某种结构。其表示方法不唯一
知识表示的要求:
- 表示能力:能否正确、有效地表示问题,包括:表示范围的广泛性、领域知识表示的高效性、对非确定性知识的支持程度
- 可利用性:可利用这些知识进行有效推理,包括:对推理的适应性、对高效算法的支持程度
- 可实现性:要便于计算机直接对其进行处理
- 可组织性:可以按照某种方式把知识组织成某种知识结构
- 可维护性:便于对知识的曾增、删、改等操作
- 自然性:复合人们的日常习惯
- 可理解性:知识应易读、易懂、易获取等
知识表示的一般方法:状态空间法、问题规约法、谓词逻辑法、语义网络、框架表示、剧本表示、过程表示等
状态、算符、状态空间(S、F、G)
状态: 为描述某类不同事物间的差别而引入的一组最少变量 q 0 , q 1 , … , q n q_0, q_1, \dots, q_n q0,q1,…,qn 的有序集合。矢量形式: Q = [ q 0 , q 1 , … , q n ] T Q = [q_0, q_1, \dots, q_n]^T Q=[q0,q1,…,qn]T
- 式中每个元素 q i q_i qi 为集合的分量,称为状态变量。给定每个分量的一组值就得到一个具体的状态,如: Q = [ q 0 k , q 1 k , … , q n k ] T Q = [q_{0k}, q_{1k}, \dots, q_{nk}]^T Q=[q0k,q1k,…,qnk]T
算符: 把一个问题从一种状态变换为另一种状态的手段
- 算符可为走步、过程、规则、数学算子、运算符号、逻辑符号等。例如:
goto(U)、pushbox(V)
问题的状态空间: 是一个表示该问题的全部可能状态及其关系的图。三元状态 (S, F, G)
- S:初始状态集合
- F:操作符集合
- G:目标状态集合
状态空间图示法
有向图:无向图,由节点(不一定是有限的节点)和边的结合构成。有向图,是指图中的一对节点用弧线连接起来,从一个节点指向另一个节点
路径:某个节点序列 ( n i 1 , n i 2 , ⋯ , n i k ) (n_{i1}, n_{i2}, \cdots, n_{ik}) (ni1,ni2,⋯,nik) 当 j = 2 , 3 , ⋯ , k j = 2, 3, \cdots , k j=2,3,⋯,k 时,如果对于每一个 n i , j − 1 n_{i, j-1} ni,j−1 都有一个后继节点 n i j n_{ij} nij 存在,那么就把这个节点序列叫做从节点 n i 1 n_{i1} ni1 至节点 n i k n_{ik} nik 的长度为 k 的路径
问题规约表示法
基本概念
已知问题的描述,通过一系列变换把此问题最总变为一个子问题集合;这些子问题的解可以直接得到,从而解决了初始问题
改方法也就是从目标(要解决的问题)出发逆向推理,建立子问题以及子问题的子问题,直至最后把初始问题规约为一个平凡的本原问题集合。这就是问题规约的实质。
本源问题、操作符
图搜索策略中,图中每个节点对应一个状态,每条连线对应一个操作符
- TODO
状态空间搜索技术
宽度搜索、深度搜索
各种搜索策略主要取决于 OPEN 表中节点排序准则不同
算法结束后将生成一个图 G ,称为 搜索图 。同时由于各个节点都有一个指针指向父节点,这些指针指向的节点构成 G 的一个支撑树,称为 搜索树
从目标节点开始,将指针指向的状态回串起来,即找到一条 解路径
-
宽(广)度度优先搜索:搜索是以接近起始点的程度(由节点之间连接弧线的数目来衡量)
-
深度度优先搜索:搜索时搜先扩展最新产生的节点
- 深度界限:防止搜索过程沿着无益的路径扩展下去,往往给出一个节点扩展最大深度
- 起始节点的深度为 0
等代价搜索:
- 概念
- 宽度优先搜索的一种推广
- 不是沿着等长路径断层进行扩展,而是沿着等待加路径断层进行扩展
- 搜索树中每条连线弧线上的有关代价,表示时间、距离等花费
- 符号标记
- 起始节点记为 S
- 从节点 i 到它的后继节点 j 的连线弧线代价记为 c(i, j)
- 从起始节点 S 到任一节点 i 的路径代价记为 g(i)
代价树深度优先搜索
- 基本思想:
- OPEN 表中的任一时刻都是按其代价从小到大排序。
- 代价数的广度优先:从 OPEN 表的 全体节点 中选就代价最小节点。一定能找到最小代价解
- 代价数的深度优先:从 扩展子节点 选择代价最小节点
启发式搜索(有序搜索、A*搜索)
估价函数:估算节点希望程度的度量,使用 f ( n ) f(n) f(n) 表示节点 n 的估价函数值
有序搜索:即最好优先所搜
- 选择 OPEN 表上具有最小 f 值的节点作为下一个要扩展的节点
A*算法:隶属于有序搜索算法的一种,其特点在于对估价函数的定义上 f ( n ) = h ( n ) + g ( n ) f(n) = h(n) + g(n) f(n)=h(n)+g(n)
- 算法符号:
k
(
n
i
,
n
j
)
k(n_i, n_j)
k(ni,nj) 表示任一两个节点
n
i
n_i
ni 和节点
n
j
n_j
nj 之间最小代价路径的实际
- 对于两个几点间没有通路的节点,函数 k 没有定义
- 从节点 n 到某个具体的目标节点 t i t_i ti ,某一条最小代价的路径代价可由 k ( n , t i ) k(n, t_i) k(n,ti) 给出
- h*(n) 表示整个目标节点集合
{
t
i
}
\{t_i\}
{ti} 上所有
k
(
n
,
t
i
)
k(n, t_i)
k(n,ti) 中最小的一个
- 对于任何不能到达目标节点的节点 n ,函数 h* 没有定义
- h*(n) 就是从 n 到目标节点最小代价路径的代价,而且从 n 到目标节点能够获得到 h*(n) 的任一路径就是一条从 n 到某个目标节点的最佳路径
A 算法和 A* 算法的主要区别在于它们的启发式函数 h(n) 的使用。A* 算法的启发式函数需要是可采纳的(不大于实际最短路径代价),而 A 算法的启发式函数则没有这个要求,这可能会导致 A 算法找到的路径不是最短的。
与或图搜索
与或图的基本概念(可解节点、不可解节点)
- 或节点:只要解决某个问题就可以解决其父辈问题的节点结合
- 与节点:只有解决所有子问题,才能解决其父辈问题的节点集合
- 终叶节点:时对应于本原问题的节点
可解节点:
- 终叶节点是可解节点(因为它们与本原问题相关联)
- 如果某个非终叶节点含有 或后继节点 ,那么只有当其后继节点至少有一个是可解的时,此非终叶节点才是可解的
- 如果某个非终叶节点含有 与后继节点 ,那么只要档期后继节点全部为可解时,此非终叶节点才是可解的
不可解节点:
- 没有后裔的非终叶节点为不可解节点
- 如果某个非终叶节点含有 或后继节点 ,那么只有当其全部后裔为不可解时,此非终叶节点才是不可解的
- 如果某个非终叶节点含有 与后继节点 ,那么只要当其后裔至少有一个为不可解时,此非终叶节点才是不可解
盲目搜索(宽度搜索、深度搜索)
盲目搜索:没有启发信息的一种搜索形式(按预定的控制策略进行搜索,在搜索过程中获得的中间信息不用来改进控制策略)
特点:不需要重拍 OPEN 表
种类:深度优先、宽度优先、等代价搜索
算法结束的条件:
- 若初始节点被标记为可解节点,算法成功结束(有解)
- 若初始节点被标示为不可解节点,则搜索失败结束(无解)
与或图搜索(max-min 搜索、α-β 剪枝)
max-min 搜索:为博弈的双方中的一方寻找一个最优行动方案
- 对 或 节点,选其子节点中一个 最大 得分作为父节点的得分
- 对 与 节点,选其子节点中一个 最小 得分作为父节点的得分
α-β 剪枝:边生成博弈树边计算评估个节点的倒推值
- 对于 与 节点来说,它取当前子节点中的 最小 倒推值作为它倒推值的上界,乘此为 β 值(β <= 最小值)
- 对于 或 节点来说,它取当前子节点中的 最大 倒推值作为它倒推值的下界,乘此为 α 值(α >= 最小值)
- 任何 与 节点 x 的 β 值如果不能升高其父节点的 α 值,则对节点 x 以下的分支可停止搜索,并使 x 的倒推值为 β
- 任何 或 节点 x 的 α 值如果不能降低其父节点的 β 值,则对节点 x 以下的分支可停止搜索,并使 x 的倒推值为 α
五、进化计算
遗传算法基本思想
- 遗传算法把问题的解表示成 染色体,在算法中即是以一定方式编码的串。
- 在执行遗传算法之前,给出 一群染色体 也即假设解(候选解)
- 把这些假设解置于问题的环境中,并按 适者生存 的原则,从中选择出较适应环境的染色体进行 复制,再通过 交叉、 变异 过程产生更适应环境的新一代染色体群
遗传算法主要组成部分
**编码机制:**用遗传算法解决问题时,首先要对待解决问题的模型结构和参数进行编码。一般使用字符串表示
- 编码可分为:二进制编码、浮点数编码、符号编码
- 二进制编码精度:设取值范围为 [ A , B ] , A < B [A, B], A < B [A,B],A<B, 则 δ = B − A 2 l − 1 \delta = \frac{B - A}{2^l - 1} δ=2l−1B−A
- 编码公式:
x
=
A
+
B
−
A
2
l
−
1
(
∑
i
=
1
l
b
i
2
i
−
1
)
x = A + \frac{B - A}{2^l - 1}(\sum_{i=1}^{l}b_i2^{i - 1})
x=A+2l−1B−A(i=1∑lbi2i−1)
- 例如: x ∈ [ 0 , 1023 ] x \in [0, 1023] x∈[0,1023] ,采用 10 位字长的二进制编码。X:0 0 1 0 1 0 1 1 1 1 ⇒ \Rightarrow ⇒ x = 175, δ = 1 \delta = 1 δ=1
**适应度函数:**对于最大化的优化问题,适应度函数就是目标函数
- 使用适应度函数描述每一个体的适应程度
- 引入适应度函数的目的在于可根据其适应度对个体进行评估比较,定出优劣程度
**选择算子:**选择算子从种群中按某一概率成对选择个体,某个体 x i x_i xi 被选择的概率 P i P_i Pi 与其适应度值成正比,通常实现方法使轮盘赌模型
**交叉算子:**交叉算子将被选中的两个个体的基因链按概率 P c P_c Pc 进行交叉,生成两个新的个体,交叉位是随机的。其中 P c P_c Pc 是一个系统参数
**变异算子:**变异算子,将新个体的基因链的各位按概率 P m P_m Pm 进行变异,对二值基因链(0,1编码)来说是取反
遗传算法流程:算法停止条件
遗传算法特点
- 遗传算法是从问题解的编码组开始,而非从单个解开始搜索
- 利用目标函数的适应度这一信息而非利用导数或其他辅助信息来指导搜索
- 利用选择、交叉、变异等算子,而不是利用确定性规则进行随机操作
不足:
- 在变量多,取值范围大或无给定范围时,收敛速度下降
- 可找到最优解附近,但无法精确确定最优解位置
- 遗传算法的参数选择尚未有定量方法
进化算法三个类型(遗传算法,进化规则,进化策略)简单了解
进化策略:是一类模仿自然进化原理求解参数优化问题的算法
进化规则:又称为进化编程。根据正确预测的符号数来度量适应值。通过变异,为父代群体中的每个机器状态产生一个子代。父代和子代中最好的部分被选择生存下来
进化策略和进化规划都把变异作为主要搜索算法,而在标准的遗传算法中,变异只处于次要位置。交叉在遗传算法中骑着重要作用,而在进化规划中却被完全省去,在进化策略中与自适应结合使用,起了很重要的作用。标准遗传算法和进化规划都强调随机选择机制的重要性,而从进化策略的角度看,选择是完全正确的
六、群智能
群智能基本概念及特点
群只能算法是一种基于生物群体行为规律的计算技术
特点:
- 个体的行为很简单,当他们一起协同工作时,却能凸显出非常复杂(智能)的行为特征
- 群智能优化在没有集中控制且不提供全局模型的前提下,为寻找复杂的分布式问题求解方案提供了基础
优点:
- 灵活性:群体可以适应随时变化的环境
- 稳健性:个体失败,群体仍能完成任务
- 自组织:活动既不受中央控制,也不受局部监管
在 D 维空间中,有 m 个粒子:
- 其中第 i 个粒子的位置矢量表示为: x i ^ = ( x i 1 , x i 2 , ⋯ , x i D ) \hat{x_i} = (x_{i1}, x_{i2}, \cdots, x_{iD}) xi^=(xi1,xi2,⋯,xiD)
- 飞翔速度矢量表示为: v i ^ = ( v i 1 , v i 2 , ⋯ , v i D ) \hat{v_i} = (v_{i1}, v_{i2}, \cdots, v_{iD}) vi^=(vi1,vi2,⋯,viD)
- 第 i 个例子搜索到的最优位置为: p i ^ = ( p i 1 , p i 2 , ⋯ , p i D ) \hat{p_i} = (p_{i1}, p_{i2}, \cdots, p_{iD}) pi^=(pi1,pi2,⋯,piD)
- 整个粒子群搜索到的最优位置为: p g b e s t ^ = ( p g b e s t 1 , p g b e s t 2 , ⋯ , p g b e s t D ) \hat{p_{gbest}} = (p_{gbest1}, p_{gbest2}, \cdots, p_{gbestD}) pgbest^=(pgbest1,pgbest2,⋯,pgbestD)
粒子群算法
速度、位置更新公式
速度更新公式: v i d k + 1 = w v i d k + 1 + c 1 r a n d ( ) ( p i d − x i d k ) + c 2 r a n d ( ) ( p g b e s t − x i d k ) v_{id}^{k+1} = wv_{id}^{k+1} + c_1rand()(p_{id} - x_{id}^k) + c_2rand()(p_{gbest} - x_{id}^k) vidk+1=wvidk+1+c1rand()(pid−xidk)+c2rand()(pgbest−xidk)
- w 为惯性权重
- c1、c2 为两个正常数称为加速因子
- rand() 为分布于 [0, 1] 的随机数
位置更新公式: x i d k + 1 = x i d k + v i d k + 1 , i = 1 , 2 , ⋯ , m ; d = 1 , 2 , ⋯ , D x_{id}^{k+1} = x_{id}^k + v_{id}^{k+1}, i = 1, 2, \cdots, m; d = 1, 2, \cdots, D xidk+1=xidk+vidk+1,i=1,2,⋯,m;d=1,2,⋯,D
算法流程
蚁群算法
路径选择概率计算公式:
P k ( i , j ) = { [ τ ( i , j ) ] α ∗ [ η ( i , j ) ] β ∑ s ∉ t a b u k [ τ ( i , s ) ] α ∗ [ η ( i , s ) ] β i f j ∉ t a b u k 0 o t h e r w i s e P^k(i, j) = \begin{cases} \frac{[\tau(i, j)]^{\alpha} * [\eta(i, j)]^{\beta}}{\sum_{s \notin tabu_k}[\tau(i, s)]^{\alpha} * [\eta(i, s)]^{\beta}} & if j \notin tabu_k \\ 0 & otherwise \end{cases} Pk(i,j)=⎩ ⎨ ⎧∑s∈/tabuk[τ(i,s)]α∗[η(i,s)]β[τ(i,j)]α∗[η(i,j)]β0ifj∈/tabukotherwise
- 启发函数: η ( i , j ) = 1 d ( i , j ) \eta(i, j) = \frac{1}{d(i, j)} η(i,j)=d(i,j)1 表示蚂蚁从城市 i 到城市 j 的期望程度,距离越短函数值越大
- α \alpha α 是信息素重要程度因子
- β \beta β 是启发函数重要程度因子
- t a b u k tabu_k tabuk 为禁忌表,表示已经访问的城市集合
- τ ( i , j ) \tau(i, j) τ(i,j) 表示信息素浓度
信息素浓度更新公式
τ i j ( t + 1 ) = ( 1 − p ) ∗ τ i j ( t ) + Δ τ i j \tau_{ij}(t + 1) = (1 - p) * \tau_{ij}(t) + \Delta \tau_{ij} τij(t+1)=(1−p)∗τij(t)+Δτij
Δ τ i j = ∑ k = 1 m Δ τ i j k \Delta \tau_{ij} = \sum_{k=1}^m \Delta \tau_{ij}^k Δτij=∑k=1mΔτijk
- ρ \rho ρ 的取值为 0 < ρ < 1 0 < \rho < 1 0<ρ<1 表示路径上信息素的挥发系数
- 针对蚂蚁释放信息素有三种模型:
-
Δ
τ
i
j
=
{
Q
L
k
i
j
∈
l
k
0
o
t
h
e
r
w
i
s
e
\Delta \tau_{ij} = \begin{cases} \frac{Q}{L^k} & ij \in l_k \\ 0 & otherwise \end{cases}
Δτij={LkQ0ij∈lkotherwise
- Q 为正常数, L k L_k Lk 表示第 k 只蚂蚁在本次访问城市中走过的总路径长度
-
Δ
τ
i
j
=
{
Q
D
i
j
i
j
∈
l
k
0
o
t
h
e
r
w
i
s
e
\Delta \tau_{ij} = \begin{cases} \frac{Q}{D_{ij}} & ij \in l_k \\ 0 & otherwise \end{cases}
Δτij={DijQ0ij∈lkotherwise
- Q 为正常数 D i j D_ij Dij 表示第 k 只蚂蚁在本次访问中城市 i 和城市 j 的距离
-
Δ
τ
i
j
=
{
Q
i
j
∈
l
k
0
o
t
h
e
r
w
i
s
e
\Delta \tau_{ij} = \begin{cases} Q & ij \in l_k \\ 0 & otherwise \end{cases}
Δτij={Q0ij∈lkotherwise
- Q 为正常数,在整个访问城市的过程中,密度始终保持不变
-
Δ
τ
i
j
=
{
Q
L
k
i
j
∈
l
k
0
o
t
h
e
r
w
i
s
e
\Delta \tau_{ij} = \begin{cases} \frac{Q}{L^k} & ij \in l_k \\ 0 & otherwise \end{cases}
Δτij={LkQ0ij∈lkotherwise
算法流程
七、神经计算
人工神经元模型
人工神经网络(ANN)是由大量处理单元经广泛互联而组成的人工网络,用来模拟脑神经系统的结构和功能。而这些处理单元称为人工神经元
结构:人工神经网络可以看成是以人工神经元为节点,用有向加权弧连接起来的有向图
在此有向图中:
- 人工神经元就是对生物神经元的模拟,而有向弧实则是树突–突触–轴突对的模拟。
- 有向弧的权值表示相互连接的两个人工神经元间相互作用的强弱
人工神经网络的特点
- 可以充分逼近任意复杂的 非线性关系
- 所有定量或定性的信息都等势分布贮存于网络内的各神经元,故有很强的 鲁棒性和容错性
- 采用 并行分布处理 方法,使得快速进行大量运算称为可能
- 可 学习和自适应 不知道或不确定的系统
- 能够同时处理定量、定性知识
- 可以通过软件和硬件实现
人工神经网络基本结构
人工神经元模型:
- θ i \theta_i θi 为神经元单元的偏置或阈值
- w j i w_ji wji 为连接权系数
- m 为输入信号数
- y i y_i yi 为神经元输出
- a ( ⋅ ) a(\cdot) a(⋅) 为输出变换函数,也叫激励函数,特性函数
前馈神经网络(前向神经网络):具有递阶分层结果,神经元从一层连接至下一层,不存在同层神经元间的连接
从输入层至输出层的信号通过 单相连接流;神经元从一层连接至下一层,不存在同层神经元间的连接
- 反向传播神经网络(BP)
- 径向基神经网络(RBF)
- 多层感知器(MLP)
- 学习矢量量化(LVQ)网络
- 小脑模型连接控制(CMAC)网络
反馈神经网络(递归神经网络):有些神经元的 输出被反馈至同层或前层神经元 。其输入数据决定反馈系统的初始状态,然后系统经过一系列的状态转移后逐渐收敛于平衡状态,即为反馈神经网络经过计算后的输出结果
信号能够从正向和反向流通:
- Hopfield 网络
- Elmman 网络
- Jordan 网络
神经网络知识表示
神经网络算法分类:
- 有师(指导式)学习算法:能够根据期望的和实际的网络输出(对应于给定输入)间的差来调整神经元间的连接的强度或权
- 无师(非指导式)学习算法:不需要指导期望输出。在训练过程中,只要向神经网络提供输入模式,神经网络就能够自动地适应连接权
- 强化学习算法:可以当作有师学习的一种特例,不需要老师给出目标输出,强化学习算法采用一个”评论员“来评价与给定输入相对应的神经网络输出的优度(质量因素)
知识表示:
神经网络中的知识是一种隐式的表示方法,即将某一问题的若干知识在同一网络中表示
神经网络推理过程
基于神经网络的知识推理实质上是在一个已经训练成熟的网络基础上对未知样本进行反应或判断。
神经网络的训练是一个网络对训练样本内在规律的学习过程,而对网络进行训练的目的的主要是为了让网络模型对训练样本以外的数据具有正确的映射能力
神经网络的泛化能力(推广能力):神经网络在训练完成后输入其训练样本意外的新数据时获得正确输出的能力
- 泛化新能的好坏取决于人工神经网络从训练样本中找到内在的真正规律
- 影响泛化能力的因素主要有:
- 训练样本的质量和数量
- 网络结构
- 问题本身的复杂程度
- 神经网络的训练次数也称为神经网络的学习时间。在一定范围内,训练次数的增加可以提高神经网络的泛化能力
- 对网络的训练,并不是使训练误差越小越好,而是要从实际出发,提高泛化能力
- 最佳的泛化能力往往出现在训练误差的全局最小点出现之前
神经网络的推理是通过网络计算实现的:把用户提供的初始证据作网络的输入,通过网络计算最终得到输出结果
**推理步骤: **
- 把一直数据输入网络输入层的各个节点
- 利用特性函数分别计算网络中各层的输出。计算中,前一层的输出作为后一层有关节点的输入,逐层进行计算,直至计算出输出层的输出值为止
- 用阈值函数对输出层的输出进行判定,从而得到输出结果
推理特征:
- 同层的处理单元(神经元)是完全并行的,但层间的信息传递是串行的。由于层中处理单元的数目要比网络层的层数多得多,因此它是一种 并行推理
- 在网络推理中不会出现传统人工智能中推理的冲突问题
- 网络推理只与输入及网络自身的参数有关,而这些参数又是通过使用学习算法对网络进行训练得到的,因此它是一种 自适应推理
八、机器学习
机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问。它是知识工程的三个分支(使用知识、知识表示、获取知识)之一
按照学习中使用推理的多少,机器学习所采用的策略大体上可分为 4 中:
- 机械学习:机械学习就是记忆,是最简单的学习策略,这种学习策略不需要任何推理过程
- 示教学习:系统在接受外部知识时需要一点推理,翻译和转化工作
- 类比学习:只能得到完成类似任务的有关
- 示例学习:采用示例学习策略的计算机系统,事先完全没有完成任务的任何规律性的信息,因此需要推理是最多的
九、专家系统
专家系统是一个智能计算机程序系统,其内部含有大量的某个领域专家水平的知识与经验,能够利用人类专家的知识和解决问题的方法来处理该领域问题
专家系统是一种模拟人类专家解决领域问题的计算机程序系统
特点:
- 启发性:能够运用专家的知识与经验进行推理、判断和决策
- 透明性:能够解释本身的推理过程和回答用户提出的问题,以便让用户能够了解推理过程,提高对专家系统的信赖感
- 灵活性:能不断地增长知识,修改原有只有,不断更新
优点:
- 高效率、准确、周到、迅速和不知疲倦地进行工作
- 不搜周围环境的影响,也不可能遗漏忘记
- 不受时间和空间的限制,以便推广珍贵和稀缺的专家知识与经验
- 能够促进各领域的发展,它使各领域专家的专业知识和经验得到总结和精练,能够广泛有力地传播专家的知识、经验和能力
- 能汇集多领域专家的知识和经验,以及他们协作解决重大问题的能力,拥有更渊博的知识、更丰富的经验和更强的工作能力
- 军事专家系统的水平是一个国家国防现代化的重要标志之一
- 专家系统的研制和应用,具有巨大的经济效益和社会效益
- 研究专家系统能够促进整个科学技术的发展。专家系统对人工智能的各个领域的发展起了很大的促进作用。
专家系统的类型:
- 解析专家系统
- 诊断专家系统
- 规划专家系统
- 控制专家系统
- 教学专家系统
- 预测专家系统
- 设计专家系统
- 监视专家系统
- 调试专家系统
- 修理专家系统
结构:
十、数据挖掘
从大量的数据中挖掘哪些令人感兴趣的、有用的、隐含的、先前未知的和可能有用的模式或知识
主要方法:
- 概念/类描述:特性话和区分
- 关联分析
- 分类和预测
- 聚类分析
- 孤立点分析
- 趋势和演变分析
分类:
- 一般功能
- 描述性的数据挖掘
- 预测性的数据挖掘
- 根据所挖掘的数据库类型分类:关系数据库、事务数据库、流式数据库、面向对象数据库……
- 根据挖掘的知识类型分类:特征分析、区分、关联分析、分类聚类、孤立点分析/演变分析……
- 根据挖掘所用的技术分类:面向数据库的挖掘、数据仓库、OLAP、机器学习……
- 根据数据库挖掘的应用分类:金融、电信、银行、欺诈分析……
十一、知识图谱
以结构化的方式描述客观世界中实体、概念、事件以及之间的关系
- 实体:客观世界的具体事务
- 概念:人类对客观事物的概念化描述表示
- 事件:发生在客观世界中的活动
- 关系:实体、概念、事件之间客观存在的关联