前面的实验中分别测量了吸引子和鞍点,排斥子和鞍点,吸引子和排斥子的分类网络的准确率。
以吸引子和鞍点为例
r1 | r2 | ||
<1 | <1 | 吸引子 | c |
>1 | >1 | 排斥子 | p |
>1 | <1 | 鞍点 | a |
<1 | >1 | 反鞍点 | fa |
制作一个二分类网络用来分类c和a,通过改变测试集c和a的比例观察网路分类能力的变化,并将得到的数据拟合成数学表达式。
训练集的比例c:a=1:1,
测试集c和a的比例为x:y.
让x:y的比例分别为0:10,1:9,2:8,3:7,4:6,5:5,6:4,7:3,8:2,9:1,10:0。
实验过程
二分类吸引子和鞍点
制作一个4*4*2的网络向这个的左侧输入吸引子,并让左侧网络向1,0收敛;向右侧网络输入鞍点让右侧向0,1收敛,并让4*4*2部分权重共享,前面大量实验表明这种效果相当于将两个弹性系数为k1,k2的弹簧并联成一个弹性系数为k的弹簧,并且让k1=k2=k/2的过程。
这个网络的收敛标准是
if (Math.abs(f2[0]-y[0])< δ && Math.abs(f2[1]-y[1])< δ )
因为对应每个收敛标准δ都有一个特征的迭代次数n与之对应因此可以用迭代次数曲线n(δ)来评价网络性能。
本文尝试了δ从0.5到1e-6在内的36个值.
具体进样顺序 | |||
进样顺序 | 迭代次数 | ||
δ=0.5 | |||
c | 1 | 判断是否达到收敛 | |
a | 2 | 判断是否达到收敛 | |
梯度下降 | |||
c | 3 | 判断是否达到收敛 | |
a | 4 | 判断是否达到收敛 | |
梯度下降 | |||
…… | |||
达到收敛标准测量准确率,记录迭代次数,将这个过程重复199次 | |||
δ=0.4 | |||
… | |||
δ=1e-6 |
将这个网络简写成
d2(c,a)-4-4-2-(2*k),k∈{0,1}
得到准确率表达式
与之对应
d2(p,c)-4-4-2-(2*k),k∈{0,1}的准确率表达式
d2(p,a)-4-4-2-(2*k),k∈{0,1}的准确率表达式
因此得到这3组数据
p | c | 0.2556 | 1 |
p | a | 0.959284 | 0.864343 |
c | a | 0.799758 | 0.939178 |
经过观察发现
左侧 | 右侧 | 差 |
1.235858 | 1.231751 | 0.004108 |
1.160756 | 1.168032 | -0.00728 |
1.188831 | 1.180657 | 0.008174 |
进一步整理这3个等式
实验数据
d2(c,a)-4-4-2-(2*k),k∈{0,1}
d2(p,a)-4-4-2-(2*k),k∈{0,1}
d2(c,p)-4-4-2-(2*k),k∈{0,1}