求助,应用BP神经网络逼近非线性函数 5
.作业内容:应用BP神经网络逼近非线性函数2.作业要求:a.非线性函数形式自选,要求必须是多个自变量输入的非线性函数,可以是单输出也可以是多输出,例如:y=sin(x1)...
. 作业内容:应用BP神经网络逼近非线性函数
2. 作业要求:
a. 非线性函数形式自选,要求必须是多个自变量输入的非线性函数,可以是单输出也可以是多输出,例如:y=sin(x1)+sin(x2)即可视为两个自变量一个因变量的非线性函数,符合本次作业要求。而形如y=sin(x)+cos(x)+e^{-x}的函数均为一个自变量的非线性函数,不符合本作业的要求。不符合要求的作业记为0分。
b. 逼近误差<5%,即:应用测试数据对网络进行测试时,神经网络输出与期望值的最大误差的绝对值小于期望值的5%。
c. 学习方法为经典的BP算法或改进形式的BP算法,鼓励采用改进形式的BP算法。
d. 不允许采用matlab中现有的关于神经网络建立、学习、仿真的任何函数及命令,如果采用,作业无效,平时成绩该项为0分。
e. 提交源程序并加适当注释,并保证能顺利运行出正确结果。 展开
2. 作业要求:
a. 非线性函数形式自选,要求必须是多个自变量输入的非线性函数,可以是单输出也可以是多输出,例如:y=sin(x1)+sin(x2)即可视为两个自变量一个因变量的非线性函数,符合本次作业要求。而形如y=sin(x)+cos(x)+e^{-x}的函数均为一个自变量的非线性函数,不符合本作业的要求。不符合要求的作业记为0分。
b. 逼近误差<5%,即:应用测试数据对网络进行测试时,神经网络输出与期望值的最大误差的绝对值小于期望值的5%。
c. 学习方法为经典的BP算法或改进形式的BP算法,鼓励采用改进形式的BP算法。
d. 不允许采用matlab中现有的关于神经网络建立、学习、仿真的任何函数及命令,如果采用,作业无效,平时成绩该项为0分。
e. 提交源程序并加适当注释,并保证能顺利运行出正确结果。 展开
1个回答
展开全部
该作业要求不可使用Matlab自带的神经网络函数,这是因为如果允许使用,则三个函数:newff函数建立网络、train函数训练、sim函数就直接完成作业了。
下面这个附件的第二个案例,就是自己编程,使用BP算法逼近非线性函数y=x1^2+x2^2.该函数为双自变量的非线性函数,完全符合你的作业的要求,可以说你可以直接不用修改,提交该代码作为你的作业。但建议你还是改一下,例如将函数换成其他非线性函数如三角函数等。也可使用改进的如加动量项、自适应学习率、引入陡度因子等方法。
BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。
更多追问追答
追问
零基础。。。看不懂啊,而且x1,x2以矩阵输入,很多人说不会
追答
那就从基础学起吧,这个代码其实不用任何修改,你可以直接把它交作业。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询