神经网络Hopfield模型
2020-01-17 · 技术研发知识服务融合发展。
一、Hopfield模型概述
1982年,美国加州工学院J.Hopfield发表一篇对人工神经网络研究颇有影响的论文。他提出了一种具有相互连接的反馈型人工神经网络模型——Hopfield人工神经网络。
Hopfield人工神经网络是一种反馈网络(Recurrent Network),又称自联想记忆网络。其目的是为了设计一个网络,存储一组平衡点,使得当给网络一组初始值时,网络通过自行运行而最终收敛到所存储的某个平衡点上。
Hopfield网络是单层对称全反馈网络,根据其激活函数的选取不同,可分为离散型Hopfield网络(Discrete Hopfield Neural Network,简称 DHNN)和连续型 Hopfield 网络(Continue Hopfield Neural Network,简称CHNN)。离散型Hopfield网络的激活函数为二值型阶跃函数,主要用于联想记忆、模式分类、模式识别。这个软件为离散型Hopfield网络的设计、应用。
二、Hopfield模型原理
离散型Hopfield网络的设计目的是使任意输入矢量经过网络循环最终收敛到网络所记忆的某个样本上。
正交化的权值设计
这一方法的基本思想和出发点是为了满足下面4个要求:
1)保证系统在异步工作时的稳定性,即它的权值是对称的,满足
wij=wji,i,j=1,2…,N;
2)保证所有要求记忆的稳定平衡点都能收敛到自己;
3)使伪稳定点的数目尽可能地少;
4)使稳定点的吸引力尽可能地大。
正交化权值的计算公式推导如下:
1)已知有P个需要存储的稳定平衡点x1,x2…,xP-1,xP,xp∈RN,计算N×(P-1)阶矩阵A∈RN×(P-1):
A=(x1-xPx2-xP…xP-1-xP)T。
2)对A做奇异值分解
A=USVT,
U=(u1u2…uN),
V=(υ1υ2…υP-1),
中国矿产资源评价新技术与评价新模型
Σ=diαg(λ1,λ2,…,λK),O为零矩阵。
K维空间为N维空间的子空间,它由K个独立的基组成:
K=rαnk(A),
设{u1u2…uK}为A的正交基,而{uK+1uK+2…uN}为N维空间的补充正交基。下面利用U矩阵来设计权值。
3)构造
中国矿产资源评价新技术与评价新模型
总的连接权矩阵为:
Wt=Wp-T·Wm,
其中,T为大于-1的参数,缺省值为10。
Wp和Wm均满足对称条件,即
(wp)ij=(wp)ji,
(wm)ij=(wm)ji,
因而Wt中分量也满足对称条件。这就保证了系统在异步时能够收敛并且不会出现极限环。
4)网络的偏差构造为
bt=xP-Wt·xP。
下面推导记忆样本能够收敛到自己的有效性。
(1)对于输入样本中的任意目标矢量xp,p=1,2,…,P,因为(xp-xP)是A中的一个矢量,它属于A的秩所定义的K个基空间的矢量,所以必存在系数α1,α2,…,αK,使
xp-xP=α1u1+α2u2+…+αKuK,
即
xp=α1u1+α2u2+…+αKuK+xP,
对于U中任意一个ui,有
中国矿产资源评价新技术与评价新模型
由正交性质可知,上式中
当i=j,
当i≠j,
对于输入模式xi,其网络输出为
yi=sgn(Wtxi+bt)
=sgn(Wpxi-T·Wmxi+xP-WpxP+T·WmxP)
=sgn[Wp(xi-xP)-T·Wm(xi-xP)+xP]
=sgn[(Wp-T·Wm)(xi-xP)+xP]
=sgn[Wt(xi-xP)+xP]
=sgn[(xi-xP)+xP]
=xi。
(2)对于输入模式xP,其网络输出为
yP=sgn(WtxP+bt)
=sgn(WtxP+xP-WtxP)
=sgn(xP)
=xP。
(3)如果输入一个不是记忆样本的x,网络输出为
y=sgn(Wtx+bt)
=sgn[(Wp-T·Wm)(x-xP)+xP]
=sgn[Wt(x-xP)+xP]。
因为x不是已学习过的记忆样本,x-xP不是A中的矢量,则必然有
Wt(x-xP)≠x-xP,
并且再设计过程中可以通过调节Wt=Wp-T·Wm中的参数T的大小来控制(x-xP)与xP的符号,以保证输入矢量x与记忆样本之间存在足够的大小余额,从而使sgn(Wtx+bt)≠x,使x不能收敛到自身。
用输入模式给出一组目标平衡点,函数HopfieldDesign( )可以设计出 Hopfield 网络的权值和偏差,保证网络对给定的目标矢量能收敛到稳定的平衡点。
设计好网络后,可以应用函数HopfieldSimu( ),对输入矢量进行分类,这些输入矢量将趋近目标平衡点,最终找到他们的目标矢量,作为对输入矢量进行分类。
三、总体算法
1.Hopfield网络权值W[N][N]、偏差b[N]设计总体算法
应用正交化权值设计方法,设计Hopfield网络;
根据给定的目标矢量设计产生权值W[N][N],偏差b[N];
使Hopfield网络的稳定输出矢量与给定的目标矢量一致。
1)输入P个输入模式X=(x[1],x[2],…,x[P-1],x[P])
输入参数,包括T、h;
2)由X[N][P]构造A[N][P-1]=(x[1]-x[P],x[2]-x[P],…,x[P-1]-x[P]);
3)对A[N][P-1]作奇异值分解A=USVT;
4)求A[N][P-1]的秩rank;
5)由U=(u[1],u[2],…,u[K])构造Wp[N][N];
6)由U=(u[K+1],…,u[N])构造Wm[N][N];
7)构造Wt[N][N]=Wp[N][N]-T*Wm[N][N];
8)构造bt[N]=X[N][P]-Wt[N][N]*X[N][P];
9)构造W[N][N](9~13),
构造W1[N][N]=h*Wt[N][N];
10)求W1[N][N]的特征值矩阵Val[N][N](对角线元素为特征值,其余为0),特征向量矩阵Vec[N][N];
11)求Eval[N][N]=diag{exp[diag(Val)]}[N][N];
12)求Vec[N][N]的逆Invec[N][N];
13)构造W[N][N]=Vec[N][N]*Eval[N][N]*Invec[N][N];
14)构造b[N],(14~15),
C1=exp(h)-1,
C2=-(exp(-T*h)-1)/T;
15)构造
中国矿产资源评价新技术与评价新模型
Uˊ——U的转置;
16)输出W[N][N],b[N];
17)结束。
2.Hopfield网络预测应用总体算法
Hopfield网络由一层N个斜坡函数神经元组成。
应用正交化权值设计方法,设计Hopfield网络。
根据给定的目标矢量设计产生权值W[N][N],偏差b[N]。
初始输出为X[N][P],
计算X[N][P]=f(W[N][N]*X[N][P]+b[N]),
进行T次迭代,
返回最终输出X[N][P],可以看作初始输出的分类。
3.斜坡函数
中国矿产资源评价新技术与评价新模型
输出范围[-1,1]。
四、数据流图
Hopfield网数据流图见附图3。
五、调用函数说明
1.一般实矩阵奇异值分解
(1)功能
用豪斯荷尔德(Householder)变换及变形QR算法对一般实矩阵进行奇异值分解。
(2)方法说明
设A为m×n的实矩阵,则存在一个m×m的列正交矩阵U和n×n的列正交矩阵V,使
中国矿产资源评价新技术与评价新模型
成立。其中
Σ=diag(σ0,σ1,…σp)p⩽min(m,n)-1,
且σ0≥σ1≥…≥σp>0,
上式称为实矩阵A的奇异值分解式,σi(i=0,1,…,p)称为A的奇异值。
奇异值分解分两大步:
第一步:用豪斯荷尔德变换将A约化为双对角线矩阵。即
中国矿产资源评价新技术与评价新模型
其中
中国矿产资源评价新技术与评价新模型
j具有如下形式:
中国矿产资源评价新技术与评价新模型
其中ρ为一个比例因子,以避免计算过程中的溢出现象与误差的累积,Vj是一个列向量。即
Vj=(υ0,υ1,…,υn-1),
则
中国矿产资源评价新技术与评价新模型
其中
中国矿产资源评价新技术与评价新模型
第二步:用变形的QR算法进行迭代,计算所有的奇异值。即:用一系列的平面旋转变换对双对角线矩阵B逐步变换成对角矩阵。
在每一次的迭代中,用变换
中国矿产资源评价新技术与评价新模型
其中变换
在每次迭代时,经过初始化变换V01后,将在第0列的主对角线下方出现一个非0元素。在变换V01中,选择位移植u的计算公式如下:
中国矿产资源评价新技术与评价新模型
最后还需要对奇异值按非递增次序进行排列。
在上述变换过程中,若对于某个次对角线元素ej满足
|ej|⩽ε(|sj+1|+|sj|)
则可以认为ej为0。
若对角线元素sj满足
|sj|⩽ε(|ej-1|+|ej|)
则可以认为sj为0(即为0奇异值)。其中ε为给定的精度要求。
(3)调用说明
int bmuav(double*a,int m,int n,double*u,double*v,double eps,int ka),
本函数返回一个整型标志值,若返回的标志值小于0,则表示出现了迭代60次还未求得某个奇异值的情况。此时,矩阵的分解式为UAVT;若返回的标志值大于0,则表示正常返回。
形参说明:
a——指向双精度实型数组的指针,体积为m×n。存放m×n的实矩阵A;返回时,其对角线给出奇异值(以非递增次序排列),其余元素为0;
m——整型变量,实矩阵A的行数;
n——整型变量,实矩阵A的列数;
u——指向双精度实型数组的指针,体积为m×m。返回时存放左奇异向量U;
υ——指向双精度实型数组的指针,体积为n×n。返回时存放右奇异向量VT;
esp——双精度实型变量,给定的精度要求;
ka——整型变量,其值为max(m,n)+1。
2.求实对称矩阵特征值和特征向量的雅可比过关法
(1)功能
用雅可比(Jacobi)方法求实对称矩阵的全部特征值与相应的特征向量。
(2)方法说明
雅可比方法的基本思想如下。
设n阶矩阵A为对称矩阵。在n阶对称矩阵A的非对角线元素中选取一个绝对值最大的元素,设为apq。利用平面旋转变换矩阵R0(p,q,θ)对A进行正交相似变换:
A1=R0(p,q,θ)TA,
其中R0(p,q,θ)的元素为
rpp=cosθ,rqq=cosθ,rpq=sinθ,
rqp=sinθ,rij=0,i,j≠p,q。
如果按下式确定角度θ,
中国矿产资源评价新技术与评价新模型
则对称矩阵A经上述变换后,其非对角线元素的平方和将减少
综上所述,用雅可比方法求n阶对称矩阵A的特征值及相应特征向量的步骤如下:
1)令S=In(In为单位矩阵);
2)在A中选取非对角线元素中绝对值最大者,设为apq;
3)若|apq|<ε,则迭代过程结束。此时对角线元素aii(i=0,1,…,n-1)即为特征值λi,矩阵S的第i列为与λi相应的特征向量。否则,继续下一步;
4)计算平面旋转矩阵的元素及其变换后的矩阵A1的元素。其计算公式如下
中国矿产资源评价新技术与评价新模型
5)S=S·R(p,q,θ),转(2)。
在选取非对角线上的绝对值最大的元素时用如下方法:
首先计算实对称矩阵A的非对角线元素的平方和的平方根
中国矿产资源评价新技术与评价新模型
然后设置关口υ1=υ0/n,在非对角线元素中按行扫描选取第一个绝对值大于或等于υ1的元素αpq进行平面旋转变换,直到所有非对角线元素的绝对值均小于υ1为止。再设关口υ2=υ1/n,重复这个过程。以此类推,这个过程一直作用到对于某个υk<ε为止。
(3)调用说明
void cjcbj(double*a,int n,double*v,double eps)。
形参说明:
a——指向双精度实型数组的指针,体积为n×n,存放n阶实对称矩阵A;返回时,其对角线存放n个特征值;
n——整型变量,实矩阵A的阶数;
υ——指向双精度实型数组的指针,体积为n×n,返回特征向量,其中第i列为与λi(即返回的αii,i=0,1,……,n-1)对应的特征向量;
esp——双精度实型变量。给定的精度要求。
3.矩阵求逆
(1)功能
用全选主元高斯-约当(Gauss-Jordan)消去法求n阶实矩阵A的逆矩阵。
(2)方法说明
高斯-约当法(全选主元)求逆的步骤如下:
首先,对于k从0到n-1做如下几步:
1)从第k行、第k列开始的右下角子阵中选取绝对值最大的元素,并记住此元素所在的行号和列号,再通过行交换和列交换将它交换到主元素位置上,这一步称为全选主元;
2)
3)
4)αij-
5)-
最后,根据在全选主元过程中所记录的行、列交换的信息进行恢复,恢复原则如下:在全选主元过程中,先交换的行、列后进行恢复;原来的行(列)交换用列(行)交换来恢复。
图8-4 东昆仑—柴北缘地区基于HOPFIELD模型的铜矿分类结果图
(3)调用说明
int brinv(double*a,int n)。
本函数返回一个整型标志位。若返回的标志位为0,则表示矩阵A奇异,还输出信息“err**not inv”;若返回的标志位不为0,则表示正常返回。
形参说明:
a——指向双精度实型数组的指针,体积为n×n。存放原矩阵A;返回时,存放其逆矩阵A-1;
n——整型变量,矩阵的阶数。
六、实例
实例:柴北缘—东昆仑地区铜矿分类预测。
选取8种因素,分别是重砂异常存在标志、水化异常存在标志、化探异常峰值、地质图熵值、Ms存在标志、Gs存在标志、Shdadlie到区的距离、构造线线密度。
构置原始变量,并根据原始数据构造预测模型。
HOPFIELD模型参数设置:训练模式维数8,预测样本个数774,参数个数8,迭代次数330。
结果分44类(图8-4,表8-5)。
表8-5 原始数据表及分类结果(部分)
续表