简单多层神经网络实现异或XOR
2024-09-01 11:58:56
最近在看《Neural Network Design_Hagan》
然后想自己实现一个XOR 的网络。
由于单层神经网络不能将异或的判定分为两类。
根据 a^b=(a&~b)|(~a&b)
而 我试了一下 或 和 与 都可以用感知神经元解决,也就是一个。
那么与和或的实现:
hardlim (n )=a ,n>=0时 a=1;n<0时a=0;
显然需要三个神经元
神经元表达式如下:
int fun(int w[],int x[],int b)
{ return w[0]*x[0]+w[1]*x[1]+b;
} int main()
{
int w1[2]={1,1},w2[2]={1,1},w3[2]={1,1};
int x[2];
while(scanf("%d%d",&x[0],&x[1])!=EOF)
{ int x2[2];
x[0]=!x[0];
x2[0] =hardlim( fun(w1,x,-2) );
x[0]=!x[0];
x[1]=!x[1];
x2[1] = hardlim ( fun(w2,x,-2) );
x[1]=!x[1];
printf("%d XOR %d = %d\n",x[0],x[1] ,hardlim( fun( w3,x2,-1) )); } return 0; }
注意x1,x2输入的时候 需要取反。
验证正确。
最新文章
- T-Sql(八)字段索引和数据加密
- Parameter of Revit API &ndash; 19: Add FamilyParameter (FamilyManager.AddParameter)
- TestLink学习四:TestLink1.9.13使用说明
- gcc中动态库和静态库的链接顺序
- [HDOJ5510]Bazinga(并查集)
- CodeForces 702B Powers of Two (暴力,优化)
- java 远程调试
- swift 开篇
- 自己做的萌萌哒的js宠物挂件~
- wordpress 更改 ";Home";为";首页";
- OpenWrt compiles
- IM比较SipDroid/IMSDroid/CSipsimple/Linphone/Webrtc
- 并发是个什么鬼之同步工具类CountDownLatch
- Android学习之Animation(三)
- ZJOI-2017 R2 游记
- 有关Web常用字体的研究?
- hdu 4027 Can you answer these queries?[线段树]
- Java与c#的一些细节区别
- 【开源】EasyFlash 新年发布 V4.0 beta 版,完全重写(转)
- 死磕nginx系列--使用nginx做cache服务
热门文章
- LoadRunner11.安装破解
- 错误:java.lang.NoClassDefFoundError: org/jaxen/JaxenException
- CF #579 (Div. 3) B.Equal Rectangles
- 配置Redis(远程访问及授权设置)
- Android测试环境配置
- layDate——初步使用
- rpm,yum
- SpringBootSecurity学习(16)前后端分离版之 OAuth2.0 加密配置
- Scala和Java混合项目搭建:(Eclipse)
- Scala 学习笔记之函数(3)