离散型Hopfield神经网络在联想和识别上的应用

本文通过MATLAB探讨离散型Hopfield神经网络在处理数字图像联想和识别中的应用。首先,利用newhop函数创建网络并验证图像稳定性。接着,对比外积法求权值的网络效果,发现newhop函数的联想效果更优。最后,通过实例展示网络如何联想二维坐标,揭示其在降噪处理中的潜力。
摘要由CSDN通过智能技术生成

一、离散型Hopfield处理数字图片,并比较外积法直接求得的网络和通过自带工具箱newhop函数创建的网络有何不同

程序如下:

clear

clc

load data1 array_one

load data2 array_two

%这里加载的两个数组都是10X10的数组,里面的值为-1和+1两种情况。据目前对离散型Hopfield的使用,数据都是-1或者+1,因为这个要求和设定激励函数为取符号函数还有能量函数有很大关系。

%这两个数组将会在后面的结果里面显示出来,+1的地方会表示为白色,-1的地方表示为黑色。

T=[array_one;array_two]';%这个地方将两个图片堆叠起来,并进行了转置。至于数据为什么要进行转置上不太清楚。现在T是一个10X20的数组

net=newhop(T);%通过自带的newhop函数创建一个Hopfield网络。

%接下来应该检查T中两组数据是否是在稳定点上,也就是将T中的数据输入到net中,观察输出的数据,是否和T一样,如果一样,就说明两组数据是在稳定点。

[Y,Pf,Af]=sim(net,{10,5},{},T(:,1:10));

%然后观察Y中一共有5个元包,每个元包是一个10X10的数组,就是把T中的第一个数据T(:,1:10)输入net中,经过5步的变化,每一步的结果都放在了对应的元包当中,观察每个元宝中的数组,和T对照会发现完全相同,因为数字1的对称性非常好。

%下面是原始数据和输出结果Y中每个元包中数据的比照

imshow(imresize(T(:,1:10)',20));


imshow(imresize(Y{1}',20));

imshow(imresize(Y{2}',20));

imshow(imresize(Y{3}',20));

imshow(imresize(Y{4}',20));

imshow(imresize(Y{5}',20));


会发现这些图片都一样,说明第一个数据也就是表示1的图片数据是稳定的。

下面看第二组数据的稳定性,观察输出结果和输入结果是否相同:

[Y,Pf,Af]=sim(net,{10,5},{},T(:,11:20));

为了方便,不在显示T中表示2数字的图片,也不再显示5个步骤中没步骤的结果只显示最后一步的结果

imshow(imresize(Y{5}',20));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值