二、SOM网络运用于认知负荷综合评估的设计
MATLAB的神经网络工具箱为SOM网络提供了大量的函数工具。因此我们可以借助MATLAB来建立SOM网络,并运用于认知负荷的等级划分和识别中。
利用SOM网络对认知负荷进行等级划分和识别,其设计与BP网络相似,主要包括网络样本设计、网络创建、网络训练与测试等部分。
(一)网络样本设计
输入样本与BP网络相同,同为22个被试,共132个组数据。
(二)网络创建
SOM网络输入层的设计与BP网络相似,同样选择与认知负荷有显著相关的7个评估指标作为网络的输入项。输出层的设计,涉及神经元个数和神经元排列的设计两个方面。神经元个数一般与认知负荷水平等级个数有关,我们分别设定为6个和3个;由于本研究仅对认知负荷的水平进行分类,因而神经元的排列采用一维线阵来表示。
MATLAB中用于SOM网络构建的函数为newsom,其代码为:
net=newsom(minmax(p),[6,1]);
其中,P为输入项,minmax(p)指定了输入项元素的最大值和最小值,[6,1]表示创建网络的竞争层为6×1的结构。
网络的拓扑函数为hextop(六角层结构函数),即优胜邻域的形状是六边形。
距离函数为linkdist(欧氏距离权函数)。即测量相似性的方法是计算欧氏距离。
(三)网络训练与测试
接下来利用训练函数train和仿真函数sim对网络进行训练和仿真。由于网络训练步数对网络的聚类性能影响比较大,所以这里将步数设置为100、1 000、3 000和5 000四种,并分别观察其分类性能。其代码为:
a=[100 1000 3000 5000]
for i=1∶4
net.trainparam.epochs=a(i);
net=train(net,input);
y=sim(net,input)
ya=sim(net,test);
yc=vec2ind(y)
yca=vec2ind(ya)
end
训练结果见表3.4。我们对结果进行分析可知,当训练次数达到1 000以上时,此时训练结果已差异不大。因此,此时再提高训练次数已经没有实际意义了,所以我们选择网络的训练次数为1 000。
网络训练结束后,权值也就固定了。接下来我们选择与BP网络相同的9个新的被试,共54组样本,对网络进行测试。当输出神经元为6个时,其测试结果见表3.5。
表3.4 SOM网络训练结果
续表
表3.5 基于SOM网络建模的综合评估结果(认知负荷等级:6种)
依据同样的程序,当输出项神经元个数为3个时,其测试结果见表3.6。
表3.6 基于SOM网络建模的综合评估结果(认知负荷等级:3种)
对SOM网络的三种模型测试结果进行比较可以发现,认知负荷水平分为3个等级的两种模型其测试结果要明显优于认知负荷水平分为6个等级的模型,这说明认知负荷水平的分级程度对测量结果存在影响。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。