2014--人工智能应用技术实验报告-人工神经网络程序设计(共14页).doc
《2014--人工智能应用技术实验报告-人工神经网络程序设计(共14页).doc》由会员分享,可在线阅读,更多相关《2014--人工智能应用技术实验报告-人工神经网络程序设计(共14页).doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实 验 报 告课程名称 人工智能应用技术 实验项目 人工神经网络程序设计 实验仪器 WindowsXP、Visual C+ 学 院 信息管理学院 专 业 信息安全 班级/学号 信安1401 学生姓名 Cony 实验日期 2016-5-10 成 绩 指导教师 赵 刚 北京信息科技大学信息管理学院(课程上机)实验报告实验课程名称:人工智能应用技术 专业: 信息安全 班级: 学号: 姓名: 实验名称人工神经网络程序设计实验地点学院机房实验时间5/10 14节1. 实验目的:l 掌握基本神经网络的常用学习规则l 掌握人工神经网络的训练过程2. 实验内容:l 相关知识:基本神经
2、网络(感知器,前馈网络)的常用学习规则l 实验环境:Windows XP, Visual studiol 主要内容:人工神经网络的程序设计与实现3. 实验要求:l 完成神经网络学习程序的调试,课堂演示程序执行结果l 输出神经网络权值调整过程值,分析结果数据,绘制神经网络l 提交实验报告4. 实验准备:掌握感知器学习算法 初始化:将权值向量赋予随机值,t=0(迭代次数) 连接权的修正:对每个输入样本xk及期望输出dk完成如下计算a. 计算网络输出:y = f(S),其中S =wixi,f为激活函数b. 计算输出层单元期望输出dk与实际输出y间的误差:ek = dk - yc. 若ek为零,则说明
3、当前样本输出正确,不必更新权值,否则更新权值:w(t+1) = w(t) + ek xkt = t + 1 01为学习率。 对所有的输入样本重复步骤(2),直到所有的样本输出正确为止5. 实验过程:#include #include stdafx.h#define MAX_ITERATIONS1000#define INPUT_NEURONS2#define NUM_WEIGHTS(INPUT_NEURONS+1)#define ALPHA(double)0.2double weightsNUM_WEIGHTS;typedef struct double a; double b; double
4、 expected; training_data_t;#define MAX_TESTS4training_data_t training_setMAX_TESTS= -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0 ;double compute( int test ) double result; /* Equation 10.2 */ result = (training_settest.a * weights0) + (training_settest.b * weights1) + (1.0 * weigh
5、ts2) ); if (result 0.0) result = 1.0; else result = -1.0; return result;int main() int i, test; double output; int change; /* Initialize the weights for the perceptron */ for ( i = 0 ; i NUM_WEIGHTS ; i+ ) weightsi = 0.0; /* Train the perceptron with the training set */ change = 1; while (change) ch
6、ange = 0; for ( test = 0 ; test MAX_TESTS ; test+ ) /* Test on the perceptron */ output = compute( test ); /* Perceptron Learning Algorithm */ double dif=training_settest.expected-output; if ( (int)training_settest.expected != (int)output ) /* Use Equation 10.3 */ weights0 += ALPHA * training_settes
7、t.expected * training_settest.a; weights1 += ALPHA * training_settest.expected * training_settest.b; weights2 += ALPHA * training_settest.expected; change = 1; /* Check the status of the Perceptron */ for (i = 0 ; i MAX_TESTS ; i+) printf( %g OR %g = %gn, training_seti.a, training_seti.b, compute(i)
8、 ); return 0;#include #include #include maths.c#include rand.h#define INPUT_NEURONS35#define HIDDEN_NEURONS10#define OUTPUT_NEURONS10double inputsINPUT_NEURONS+1;double hiddenHIDDEN_NEURONS+1;double outputsOUTPUT_NEURONS;#define RHO(double)0.1double w_h_iHIDDEN_NEURONSINPUT_NEURONS+1;double w_o_hOUT
9、PUT_NEURONSHIDDEN_NEURONS+1;#define RAND_WEIGHT(double)rand() / (double)RAND_MAX) - 0.5)#define IMAGE_SIZE35typedef struct test_images_s int imageIMAGE_SIZE; int outputOUTPUT_NEURONS; test_image_t;#define MAX_TESTS10test_image_t testsMAX_TESTS = 0,1,1,1,0, / 0 1,0,0,0,1, 1,0,0,0,1, 1,0,0,0,1, 1,0,0,
10、0,1, 1,0,0,0,1, 0,1,1,1,0 , 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0,0,1,0,0, / 1 0,1,1,0,0, 0,0,1,0,0, 0,0,1,0,0, 0,0,1,0,0, 0,0,1,0,0, 0,1,1,1,0 , 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 , 0,1,1,1,0, / 2 1,0,0,0,1, 0,0,0,0,1, 0,0,1,1,0, 0,1,0,0,0, 1,0,0,0,0, 1,1,1,1,1 , 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 , 0,1,1,1,0, / 3
11、1,0,0,0,1, 0,0,0,0,1, 0,0,1,1,0, 0,0,0,0,1, 1,0,0,0,1, 0,1,1,1,0 , 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 , 0,0,0,1,0, / 4 0,0,1,1,0, 0,1,0,1,0, 1,1,1,1,1, 0,0,0,1,0, 0,0,0,1,0, 0,0,0,1,0 , 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 , 1,1,1,1,1, / 5 1,0,0,0,0, 1,0,0,0,0, 1,1,1,1,0, 0,0,0,0,1, 1,0,0,0,1, 0,1,1,1,0 , 0, 0, 0
12、, 0, 0, 1, 0, 0, 0, 0 , 0,1,1,1,0, / 6 1,0,0,0,0, 1,0,0,0,0, 1,1,1,1,0, 1,0,0,0,1, 1,0,0,0,1, 0,1,1,1,0 , 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 , 1,1,1,1,1, / 7 1,0,0,0,1, 0,0,0,0,1, 0,0,0,1,0, 0,0,1,0,0, 0,1,0,0,0, 0,1,0,0,0 , 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 , 0,1,1,1,0, / 8 1,0,0,0,1, 1,0,0,0,1, 0,1,1,1,0, 1,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2014 人工智能 应用技术 实验 报告 人工 神经网络 程序设计 14
限制150内