假定已经算出了第n次选代的Pn(9|y),那么第n+1次迭代的Pn+1(9|y)用以下的两个步骤轮番地 修改得到 (2)1( Imputation)步骤(得到潜变量的条件样本):先按pn(9|y)对9n作随机取样,再 按p(=|y9)独立地取样m个:二,…,二(m充分大 (3)P( Poster ior)步骤(用增补后验分布更新后验分布):令 pn+1(9|y) p(9|y,z) 3几种智能算法 3.1背景 随着髙性能计算机的发展,岀现了一系列算法,如神经网络,模拟退火,遗传算法,演 化算法,隐 Markov模型,自适应算法等.它们大多出自仿真人的思维,不仅具有通用,稳 健( robust),简单及便于并行处理等优点,而且也有望成为将数值计算与语义表达,形象思 维等与高级智能行为相联系的桥梁.事实上,把人的智能与思维仅仅理解为主要是逻辑思维 是有很大的片面性的.与逻辑思维相反的以因果思维与统计判决为代表的非逻辑推断,应该 说在日常推断中是更为本质的.例如,在逻辑推理中,从”A蕴涵B”这个命题能作的推 理是:一旦A出现,就立知B发生.这只是一种简单思维.而人类的智能推断是更为高级 的思维.其判断过程却往往是一个由”结果”探求其”原因”的相反过程.例如,医生 诊断疾病时,常常是:由”疾病A有症状B”这一命题,从病人有症状B,反过来推断病 人有多大的可能有疾病A.这是一种非逻辑的推断,含有不确定性,还有犯错误的风险.然 而这正体现了人类的高级智能活动.同样的推理还有:法医尸检死因,侦探寻找作案人,天 气预报,考古分析,矿藏探测等等.与之相联系的计算方法都可归入智能算法 一般地,智能算法常具有以下的特点 (1)大都引入了人为的随机因素,因而其计算过程实际上是作随机过程的模拟.然 而,这种人工噪声的作用不仅不起干扰的作用,而是相反地起正面的作用.使用它完全是为 了控制计算的进行方向 (2)大都具有自适应机制,可以在计算过程中不断调整. (3)大都是针对通用的目标函数而设计的,并不采用具体问题具体处理的启发式方 (4)不少算法是对高维及复杂情形设计的.它们在低维或简单的情形有时效果很差, 有时也显得很笨拙 3.2决定性的人工神经网络 神经网络是一个由彼此具有相互作用的多个神经元联结在一起的一个系统.作为神经 网络的整个系统的协同工作产生一个总的效应.这个总的效应是一种功能,它可以是对应于 定的输入时有一定的相应输出,也可以是一种记忆功能.神经网络的重点是功能研究.在 功能研究的基础上,构造具有相互作用的粒子系统,称为人工神经网络,以仿真地起到成为 模拟某种功能的功能器.在数学上,人工神经网络也可以用来构造具有某种绐定功能的分片 线性处理器.人工神经网络的操作一般具有黑箱的特点.神经网络方法的精神在于 由从例子(即样品)学习中,归纳出规律 424
424 假定已经算出了第 n 次迭代的 p ( | y) n J , 那么第n +1次迭代的 ( | ) 1 p y n+ J 用以下的两个步骤轮番地 修改得到 (2) I (Imputation) 步骤 (得到潜变量的条件样本): 先按 p ( | y) n J 对Jn 作随机取样, 再 按 ( | , ) n p z y J 独立地取样m 个: (1) ( ) , , m z L z (m 充分大); (3) P (Posterior) 步骤 (用增补后验分布更新后验分布): 令 ( | , ) 1 ( | ) ( ) 1 1 i m i n p y z m p J y å J = + = . 3 几种智能算法 3. 1 背景 随着高性能计算机的发展, 出现了一系列算法, 如神经网络, 模拟退火, 遗传算法, 演 化算法, 隐 Markov 模型, 自适应算法等. 它们大多出自仿真人的思维, 不仅具有通用, 稳 健(robust), 简单及便于并行处理等优点, 而且也有望成为将数值计算与语义表达, 形象思 维等与高级智能行为相联系的桥梁. 事实上, 把人的智能与思维仅仅理解为主要是逻辑思维, 是有很大的片面性的. 与逻辑思维相反的以因果思维与统计判决为代表的非逻辑推断,应该 说在日常推断中是更为本质的. 例如, 在逻辑推理中, 从 ”A 蕴涵 B” 这个命题能作的推 理是: 一旦 A 出现, 就立知 B 发生. 这只是一种简单思维. 而人类的智能推断是更为高级 的思维. 其判断过程却往往是一个由 ”结果” 探求其 ”原因” 的相反过程. 例如, 医生 诊断疾病时, 常常是: 由 ”疾病 A 有症状 B” 这一命题, 从病人有症状 B, 反过来推断病 人有多大的可能有疾病 A. 这是一种非逻辑的推断, 含有不确定性, 还有犯错误的风险. 然 而这正体现了人类的高级智能活动. 同样的推理还有: 法医尸检死因, 侦探寻找作案人, 天 气预报, 考古分析, 矿藏探测等等. 与之相联系的计算方法都可归入智能算法. 一般地, 智能算法常具有以下的特点: (1) 大都引入了人为的随机因素, 因而其计算过程实际上是作随机过程的模拟. 然 而,这种人工噪声的作用不仅不起干扰的作用, 而是相反地起正面的作用. 使用它完全是为 了控制计算的进行方向. (2) 大都具有自适应机制, 可以在计算过程中不断调整. (3) 大都是针对通用的目标函数而设计的, 并不采用具体问题具体处理的启发式方 法. (4) 不少算法是对高维及复杂情形设计的. 它们在低维或简单的情形有时效果很差, 有时也显得很笨拙. 3.2 决定性的人工神经网络 神经网络是一个由彼此具有相互作用的多个神经元联结在一起的一个系统. 作为神经 网络的整个系统的协同工作产生一个总的效应. 这个总的效应是一种功能, 它可以是对应于 一定的输入时有一定的相应输出, 也可以是一种记忆功能. 神经网络的重点是功能研究. 在 功能研究的基础上, 构造具有相互作用的粒子系统, 称为人工神经网络, 以仿真地起到成为 模拟某种功能的功能器. 在数学上, 人工神经网络也可以用来构造具有某种给定功能的分片 线性处理器. 人工神经网络的操作一般具有黑箱的特点. 神经网络方法的精神在于: 由从例子(即样品)学习中, 归纳出规律
因此,它并不需要知道数据来自的对象的机理.这是它的长处.当然,在规律较为明显的情 形,它也就会显出不足.总体看来,可以说神经网络方法是有别于经典统计的一种另类统计 方法 人工神经网络可分为决定性的和随机的两大类.它们又各自包括各种不同类型的神经 网络.这种不同的神经网络的构造,是根据要求它完成某种制定的特殊功能而设计的.而随 机因素的引入,是为了使计算更稳定,减少往错误的方向进行的可能性 决定性的人工神经网络,如前传神经网络与随机过程并没有关系.但是它是人工神经网 络的基础,它有广泛的应用.再则,通过它不仅可以了解人工神经网络的原理与功能,并 且也可以更好地理解随机的神经网络.所以本书也采纳了决定性的人工神经网络.以下我 们先介绍决定性的前传人工神经网络,而把更为一般的决定性的递归神经网络放在随机神 经网络中一并处理 3.2.1决定性的前传人工神经网络 前传网络的概念 最常见的人工神经网络是多层前传网络.这种网络可分为多层,其中每层有一些单元组 成.一般分为3种层次,依次为:输入层(由接受输入数据的神经元组成,它们不受其他神 经元的相互作用),隐层和输出层.作为中间层的隐层,又可分为若干个子层(由 Kolmogorov 的理论结果,它等价于只有一个隐层的某个系统.然而在实际计算中,往往以采用多层更为 方便,灵活).所谓前传网络,就是信息只能由前向后传,只有前一层的单元对其后一层的 单元可能有相互作用.每一个隐层或输出层都由许多感受子( perceptron)组成.每一个感 受子就是一个受到网络相互作用的神经元.在前传网络中,这种相互作用只允许来自上一层 的神经元 最典型的是具有3层的全连接前传网络,其隐层元,例如,可以取6个至8个神经元.网 络的效果相当于分片线性近似.它是一种进行自适应学习的非线性处理器.其典型的模式是 如下的受门限限制的线性作用:设输入层为m个输入神经元x=(x1…,xn),隐层有l个 神经单元(体现为分量)h=(h…,h1),而输出层为n个单元y=(1…,yn).用权重 2,23)分别表示输入元给隐元k的作用(强度),和隐元k给输出元j的作用.通常取 门限函数g为在0点的单位阶跃函数 (15.9) 0(x<0) 或S形阈值函数,例如 eX g(x)=-arctan( ax),(a>0) (15.10) 于是输入层到隐层间的转递为 h=g∑k2x-0) (15.11) 而隐层到输出层的转移为 g(∑3h4-0") 其中6,0,是为了方便而预先设置的门限常数,称为阈值.在g为在0点的单位阶跃函数 425
425 因此, 它并不需要知道数据来自的对象的机理. 这是它的长处. 当然, 在规律较为明显的情 形, 它也就会显出不足. 总体看来, 可以说神经网络方法是有别于经典统计的一种另类统计 方法. 人工神经网络可分为决定性的和随机的两大类. 它们又各自包括各种不同类型的神经 网络. 这种不同的神经网络的构造, 是根据要求它完成某种制定的特殊功能而设计的. 而随 机因素的引入, 是为了使计算更稳定, 减少往错误的方向进行的可能性. 决定性的人工神经网络,如前传神经网络与随机过程并没有关系. 但是它是人工神经网 络的基础, 它有广泛的应用. 再则, 通过它不仅可以了解人工神经网络的原理与功能, 并 且也可以更好地理解随机的神经网络. 所以本书也采纳了决定性的人工神经网络. 以下我 们先介绍决定性的前传人工神经网络, 而把更为一般的决定性的递归神经网络放在随机神 经网络中一并处理. 3.2.1 决定性的前传人工神经网络 1. 前传网络的概念 最常见的人工神经网络是多层前传网络. 这种网络可分为多层, 其中每层有一些单元组 成. 一般分为 3 种层次, 依次为: 输入层(由接受输入数据的神经元组成, 它们不受其他神 经元的相互作用), 隐层和输出层. 作为中间层的隐层, 又可分为若干个子层(由 Kolmogorov 的理论结果, 它等价于只有一个隐层的某个系统. 然而在实际计算中, 往往以采用多层更为 方便, 灵活). 所谓前传网络, 就是信息只能由前向后传, 只有前一层的单元对其后一层的 单元可能有相互作用. 每一个隐层或输出层都由许多感受子(perceptron) 组成. 每一个感 受子就是一个受到网络相互作用的神经元. 在前传网络中, 这种相互作用只允许来自上一层 的神经元. 最典型的是具有3层的全连接前传网络, 其隐层元, 例如, 可以取 6个至8个神经元. 网 络的效果相当于分片线性近似. 它是一种进行自适应学习的非线性处理器. 其典型的模式是 如下的受门限限制的线性作用: 设输入层为 m 个输入神经元 ( , , ) 1 m x = x L x , 隐层有 l 个 神经单元(体现为分量) ( , , ) h = h1 L hl , 而输出层为 n 个单元 ( , , ) 1 n y = y L y . 用权重 (1,2 ) (2,3) , wik wkl 分别表示输入元i 给隐元k 的作用(强度),和隐元k 给输出元 j 的作用. 通常取 门限函数 g 为在 0 点的单位阶跃函数 ç ç è æ < ³ = 0 ( 0) 1 ( 0) ( ) x x g x , (15. 9) 或 S 形阈值函数, 例如, , 1 1 ( ) ax e g x - + = 或 arctan( ), 2 g(x) ax p = (a > 0) . (15. 10) 于是输入层到隐层间的转递为 ( ) (1,2) i k i k ik h = g åw x -q , (15. 11) 而隐层到输出层的转移为 ( ') (2,3) k j k y j = g åwkj h -q , (15. 12) 其中 , ' qk q j 是为了方便而预先设置的门限常数, 称为阈值..在g 为在 0 点的单位阶跃函数