专家系统/模糊理论/神经网络/遗传算法相关基础知识
整理于大学时代的一篇笔记,对重新再研究AI及其关联的技术有一定概念参照意义。毕竟比较古老,可能仅在基础概念入门方面有一些提示。
常用缩写
缩写 | 全称 | 解释 |
---|---|---|
AI | Artificial Intelligence | 人工智能 |
ES | Expert System | 专家系统 |
SC | Soft Computing | 软计算 |
NN | Neural Network | 神经网络 |
ANN | Artificial Neural Network | 人工神经网络 |
BNN | Biological Neural Network | 生物神经网络 |
FS | Fuzzy System | 模糊系统 |
FL | Fuzzy Logic | 模糊逻辑 |
GA | Genetic Algorithm | 遗传算法 |
专家系统
什么是专家系统
专家系统是早期人工智能的活跃领域,在某一特定领域,建立以知识为基础,通过推理机制在特定领域对复杂问题进行求解的系统。一般主要来说专家系统基本上由知识库和推理机构成。如果再进行细化和扩展,可以涵括如下部分
项番 | 详细 |
---|---|
No.1 | 交互界面 |
No.2 | 知识库 |
No.3 | 知识获取 |
No.4 | 解释器 |
No.5 | 推理机 |
No.6 | 综合数据库 |
知识及其表示
相比其他,专家系统更加强调的是知识,ES也被称为基于知识的系统(Knowledge-Based Systems)。利用人类专家所掌握的知识对专家系统来说无比重要。人类专家的知识以易于处理的方式表示并不是一件容易的事情,常见的形式之一则是利用规则的形式来表示(比如IF…THEN…规则的形式).
专家系统的瓶颈
项目 | 详细 |
---|---|
知识难于获取 | 基于知识的ES,所需要的专家知识不容易获得 |
知识难于抽出 | 获得后的知识难以抽出,需要从人类思维方式的知识中去除形象思维只留逻辑思维这样适合数值计算和符号推理而进行精确求解的知识数据模型 |
知识难以表示 | 利用规则等可以表示知识,但是不是很方便,效果也不是很理想 |
思维方式难以模拟 | 人类在知识和经验的基础上学习,需要高度的推理/思索/判断等才能得出结论 |
模糊理论
发展背景
年份 | 详细 |
---|---|
1965 | 美国加利福尼亚大学L.A.Zadeh在那篇著名论文Fuzzy Sets中首次提出了模糊的概念 |
1974 | 英国工程师Madani把模糊理论首次应用于小型蒸汽机的自动控制领域,实现了自适应子学习功能 |
1980 | 丹麦的L.P.Holmblad和Ostergard在水泥窑炉 采用模糊控制并取得了成功,这是第一个商业化的有实际意义的模糊控制器 |
模糊理论特点
模糊理论简言之就是这样一种方法,利用它可以较为自然地处理和人类思考类似的处理。用比较绕一点的方法可以将其特点总结如下:
项番 | 详细方法 |
---|---|
No.1 | 模糊理论本身并不模糊 |
No.2 | 模糊逻辑是用来对“模糊”进行处理以消除模糊的逻辑 |
No.3 | 模糊逻辑是一种用精确的方法解决不精确或者不完全信息的方法,接近于人类的思考方式 |
使用范围
根据扎德教授的观点,模糊逻辑对于下列类似的系统进行建模和控制是较为自然的。
项番 | 详细方法 |
---|---|
No.1 | 大的自然系统,比如天气/海洋等 |
No.2 | 大的人造系统,比如经济/股票市场/国家选举等 |
综合各方观点,模糊逻辑最适用的为以下的几类系统
项番 | 详细方法 |
---|---|
No.1 | 太过复杂,无法精确建模的系统 |
No.2 | 明显非线性的复杂系统 |
No.3 | 输入或者定义具有结构不确定的系统 |
系统建模
系统建模一般分为线性建模和非线性建模。传统方式下的很多系统采用线性建模的方法,即满足线性叠加,简单的说一般有如下两种原理。
项番 | 原理 |
---|---|
No.1 | f(x+y) = f(x) + f(y) |
No.2 | f(ax) = af(x) |
非线性系统一般并非所有部分均为非线性,此时线性部分依然可以使用线性方式处理,可采取分段线性的方法。但是对于不可线性分段的非线性处理,没有具体的处理方法,比如经济预测/人类行为/图象和声音的识别等等。
复杂非线性系统
复杂的非线性系统,因为目前对其的处理,只能给出解的存在证明二不能给出具体方法,所以使用普通方法难以处理。扎德在1973年就提出了不相容原理。
项目 | 详细 |
---|---|
不相容原理 | 当系统的复杂度超过某一限度,对系统的举动进行正确且有意义的描述是不可能的 |
但是,即使这种情况下,也可以通过如下的方法对复杂的非线性系统进行了解
项番 | 详细方法 |
---|---|
No.1 | 建立描述系统行为的规则 |
No.2 | 将系统的一些有意义的状态表现成简单的内部符号,在这些状态在以后再次产生时能够被识别 |
No.3 | 通过例子或者ANN等进行训练,使用大量的数据喂出聪明的系统 |
扎德的方法
项番 | 详细方法 |
---|---|
No.1 | 不用数学方程,用语言为代表的模糊变量来记录和描述系统 |
No.2 | 通过条件命题,记述模糊变量之间的关系。比如如果温度低就加强加温器的热度 |
No.3 | 利用模糊推理算法记述系统 |
遗传算法
Why 遗传算法
如果说NN是模拟人脑以个体的生物为对象而衍生出的算法的话,GA就是模拟生物的进化过程而产生的算法。人类及其他生物本身就包含着尚未掌握的知识宝藏,GA以及各时代的多数生物为对象,在复杂的大规模系统的建模方面正在探索的一条新的途径。
算法机制
项目 | 详细 |
---|---|
对象 | 以几个世代的复数个生物为对象 |
转换 | 将问题的求解转化为将一群染色体置于问题的环境中 |
求解 | 根据适者生存的原则,为适应环境进行复制/再生/交叉/变异 |
优势 | 设计简单,对所求解的问题不需要知道更多信息,而这也是大规模复杂非线性系统的困境,其无法提供更加充足的信息。 |
算法原理
项目 | 详细 |
---|---|
基本原理 | 自然淘汰原理:优胜劣汰 |
基本操作:淘汰 | 对环境适应度低的进行淘汰,模拟自然劣汰原则 |
基本操作:增殖 | 对环境适应度高的进行增殖,模拟自然优胜原则 |
基本操作:交叉 | 模拟染色体的交叉,进行性质的混合 |
基本操作:变异 | 强制性的稍有变换的个体生成 |
模拟 | 将对象系统的各种参数的集合用一个染色体表示 |
计算 | 对染色体按照基本原理和基本操作进行运算 |
串行求解 | 普通方式是通过牛顿法/下降法等进行串行求解 |
并行求解 | GA通过多个体并行探索求解,通过个体间的选择/交叉等相互作用,提高探索效率 |
应用领域
一般应用于并不局限于如下领域
项番 | 详细 |
---|---|
No.1 | 系统设计 |
No.2 | 系统优化 |
No.3 | 遗传程序设计 |
No.4 | 人工生命 |
No.5 | …… |
神经网络
发展背景
年份 | 详细 |
---|---|
1943 | 美国心理学家W.S.McCulloch和数学家 W.A.Pitis提出的最初的M-P神经元模型 |
1949 | 加拿大心理学家Hebb提出了著名的Hebb学习规则,为神经网络的学习算法奠定了基础 |
1958 | Frank Rosenblatt在1957年就职于Cornell航空实验室时发明的一种人工神经网络Perceptron(感知器) |
1969 | M.Minsky.Papert 指出Perceptron的局限性 |
1972 | 芬兰学者Kohonen提出了一个与感知机等神经网络不同的自组织映射理论(SOM) |
1972 | 中野提出了联想记忆模型(Association) |
1975 | 福岛提出了一个自组织识别神经网络模型 |
1982 | 生物物理学家J.Hopfield引入了能量函数提出了一种新的人工神经网络模型:Hopfield network |
1983 | Boltzmann Machine引入模拟退火概念,更好地解决了组合优化 |
1986 | Rumelhart和McCelland为首的科学家小组提出一种按误差逆传播算法训练的多层前馈网络BP(Back Propagation)网络 |
分类
按照方式
项番 | 详细 |
---|---|
ANN | 人工神经网络 |
BNN | 生物神经网络 |
结合方式
项番 | 详细 |
---|---|
阶层型 | 信息的流动为单向,输入数据向输出层传递 |
相互结合型 | 所有的神经元间都结合,信息的流动是双向的。某一神经原若向另一神经元输出,同时也接受该神经元的输出 |
学习方式
项番 | 详细 |
---|---|
有教师学习(Supervised learning) | 输出和期待结果可进行调解 |
无教师学习(Unsupervised learning) | 只有输出无期待结果可进行比较 |
信号流向
项番 | 详细 |
---|---|
前馈型 | 信号只向输出层方向传播 |
反馈型 | 信号有向输入层返回 |
NN/FS/GA的相似点
项目 | 特点 |
---|---|
NN | 微观层次上模仿脑神经网络的功能 |
FS | 模拟人类的主观信息处理方式 |
GA | 模拟生物进化方式 |
三者的融合,取长补短,也能产生很多优秀的算法
专家系统/模糊理论/神经网络/遗传算法相关基础知识相关推荐
- 遗传算法(基础知识)
遗传算法(基础知识) 遗传算法简称GA(Genetic Algorithms)模拟自然界生物遗传学(孟德尔)和生物进化论(达尔文)通过人工方式所构造的一类 并行随机搜索最优化方法,是对生物进化过程** ...
- 6-DoF问题相关基础知识笔记
6-DoF问题相关基础知识笔记 一.什么是6-DoF,即6个自由度是什么? 二.PnP算法 三.BOP挑战与官方数据集简介 BOP数据集 BOP toolkit BOP挑战的介绍页面 四.相关论文 C ...
- 【生信】基因组学相关基础知识2
[生信]基因组学相关基础知识2 本文图片来源网络或学术论文,文字部分来源网络与学术论文,仅供学习使用. 目录 [生信]基因组学相关基础知识2 9.细胞增殖与分化的定义和区别 10.有丝分裂与减数分裂 ...
- 【RAC】RAC相关基础知识
[RAC]RAC相关基础知识 1.CRS简介 从Oracle 10G开始,oracle引进一套完整的集群管理解决方案--Cluster-Ready Services,它包括集群连通性.消息和锁. ...
- 黑马程序员_JAVA相关基础知识
------- android培训.java培训.期待与您交流! -------- JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便 ...
- 零件三维缺陷检测相关基础知识
零件三维缺陷检测相关基础知识 看了几篇文献,总结下来三维缺陷检测的过程,总的来说分为: 零件表面的三维数据获取 根据零件的三维数据信息进行三维重建 目标点云与标准点云的配准 配准后的点云做差得到缺陷信 ...
- 【C++后台开发面经】面试总结第三波:针对后台开发相关基础知识分类总结
前言 面试总结第三波,关于后台开发面试相关基础知识,数据结构.算法.linux操作系统.计算机网络.C++.数据库进行分类总结. 后端面试总结 目录 后端面试总结 1.数据结构 链表和数组的区别 树的 ...
- mysql bdb版本_深入理解mysql之BDB系列(1)---BDB相关基础知识
深入理解mysql之BDB系列(1) ---BDB相关基础知识 作者:杨万富 一:BDB体系结构 1.1.BDB体系结构 BDB总体的体系结构如图1.1所看到的,包括五个子系统(见图1.1中相关数). ...
- 深入理解mysql之BDB系列(1)---BDB相关基础知识
深入理解mysql之BDB系列(1) ---BDB相关基础知识 作者:杨万富 一:BDB体系结构 1.1.BDB体系结构 BDB整体的体系结构如图1.1所示,包含五个子系统(见图1.1中相关数 ...
最新文章
- (十二)struts2的类型转换
- 一起来看流星雨剧情简介/剧情介绍/剧情分集介绍第三十五集
- Oracle 备份与恢复学习笔记(6_1)
- springboot 做表白墙_华农表白墙144期 | 等什么时候,她从我开的花店前经过,我把整个花店送个她可好。...
- C++中const关键字的使用总结
- java学生考勤代码免费,基于jsp的学生考勤管理-JavaEE实现学生考勤管理 - java项目源码...
- java 网络请求 生成本地图片
- Java数据类型分类 1
- 灾备行业最全常用术语
- 中国省份数据字典表---自用
- 如何修复VUM在客户端启用之后报数据库连接失败的问题
- 国庆集训1101+1103(未完成)
- MWC - 飞控套件CRIUS MWC MultiWii SE v2.6组装
- 土木工程计算机设计考试科目一模拟试题,科目一电脑模拟考试,原来这么简单,看完这个科一不用愁!...
- Word文档使用Mathtype如何实现公式自动居中并右对齐编号?
- 李沐动手学深度学习_环境搭建
- excel 妙用选择性粘贴
- python中%s和%r的区别
- npm install安装报错 npm ERR! code Z_BUF_ERROR 问题解决
- 我叫mt4服务器维护时间,我叫MT4维护更新公告 维护更新内容及时间