神经网络仿真工具源代码
NNBP 1.0用法说明 本程序是BP算法的演示程序, 其中的Levenberg-Marquardt算法具有实用价值. 程序主界面如下: 一、网络训练 程序默认状态是样本训练状态,现将样本训练状态下的如何训练网络进行说明: 1. 系统精度: 定义系统目标精度,根据需要定义网络训练误差精度.误差公式是对训练出网络的输出层节点和实际的网络输出结果求平方差的和. 2. 最大训练次数: 默认为10000次,根据需要调整,如果到达最大训练次数网络还未能达到目标精度,程序退出. 3. 步长: 默认为0.01,由于采用变步长算法,一般不需人工设置. 4. 输入层数目: 人工神经网络的输入层神经元的节点数目. 5. 隐含层数目: 人工神经网络的隐含层神经元的节点数目. 6. 输出层数目: 人工神经网络的输出层神经元的节点数目. 7. 训练算法: 强烈建议选取Levenberg-Marquardt算法,该算法经过测试比较稳定. 8. 激活函数: 不同的网络激活函数表现的性能不同,可根据实际情况选择. 9. 样本数据的处理: 由于程序没有实现归一化功能, 因此用来训练的样本数据首 先要归一化后才能进行训练. 其中: 数据输入: 就是选择用来训练的样本的文件,文件格式为每个参与训练网络的样本数据(包括输入和输出)占用一行,数据之间用空格隔开. 存储网络: 就是用来存放最终训练成功的网络权值等信息的文件,在仿真时调用用. 保存结果: 网络训练的最终结果,副产品,可丢弃,用来查看网络训练的精度. 10. 训练 点击该按钮用来训练网络。 二、网络仿真 首先要点击按钮 切换到数据仿真状态. 界面如图: 调入训练好的网络,然后选择用来仿真的数据(只包含输入层神经元的节点数目),点击仿真按钮即可。 调入网络: 选择已经训练好的网络文件,假设net_lm_sigmoid_16.txt文件是已经满足精度和泛化能力较好的网络文件,就调入该文件。 数据输入: 选择用来仿真的数据文件,该文件格式同前面介绍的用来训练网络的文件的格式,但需要去掉用网络来模拟的参数,只提供用来测试的网络输入层数据。 仿真结果: 用来保存对测试数据仿真后得到结果文件,即为所想要的数据。
用户评论
感觉还行,只是感觉用着不是特别顺手.
C++的看不懂啊
不错,可以借鉴用来修改
很不错,值得学习
可以使用,我想看程序来着,能力太弱,看不懂
挺好的,对我这样的初学者帮助挺大的
c++,以为是matlab的
该工具适合初学者,还不错!
C++的看不懂啊,555
方法比较简单,不是特别难!