Artificial Intelligence 简明教程
Artificial Intelligence - Neural Networks
人工智能中的另一个研究领域神经网络,其灵感源自人体神经系统的自然神经网络。
Basic Structure of ANNs
人工神经网络的想法基于这样的信念:通过建立正确的连接,可以用硅和电线来模仿人脑的工作方式,就像活动中的 neurons 和 dendrites 一样。
人脑由 860 亿个被称为 neurons. 的神经细胞组成。它们通过 Axons. 与其他数千个细胞相连。来自外部环境的刺激或来自感觉器官的输入被树突接受。这些输入会产生电脉冲,这些脉冲会迅速通过神经网络传播。然后神经元可以将消息发送到其他神经元来处理问题,或者不将其转发。
人工神经网络由多个 nodes 组成,它们模仿人脑的生物 neurons 。神经元通过链接相互连接,并相互交互。节点可以获取输入数据并在数据上执行简单运算。这些运算的结果会传递给其他神经元。每个节点的输出被称为它的 activation 或 node value. 。
每个链接都与 weight. 相关联,人工神经网络具有学习能力,这种学习能力可以通过改变权重值来实现。下图显示了一个简单的人工神经网络 −
Working of ANNs
在所示拓扑图中,每个箭头表示两个神经元之间的连接,并指示信息的流动路径。每个连接都有一个权重,这是一个整数,用于控制两个神经元之间的信号。
如果网络生成“良好或理想”的输出,则无需调整权重。但是,如果网络生成“不良或不理想”的输出或错误,则系统将为了改进后续结果而改变权重。
Machine Learning in ANNs
人工神经网络能够学习并且需要进行训练。有几种学习策略 -
-
Supervised Learning - 涉及到一个比人工神经网络本身更博学的老师。例如,老师提供一些示例数据,而老师已经知道答案。例如,模式识别。人工神经网络在识别的过程中不断猜测。然后老师向人工神经网络提供答案。然后网络将猜测与老师的“正确”答案进行比较,并根据错误进行调整。
-
Unsupervised Learning - 当没有包含已知答案的示例数据集时需要。例如,搜索隐藏模式。在这种情况下,群集即根据一些未知模式将一组元素划分为组,是基于现有的数据集进行的。
-
Reinforcement Learning - 此策略建立在观察之上。人工神经网络通过观察其环境来做出决策。如果观察结果是否定的,则网络调整其权重,以便下次能够做出不同的所需决策。
Bayesian Networks (BN)
这些是用于表示一组随机变量之间的概率关系的图形结构。贝叶斯网络也称为 Belief Networks 或 Bayes Nets. BNs 推理不确定的域。
在这些网络中,每个节点表示具有特定命题的随机变量。例如,在医学诊断域中,节点“癌症”表示患者患有癌症的命题。
连接节点的边表示这些随机变量之间的概率依赖性。如果两个节点中有一个正在影响另一个,则必须按照效果的方向直接连接它们。变量之间的关系强度由与每个节点关联的概率来量化。
BN 中的弧上只有一个约束,即您不能仅仅通过遵循有向弧而返回到一个节点。因此,BN 被称为有向无环图 (DAG)。
BN 能够同时处理多值变量。BN 变量由两个维度组成 -
-
Range of prepositions
-
分配给每个命题的概率。
考虑离散随机变量的有限集 X = {X1, X2, …,Xn},其中每个变量 Xi 可以从有限集 Val(Xi) 中取值。如果从变量 Xi 到变量 Xj 有一个有向链接,则变量 Xi 将成为变量 Xj 的父节点,显示变量之间的直接依赖性。
BN 的结构非常适合于结合先验知识和观察到的数据。BN 可用于学习因果关系并了解各种问题域,以及预测未来事件,即使在数据缺失的情况下也是如此。
Building a Bayesian Network
知识工程师可以构建贝叶斯网络。知识工程师在构建它时需要采取一些步骤。
Example problem - 肺癌。一名患者一直患有呼吸急促。他去看医生,怀疑自己患有肺癌。医生知道,除了肺癌之外,患者还有可能患上多种其他疾病,例如结核病和支气管炎。
Gather Relevant Information of Problem
-
患者是否吸烟?如果是的,则患癌症和支气管炎的可能性很高。
-
患者是否接触空气污染?如果是,是哪种空气污染?
-
进行 X 射线透视,透视结果为正,表示该患者患有肺结核或肺癌。
Identify Interesting Variables
知识工程师试图回答以下问题:
-
Which nodes to represent?
-
这些变量可以取什么值?它可以处于哪些状态?
现在,让我们考虑仅具有离散值的节点。此变量一次必须采用其中一个值。
Common types of discrete nodes are −
-
Boolean nodes − 它们表示命题,取二进制值真 (T) 和假 (F)。
-
Ordered values − 一个节点 Pollution(污染)表示并取值 {low, medium, high},描述患者的污染暴露程度。
-
Integral values − 一个名为 Age(年龄)的节点表示患者年龄,可能的取值范围为 1 到 120。即使处于早期阶段,也在做出建模选择。
肺癌示例中可能的节点和值 −
Node Name |
Type |
Value |
Nodes Creation |
Polution |
Binary |
{LOW, HIGH, MEDIUM} |
|
Smoker |
Boolean |
{TRUE, FASLE} |
Lung-Cancer |
Boolean |
{TRUE, FASLE} |
X-Ray |
Binary |
Create Arcs between Nodes
网络拓扑应捕获变量之间的定性关系。
例如,什么导致患者患有肺癌?- 污染和吸烟。然后从节点 Pollution 和节点 Smoker 添加指向节点 Lung-Cancer 的弧线。
类似的,如果患者患有肺癌,那么 X 射线结果将为正。然后从节点 Lung-Cancer 添加弧线,指向节点 X-Ray。
Specify Topology
根据惯例,BN 的布局使得弧线从上向下指向。节点 X 的父节点集合由 Parents(X) 给出。
节点 Lung-Cancer 具有两个父节点(原因或起因):Pollution 和 Smoker,而 Smoker 节点是 X-Ray 节点的 ancestor 。类似地,X-Ray 是节点 Lung-Cancer 的子节点(后果或影响),以及节点 Smoker 和 Pollution 的 successor 。
Conditional Probabilities
现在量化相连节点之间的关系:此过程通过为每个节点指定一个条件概率分布来完成。由于此处仅考虑离散变量,因此采用 Conditional Probability Table (CPT). 形式
首先,对于每个节点,我们需要查看父节点值的各种可能组合。这种组合被称为父集的 instantiation 。对于父节点值的每个不同实例,我们需要指定子节点将采用的概率。
例如,肺癌节点的父节点是污染和吸烟。它们采用可能的取值 = {(H,T),(H,F),(L,T),(L,F)}。CPT 指定对于这四个案例中的每一个案例,癌症的概率分别为 <0.05,0.02,0.03,0.001>。
每个节点都将具有如下关联的条件概率 −
Applications of Neural Networks
它们可以执行对于人类来说很容易但对于机器来说很难的任务 −
-
Aerospace − 飞机自动驾驶,飞机故障检测。
-
Automotive − 汽车引导系统。
-
Military − 武器定位和操纵、目标跟踪、物体分类、面部识别、信号/图像识别。
-
Electronics − 代码序列预测、集成电路芯片布局、芯片故障分析、机器视觉、语音合成。
-
Financial − 房地产评估、贷款顾问、抵押筛查、公司债券评级、投资组合交易计划、公司财务分析、货币价值预测、文档阅读器、信贷申请评估器。
-
Industrial − 制造过程控制、产品设计和分析、质量检测系统、焊缝质量分析、纸张质量预测、化学产品设计分析、化学工艺系统的动态建模、机器维护分析、项目投标、规划和管理。
-
Medical − 癌细胞分析、脑电图和心电图分析、假肢设计、移植时间优化器。
-
Speech − 语音识别、语音分类、文本到语音转换。
-
Telecommunications − 图像和数据压缩、自动信息服务、实时口语翻译。
-
Transportation − 卡车制动系统诊断、车辆调度、路径系统。
-
Software − 面部识别的模式识别、光学字符识别等。
-
Time Series Prediction − ANN 用于对股票和自然灾害进行预测。
-
Signal Processing − 神经网络可以接受训练来处理音频信号,并在助听器中对其进行适当地过滤。
-
Control − ANN 通常用于对物理车辆进行转向决策。
-
Anomaly Detection − 由于 ANN 精于识别模式,因此还可以对 ANN 进行训练以在出现不符合模式的异常时生成输出。