网站大量收购闲置独家精品文档,联系QQ:2885784924

2014--人工智能应用技术实验报告-人工神经网络程序设计.doc

2014--人工智能应用技术实验报告-人工神经网络程序设计.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2014--人工智能应用技术实验报告-人工神经网络程序设计剖析

实 验 报 告 课程名称 实验项目 实验仪器 WindowsXP、Visual C++ 学 院 信息专 业班级/学号学生姓名 ony 实验日期 2016-5-10 成 绩 指导教师 赵刚 北京信息科技大学 信息管理学院 (课程上机)实验报告 实验课程名称:人工智能应用技术 专业: 信息安全 班级: 学号: 姓名: ? 实验名称 人工神经网络程序设计 实验地点 学院机房 实验时间 5/10 1—4节 实验目的: 掌握基本神经网络的常用学习规则 掌握人工神经网络的训练过程 实验内容: 相关知识:基本神经网络(感知器,前馈网络)的常用学习规则 实验环境:Windows XP, Visual studio 主要内容:人工神经网络的程序设计与实现 实验要求: 完成神经网络学习程序的调试,课堂演示程序执行结果 输出神经网络权值调整过程值,分析结果数据,绘制神经网络 提交实验报告 实验准备: 掌握感知器学习算法 初始化:将权值向量赋予随机值,t=0(迭代次数) 连接权的修正:对每个输入样本xk及期望输出dk完成如下计算 计算网络输出:y = f(S),其中S =∑wixi,f为激活函数 计算输出层单元期望输出dk与实际输出y间的误差: ek = dk - y 若ek为零,则说明当前样本输出正确,不必更新权值,否则更新权值: w(t+1) = w(t) + α×ek ×xk t = t + 1 0α1为学习率。 对所有的输入样本重复步骤(2),直到所有的样本输出正确为止 实验过程: #include stdio.h #include stdafx.h #define MAX_ITERATIONS 1000 #define INPUT_NEURONS 2 #define NUM_WEIGHTS (INPUT_NEURONS+1) #define ALPHA (double)0.2 double weights[NUM_WEIGHTS]; typedef struct { double a; double b; double expected; } training_data_t; #define MAX_TESTS 4 training_data_t training_set[MAX_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_set[test].a * weights[0]) + (training_set[test].b * weights[1]) + (1.0 * weights[2]) ); 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++ ) weights[i] = 0.0; /* Train the perceptron with the training set */ change = 1; while (change) { change = 0; for ( test = 0 ; test MAX_TESTS ; test++ ) { /* Test on the perceptron */ output = compute( test ); /* Perceptron Learning Algorithm */ double dif=training_set[test].expected-output; if ( (int)training_set[test].expected != (int)output ) { /

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档