Javascript实现BP神经网络
BP神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,是目前应用最广泛的神经网络。 BP神经网络误差反向传播神经网络: 置各权和阈值的初始化 给定P个训练样本Xp(p=1,2,...,p) 和对应的理想输出Dp(p=1,2,...p) 信息前向传递: 计算网络各层的输出 4.误差反向传播 5.修改权和阈值 6.重复2~5步,直至P个样本都训练一边 7.判断是否满足精度要求。若满足,则停止训练,否则重复第2步。 根据上述流程,编写代码: class BPNet{ constructor(layernum, n, fn, fd, miu, iter ,eps){ if(!(n instanceof Array)) { throw '参数错误' } if(!n.length == layernum) { throw '参数错误' } this.layernum = layernum this.n = n //输出函数 if(!fn) { this.fn = function (x) { return 1.0/(1.0 + Math.exp(-x)) } }else { this.fn = fn } //误差函数 if(!fd) { this.fd = function(x) { return x * (1 - x) } }else { this.fd = fd } this.w