bp神经网络如果不收敛,预测都用同一种算法?
发布网友
发布时间:2022-04-22 14:16
我来回答
共1个回答
热心网友
时间:2023-10-17 21:05
收敛和迭代算法有关.
反向传播算法是定义一个误差er(往往是输出结果与预想结果之间的某个范数),然后求出满足误差极小的权向量.如果把误差看成一个连续函数(泛函)的话,求对权向量各分量的偏导为0即可,但是实际上它是离散的,所以我们需要用迭代来求最小梯度.
如果是新定义算法的话理论上的收敛要证明,可以证明它在迭代次数趋近无穷的时候等于某一解,也可以证明它满足李普希兹条件(就是带有完备范数和李普希兹常数的那个),这种情形下我们叫做收敛,要是用已有算法或者干脆就是BP算法的时候不需要你证明.理论上不收敛的情况是这样,当迭代次数趋近无穷的时候,权向量的解不唯一.
实际上的收敛是这样,给定一个最大迭代次数n,一个误差限erl,反向传播算法应该很容易找,我不往上写了,每一步权值修正都会使er减小,直观的看就是权向量的分量沿着梯度减小的方向在前进,虽然理论上样本足够大并且n趋于无穷的时候会收敛,但是实际上有可能出现当迭代到第n次,误差er依然大于误差限erl的情况,也就是说我们没有解出来满足要求的权向量,所以网络训练失败,叫做不收敛.当然,也可以使用梯度限来作为迭代终止的条件,这种情况下不收敛就是梯度在迭代了n次以后没有小于某一值,从而没有求出满足要求的权向量;收敛就是求出了满足梯度限的权向量