⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 如何使用神经网络控件.txt

📁 BP神经网络控件1.0 测试版 欢迎使用和下载
💻 TXT
字号:
BP神经网络控件1.0  测试版
作者 何晓昀
更多信息请访问 www.hexiaoyun.net.cn
如果您有什么意见和建议,请发邮件到 hexymail@tom.com

BP神经网络控件1.0 是为了满足神经网络计算而设计的神经网络控件。

VC 调用该控件的方法如下 (该方法在Visual studio 2005 测试过)

1 打开 visual studio 2005,选用给予对话框方式创建一个MFC 项目(例如 bptest)
在这个过程中,visual studio 会自动建立一个 bptest的目录 

2 将 bp.h bp.dll 和 bp.def 文件拷贝到 bptest 目录下

3 打开项目菜单下的 bptest属性对话框,在配制属性下找到链接器下的输入,在其下的附加依赖项中加入 bp.def

4 在解决方案下添加 bp.h

5 在#include bp.h 添加bptestdlg.h, 同时定义神经网络指针 CBP *bpnn;

6 在bptestdll.cpp 的  CbptestDlg::OnInitDialog() 下 添加
    	bpnn = new CBP;
	bpnn->create(3,3,1);   // 创建一个有 3 个输入变量,隐含层有3个神经元,输出层为 1 个变量的网络

7 在对话框中 分别设置 训练网络、运行网络、保存网络、读取网络和输出网络详细参数 5 个按钮

8 在训练网络按钮相对性的程序段中输入以下代码
	// 训练样本
	float in1[3] = {1.0,0.0,1.0};    // 输入样本 1
	float target1[1] = {1.0};        // 目标样本 1

	float in2[3] = {0.0,1.0,1.0};    // 输入样本 2
	float target2[1] = {0.0};        // 目标样本 2

	
	double a1,a2;	 // 定义隐含层误差和输出层误差

	for( int i=0; i<6000; i++)  // 循环训练
	{
		// 训练样本 1 
		bpnn->read_input(in1);    
		bpnn->read_target(target1);
		bpnn->train(&a1,&a2);      

		// 训练样本 2
		bpnn->read_input(in2);
		bpnn->read_target(target2);
		bpnn->train(&a1,&a2);		
	}	

 9 在运行网络按钮程序段中输入
	// 定义输出结果变量
	CString str;

	// 以样本 1 作为测试对象
	float in1[3] = {1.0,0.0,1.0};
	float target1[1] = {1.0};

	// 定义输出结果
	float output[1];
	bpnn->read_input(in1);
	bpnn->feedforward();
	bpnn->get_output(output);

	// 显示输出结果	
	str.Format(_T("output1 = %f\n"),output[0]);		
	AfxMessageBox(str);

10 在保存网络程序段中输入
	// 保存到 C 盘根目录下
	bpnn->save_net("c:\\net.txt");

11 读取网络程序段中输入
	// 从 C 盘根目录下读取文件
	bpnn->load_net("c:\\net.sav");

12 输出详细网络详细参数程序段中输入
	// 将网络权值参数写入到 C 盘根目录
	bpnn->detail("c:\\detail.txt");
输出样本如下:

detail.txt 神经网络控件由何晓昀编写 更多信息请访问 www.hexiaoyun.net.cn

 本版本为测试板,矩阵最后一位数据以*号表示,正式版中提供全部数据 

 输入层的神经元个数:     3
 隐含层的神经元个数:     3
 输出层的神经元个数:     1
 

 输入层权值矩阵大小为 4 * 4
   -1.000000    -0.008483    -0.008502 ************
   -0.999982    -2.848365    -2.848154 ************
   -0.999975     1.839903     1.839662 ************
   -0.999978    -0.008484    -0.008499 ************


 隐含层权值矩阵大小为 4 * 2
   -0.999997 ************
   -0.999996 ************
   -0.999970 ************
   -0.999996 ************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -