- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最简单的神经网络算法
最简单的人工神经网络实现
人工神经网络算法是模拟 人的神经网络的一种算法.
该算法像人一样,具有一定的学习能力。? 人工神经网络可以学会它所能表达的任何东西.
该算法在模拟人类抽象思维方面较传统的算法具有优势,如图像识别 (人脸识别,车牌识别), 声音识别方面已经有成熟的运用。
?
举个简单的例子可以说明人工神经网络和传统算法的差别所在 (等会也要实现):
假设要解决这个问题: 写一个程序, 判断 0, 1, 2, 3 ... 9 这10个数的奇偶性
1. 如果是传统算法, 则是模拟人的逻辑思维,对这个问题进行形式化和逻辑化 :
if (input 模 ?2? == 零) {
??? input 是 偶数
} else {
??? input 是 奇数
}
2. 如果是ANN算法,则要提供一组正确的数据对处理这个问题的神经网络ANN进行训练 :
未进行训练的神经网络,就像刚出生的婴儿一样,什么都不懂。这个时候, 你要教他 0 是偶数,? 1是奇数....,
教完之后问ANN懂了没有,懂了则停止训练 (网络已经形成),不懂则继续训练.
while (1) {
??? 训练;
????if (测试通过)? {
???????? 跳出循环;
??? }?
}
训练完之后,这个ANN以后便能够正确处理 奇偶性判断的问题了.
处理上面这个问题,只需要模拟一个神经元即可,再复杂的问题,可能需要多个神经元,再再复杂,需要多层多神经元的配合来实现 (以后再研究)
?
下面是实现:
[cpp] view plaincopyprint?
/*****************************************?
?*?感知器判断数字奇偶性?
?*?
?*?关键点,阈值应该怎么定??
?****************************************/??
#include?stdlib.h ??
#include?stdio.h ??
#include?time.h ??
??
??
int?M[10];??/**?权值?**/??
int?X[10]?=?{1,?2,?3,?4,?5,?6,?7,?8,?9,?10};?/**?输入向量?**/??
int?Y[10]?=?{1,?0,?1,?0,?1,?0,?1,?0,?1,?0};??/**?理想输出向量,?0?表示奇数,?1表示偶数?**/??
int?O[10];??/**?保存输出向量?**/??
int?ST?=?52;?/**?阈值?**/??
??
??
??
/**?初始化权值?**/??
void?initM?()??
{??
????int?x?=?0;??
????srand?((unsigned?int)time(0));??
????for?(x?=?0;?x??10;?++x)?{??
????????/**?随机数在?0?-?99?之间?**/??
????????M[x]?=?rand?()?%?100;??
????}??
}??
??
/**?跃迁型激活函数?**/??
int?active?(int?m,?int?x)??
{??
????int?o?=?m?*?x;??
????if?(o??ST)?{??
????????return?1;??
????}?else?{??
????????return?0;??
????}??????
}??
??
/**?计算输出向量?**/??
void?calcY?()??
{??
????int?x?=?0;??
????for?(x?=?0;?x??10;?++x)?{??
????????O[x]?=?active?(M[x],?X[x]);??
????}??
}??
??
??
/**?根据实际输出向量和理想输出向量调整权向量,??
????返回?实际输出和理想输出不匹配的数目?**/??
int?adjustM?()??
{??
????int?err?=?0;??
????int?x?=?0;??
????for?(x?=?0;?x??10;?++x)?{??
????????if?(O[x]?!=?Y[x])??
????????{??
????????????err?++;??
????????????if?(0?==?O[x])?{??
????????????????M[x]?+=?X[x];??
????????????}?else?{??
????????????????M[x]?-=?X[x];??
????????????}??
????????}??
????}??
????return?err;??
}??
??
??
/**?打印权向量?**/?
您可能关注的文档
最近下载
- 智慧医院-医务管理系统设计方案.pdf VIP
- 医务管理系统建设方案.doc VIP
- 石油 - GB-T 7631.10-2013 润滑剂、工业用油和有关产品(L类)的分类 第10部分:T组(涡轮机).pdf
- 2023年北京市中考英语试卷(附答案详解).docx VIP
- 《防止校园欺凌》ppt课件(图文).pptx
- 2024初中语文新部编版七年级上册全册核心素养教案.pdf VIP
- 数字电子技术3套考试题目(含答案) .pdf VIP
- 卡特彼勒C11 和C13 ON-HIGHWAY 发动机装配手册 英文.pdf VIP
- 设备管理思路及方案.docx
- 年产3万吨塑料制品、2万吨再生塑料颗粒项目环境影响报告表.doc
文档评论(0)