ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:53.65KB ,
资源ID:18341638      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18341638.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(人工智能应用技术实验报告人工神经网络程序设计文档格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

人工智能应用技术实验报告人工神经网络程序设计文档格式.docx

1、 掌握人工神经网络的训练过程2. 实验内容: 相关知识:基本神经网络(感知器,前馈网络)的常用学习规则 实验环境:Windows XP, Visual studio 主要内容:人工神经网络的程序设计与实现3. 实验要求: 完成神经网络学习程序的调试,课堂演示程序执行结果 输出神经网络权值调整过程值,分析结果数据,绘制神经网络 提交实验报告4. 实验准备:掌握感知器学习算法1 初始化:将权值向量赋予随机值,t=0(迭代次数)2 连接权的修正:对每个输入样本xk及期望输出dk完成如下计算a. 计算网络输出:y = f(S),其中S =wixi,f为激活函数b. 计算输出层单元期望输出dk与实际输出

2、y间的误差: ek = dk - yc. 若ek为零,则说明当前样本输出正确,不必更新权值,否则更新权值: w(t+1) = w(t) + ek xk t = t + 1 01为学习率。3 对所有的输入样本重复步骤(2),直到所有的样本输出正确为止5. 实验过程:#include #include stdafx.h#define MAX_ITERATIONS 1000#define INPUT_NEURONS 2#define NUM_WEIGHTS (INPUT_NEURONS+1)#define ALPHA (double)0.2double weightsNUM_WEIGHTS;type

3、def struct double a; double b; double expected; training_data_t;#define MAX_TESTS 4training_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) + (trainin

4、g_settest.b * weights1) + (1.0 * weights2) ); 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 trainin

5、g set */ change = 1; while (change) change = 0; for ( test = 0 ; test maths.crand.h#define INPUT_NEURONS 35#define HIDDEN_NEURONS 10#define OUTPUT_NEURONS 10double inputsINPUT_NEURONS+1;double hiddenHIDDEN_NEURONS+1;double outputsOUTPUT_NEURONS;#define RHO (double)0.1double w_h_iHIDDEN_NEURONSINPUT_

6、NEURONS+1;double w_o_hOUTPUT_NEURONSHIDDEN_NEURONS+1;#define RAND_WEIGHT (double)rand() / (double)RAND_MAX) - 0.5)#define IMAGE_SIZE 35typedef struct test_images_s int imageIMAGE_SIZE; int outputOUTPUT_NEURONS; test_image_t;#define MAX_TESTS 10test_image_t testsMAX_TESTS = 0,1,1,1,0, / 0 1,0,0,0,1,

7、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, 1, 0, 0, 0, 0, 0, 0, 0, 0 , 0,1,1,1,0, / 2 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 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 , 0,0,0,1,0, / 4 0,1,0,1,0, 1,1,1,1,1, 0,0,

8、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,1,1,1,0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 , 0,1,1,1,0, / 6 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 , 1,1,1,1,1, / 7 0,1,0,0,0 , 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 , 0,1,1,1,0, / 8 0,1,1,1,0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 , 0,1,1,1,0, / 9 0,1,1,1,1, 0,1,1,

9、0,0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ;void init_network( void ) int i, j; /* Set the input bias */ inputsINPUT_NEURONS = 1.0; /* Set the hidden bias */ hiddenHIDDEN_NEURONS = 1.0; /* Initialize the input-hidden weights */ for (j = 0 ; j HIDDEN_NEURONS ; j+) INPUT_NEURONS+1 ; w_h_iji = RAND_WEIGHT; OUT

10、PUT_NEURONS ; HIDDEN_NEURONS+1 ; w_o_hji = RAND_WEIGHT; return;void feed_forward( void ) /* Calculate outputs of the hidden layer */ hiddeni = 0.0; hiddeni += (w_h_iij * inputsj); hiddeni = sigmoid( hiddeni ); /* Calculate outputs for the output layer */ outputsi = 0.0; outputsi += (w_o_hij * hidden

11、j ); outputsi = sigmoid( outputsi );void backpropagate_error( int test ) int out, hid, inp; double err_outOUTPUT_NEURONS; double err_hidHIDDEN_NEURONS; /* Compute the error for the output nodes (Equation 10.6) */ for (out = 0 ; out out+) err_outout = (double)teststest.outputout - outputsout) * sigmo

12、id_d(outputsout); /* Compute the error for the hidden nodes (Equation 10.7) */ for (hid = 0 ; hid hid+) err_hidhid = 0.0; /* Include error contribution for all output nodes */ err_hidhid += err_outout * w_o_houthid; err_hidhid *= sigmoid_d( hiddenhid ); /* Adjust the weights from the hidden to outpu

13、t layer (Equation 10.9) */ w_o_houthid += RHO * err_outout * hiddenhid; /* Adjust the weights from the input to hidden layer (Equation 10.9) */ for (inp = 0 ; inp inp+) w_h_ihidinp += RHO * err_hidhid * inputsinp;double calculate_mse( int test ) double mse = 0.0; int i; mse += sqr( (teststest.output

14、i - outputsi) ); return ( mse / (double)i );void set_network_inputs( int test, double noise_prob ) /* Fill the network inputs vector from the test */ INPUT_NEURONS ; inputsi = teststest.imagei; /* In the given noise probability, negate the cell */ if (RANDOM() max) max = outputsi; best = i; return b

15、est;int main( void ) double mse, noise_prob; int test, i, j; RANDINIT(); init_network(); do /* Pick a test at random */ test = RANDMAX(MAX_TESTS); /* Grab input image (with no noise) */ set_network_inputs( test, 0.0 ); /* Feed this data set forward */ feed_forward(); /* Backpropagate the error */ ba

16、ckpropagate_error( test ); /* Calculate the current MSE */ mse = calculate_mse( test ); while (mse 0.001); /* Now, lets test the network with increasing amounts of noise */ /* Start with 5% noise probability, end with 25% (per pixel) */ noise_prob = 0.05; 5 ; set_network_inputs( test, noise_prob );

17、if (j % 5) = 0) printf(n);%d , (int)inputsj); printf( nclassified as %dnn, classifier() ); noise_prob += 0.05;6. 实验总结:(实验结果及分析)通过人工神经程序设计的学习,我进一步了解了感知器和神经网络算法,包括期望值的调整等内容,同时更加熟练地使用c语言进行程序设计,对程序设计中遇到的各种问题渐渐地有了自己的认识和解决方案。说明:1. 实验名称、实验目的、实验内容、实验要求由教师确定,实验前由教师事先填好,然后作为实验报告模版供学生使用;2. 实验准备由学生在实验或上机之前填写,教师应该在实验前检查;3. 实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等;4. 实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;5. 源程序、代码、具体语句等,若表格空间不足时可作为附录另外附页。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1