- 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;??
}??
??
??
/**?打印权向量?**/?
您可能关注的文档
最近下载
- 2025年湖南科技职业学院单招英语模拟试题(附答案解析).pdf VIP
- 2025年高考数学重点题型归纳精讲精练5.4三角形四心和奔驰定理(新高考地区)(原卷版) .docx VIP
- 新生儿窒息复苏试卷附有答案.docx
- 三 气体压强.ppt VIP
- 图解---“健康中国2030”规划纲要-医学课件.pptx
- 历史:第6课《中古时代的欧洲》课件 (川教版九年级上).ppt
- DeepSeek-清华大学104页《DeepSeek:从入门到精通》.pptx
- FANUC 0i-MB操作说明书 完整版.pdf
- (八省联考)2025年新高考适应性演练 政治试卷合集(含答详解案).docx
- 赤泥坝施工方案.doc
文档评论(0)