实例出自Simon Hayking的《神经网络原理》多层感知器一节。

  问题简单叙述如下:从0和1的重集中选择2个元素进行异或,其输入是非线性可分模式。即,不能用一条直线将(0,0)、(0,1)、(1,0)、(1,1)根据它们异或的结果用一条直线进行划分。因此,一个简单感知器不能解决XOR问题。这里使用隐藏神经元进行解决划分问题。程序比较简单,也没什么泛用性。

  激活函数phi(这里使用阈值函数)、神经元neuron、权值、偏置等术语请参照原书。模拟程序如下:

#include <stdio.h>
#include <stdlib.h>struct neuron {int w1;int w2;float b;
};int phi(struct neuron *n, int i,int j) {float ret;ret = (float)(n->w1)*i + (float)(n->w2)*j + (float)(n->b);if (ret<0)return 0;elsereturn 1;
}int main() {int ret,k;int i[4] = {0,1,0,1};int j[4] = {0,0,1,1};struct neuron n1 = {1,1,-1.5};struct neuron n2 = {1,1,-0.5};struct neuron n3 = {-2,1,-0.5};for (k=0;k<4;k++) {ret = phi(&n3,phi(&n1,i[k],j[k]),phi(&n2,i[k],j[k]));//神经元的构成方式printf("(%d,%d),output is %d\n",i[k],j[k],ret);}return 1;
}

输出结果:

(0,0),output is 0
(1,0),output is 1
(0,1),output is 1
(1,1),output is 0

  

本文转自五岳博客园博客,原文链接:www.cnblogs.com/wuyuegb2312/archive/2012/09/17/2689279.html,如需转载请自行联系原作者

利用隐藏神经元解决异或问题的小型示例程序相关推荐

  1. 神经网络与机器学习 笔记—单神经元解决XOR问题

    单神经元解决XOR问题 有两个输入的单个神经元的使用得到的决策边界是输入空间的一条直线.在这条直线的一边的所有的点,神经元输出1:而在这条直线的另一边的点,神经元输出0.在输入空间中,这条直线的位置和 ...

  2. 深层神经网络——多层网络解决异或运算

    异或(xor)是一个数学运算符.它应用于逻辑运算.异或的数学符号为"⊕",计算机符号为"xor".其运算法则为: a⊕b = (¬a ∧ b) ∨ (a ∧¬b ...

  3. 神经进化算法——利用NEAT算法解决迷宫导航问题(基于NEAT-Python)

    神经进化算法--利用NEAT算法解决迷宫导航问题(基于NEAT-Python) 迷宫导航问题 迷宫环境模拟 迷宫导航智能体 迷宫环境实现 传感器数据生成 导航智能体 智能体位置更新 智能体记录存储 智 ...

  4. 广义最小二乘法的基本思想是什么_解决异方差问题的方法可行广义最小二乘法fgls法.ppt...

    解决异方差问题的方法可行广义最小二乘法fgls法 第五章 模型的建立与估计中的问题及对策;本章内容第一节 误设定第二节 多重共线性第三节 异方差性第四节 自相关; OLS估计量令人满意的性质,是根据一 ...

  5. (《机器学习》完整版系列)第5章 神经网络——5.2 RBF网络(单层RBF就可解决异或问题)与ART网络(实现“自适应谐振”)

    单层RBF神经网络就可解决异或问题. ART网络已发展出一个了一个算法族,需要理解它是如何实现"自适应谐振"的. RBF网络 径向基函数网络RBF如图5.3所示,此图为缩略图,即一 ...

  6. 破解并修复VoLTE:利用隐藏的数据通道和错误的实现方式

    virustracker · 2015/11/06 14:25 from:http://dl.acm.org/citation.cfm?id=2813718 0x00 摘要 LTE正逐渐发展为当今的主 ...

  7. 利用WebBrowser彻底解决Web打印问题

    原文地址为: 利用WebBrowser彻底解决Web打印问题 利用WebBrowser彻底解决Web打印问题(包括后台打印) BS架构下的打印大家是怎么解决的呢,我最近作了一个项目正好负责这一块,不仅 ...

  8. 【深度学习】1:感知器原理,以及感知器解决异或问题

    前言: 写完上一篇<KNN算法实现手写数字识别>到现在已经过去了十天,2018年伊始几天同学同事都是各种浪,自己坚持学习实在是痛苦啊! 不悲不气,闲话不多说了,开始自己神经网络的学习旅程吧 ...

  9. 利用exif.js解决手机上传竖拍照片旋转90\180\270度问题

    利用exif.js解决手机上传竖拍照片旋转90\180\270度问题 参考文章: (1)利用exif.js解决手机上传竖拍照片旋转90\180\270度问题 (2)https://www.cnblog ...

最新文章

  1. Tesseract使用日记
  2. dubbo 服务压测_全链路压测资料汇总——业内大厂解决方案
  3. tableview 的小 点点,
  4. C++设计模式解析之单例模式解析
  5. 一篇文章搞懂filebeat(ELK)
  6. Android App自动更新解决方案(DownloadManager)
  7. 淘宝/天猫获得淘宝商品类目 API 返回值说明
  8. 各类编程开发软件及资源全版本下载地址合集
  9. 【电源芯片】TPS63020升降压芯片-电池放电
  10. 【react eslint】解决react-hooks/exhaustive-deps eslint报错问题
  11. 摄影爱好者尝试图库销售时需要注意什么?| 拍者手记
  12. 计算机博士自白:毕业放弃学术去企业,从天之骄子坠落成天生白痴
  13. js输出类面试题(二)
  14. 微信二次开发sdk非ipad/android协议(很好用)
  15. 如何在uni-app中使用vant组件?最细教学,还看不懂你来捶我
  16. QLU ACM2018新生赛
  17. 51nod1431 快乐排队
  18. Python生成个性二维码
  19. 百度富文本编辑器UEditor配置及功能实现详解
  20. PIM-SM(ASM模型)

热门文章

  1. JRebel for Android 编译神器
  2. 如何在linux下检测内存泄漏
  3. Java学习笔记(43)——Java泛型
  4. Chrome百度不显示中文字体
  5. stl string常用函数
  6. mixin network_基于Mixin Network的PHP比特币开发教程: 机器人接受比特币并立即退还用户...
  7. python方法和函数的格式是完全一样的_Python成为专业人士笔记-返回变量形式函数- str() 和 repr()...
  8. 互联网协议 — IPv4 — 分片与重组
  9. Go 语言编程 — encoding/json 库
  10. 云网融合 — 应用场景