Visual C++网络通信编程实用案例精选(源代码)
曹衍龙, 刘海英的 Visual C++网络通信编程实用案例精选(第二版)源代码
设计一个基于神经网络图像数字识别系统(本人采用的是BP网络),通过对一组图像数字的训练,使得该网络能够相对准确的识别图像上的数字。
一.使用说明 该程序有五个主要菜单项: A.数据读入 (从已有数据文件中数据,包括网络结构,权值,学习率,样本等) B.新建数据 (建立新的数据文件) C.学习 D.测试 E.误差显示 操作过程: 1.使用已有的数据: A -> C -> D,E; (已有XOR.TXT, AND.TXT, OR.TXT) 2.新建数据文件: B -> A -> C -> D,E; 举例:求XOR问题数据文件的建立(菜单[B]的使用) 对话框(1) 输入层单元个数:2 (TAB键切换) 隐层单元个数:2 输出层单元个数:1 学习率:0.5 模式个数:4 ("输入"键) 对话框(2 -1) 第1个模式的输入值: (TAB键切换) 注意:0 (空格) 0 第1个模式的目标值: 0 ("输入"键) 对话框(2 - 2) 第2个模式的输入值: (TAB键切换) 0 (空格) 1 第2个模式的目标值: 1 ("输入"键) 对话框(2 - 3) 第3个模式的输入值: (TAB键切换) 1 (空格) 0 第3个模式的目标值: 1 ("输入"键) 对话框(2 - 4) 第4个模式的输入值: (TAB键切换) 1 (空格) 1 第4个模式的目标值: 0 ("输入"键) 二.程序说明 程序实现的是二层BP网络,通过从文件中读入数据来构建网络,同时读入对应的样本进行学习,测试. ε=0.09 变量为max_error_tollerance; forward_pass()向前计算输出值; backward_pass()向后调整权值;