慢慢发现,百度上很多东西都没有,还是得自己去写,代码很简单,慢慢看就容易看懂,建议看之前,先看这篇文章

转载请注明:http://www.cnblogs.com/gambler/p/9039607.html

#include<bits/stdc++.h>
using namespace std;
#define MAX_SIZE 1000000//或运算结果图
//0 0 0
//1 0 1
//0 1 0
//1 1 0
//
int expdata[MAX_SIZE][2];//训练数据
double w[2];//权值
double jud;//阈值
double spe;//训练速率
int    Y=0;//实际输出值
int    M;//理论输出值
int    N;//表示有多少组数据
void init(void){//初始化数据cout<<"请输入初始权值:"<<endl;cin>>w[0]>>w[1];cout<<"请输入初始阈值和训练速率:"<<endl;cin>>jud>>spe;cout<<"开始训练!"<<endl;freopen("input.txt","r",stdin);cin>>N;int j;for(j=0;j<N;j++){cin>>expdata[j][0]>>expdata[j][1];}
}int T(int a,int b){if(a==1||b==1){return 1;}else{return 0;}
}//加权修正公式为:w[i]=w[i]+spe*(T-Y)*x
void weighteinterpolation(int a,int b){w[0]=w[0]+spe*(M-Y)*a;w[1]=w[1]+spe*(M-Y)*b;
}void display(int a){cout<<"第"<<a+1<<"次训练:"<<endl;cout<<"输入:  X0="<<expdata[a][0]<<"\tX1="<<expdata[a][1]<<endl;cout<<"权值:  w[0]="<<w[0]<<"\tw[1]="<<w[1]<<endl;cout<<"理论值:M="<<M<<"\ts实际值="<<Y<<endl;}void trainperceptron(){//进行训练int result=0;int i;for(i=0;i<N;i++){result=w[0]*expdata[i][0]+w[1]*expdata[i][1]-jud;if(result<=0){Y=0;}else{Y=1;}M=T(expdata[i][0],expdata[i][1]);if(T(expdata[i][0],expdata[i][1])!=Y){weighteinterpolation(expdata[i][0],expdata[i][1]);}display(i);}}void show(){cout<<"训练结束!!!"<<endl;cout<<"训练后的权值是:"<<endl;cout<<"w[0]:"<<w[0]<<"\tw[1]:"<<w[1]<<endl;
}int main(){init();trainperceptron();show();
}

转载于:https://www.cnblogs.com/gambler/p/9039607.html

单层感知机实现或运算相关推荐

  1. 学习日志(四):单层感知机+激活函数

    感知机与多层网络 声明:在阅读本文时,手里最好配备一本<机器学习>,以做好前期的一些理论知识铺垫. 在阅读书中(<机器学习>,周志华)的第5章时,文中主要以逻辑与.或.非,以及 ...

  2. 初探神经网络(二)单层感知机的Rosenblatt算法原理

    本期大量干货,配合线性代数和较扎实的统计知识食用更佳. 介绍过了M-P模型,也了解到了M-P模型本质上是对生物上神经元的抽象模型.在上一章,我反复在强调这只是一个生物学的概念,我相信看到这篇文章的人绝 ...

  3. TensorFlow单层感知机实现

    TensorFlow单层感知机实现 简单感知机是一个单层神经网络.它使用阈值激活函数,正如 Marvin Minsky 在论文中所证明的,只能解决线性可分的问题.虽然限制了单层感知机只能应用于线性可分 ...

  4. 【深度学习的数学】单层感知机是什么?

    参考文章:深度学习-31:单层感知机

  5. PyTorch教程(十):单层感知机以及梯度更新

    单层感知机模型 y=XW+by=∑xi∗wi+by = XW + b \\ y = \sum x_i*w_i+ b y=XW+by=∑xi​∗wi​+b 单层感知机模型的每一个输入节点xix_ixi​ ...

  6. pytorch梯度下降函数_Pytorch学习笔记6:激活函数/单层感知机/梯度下降求最小值实例...

    #添加到学习笔记2末尾,直接运行.代码意义可以看注释. #需要import以下库 import torch import numpy as np from matplotlib import pypl ...

  7. TensorFlow2.0:单层感知机梯度计算

    ** 一 单层单输出感知机梯度计算 ** 单层感知机指的是输入有多个节点,输出只有一个节点. 其实质为二分类,即将样本的多个特征值作为输入,输出为二分类. 假设输入有5个样本,每个样本有3个特征参数, ...

  8. 人工神经网络简介和单层网络实现AND运算--AForge.NET框架的使用(五)

    前面4篇文章说的是模糊系统,它不同于传统的值逻辑,理论基础是模糊数学,所以有些朋友看着有点迷糊,如果有兴趣建议参考相关书籍,我推荐<模糊数学教程>,国防工业出版社,讲的很全,而且很便宜(我 ...

  9. 基于双月数据集单层感知机_python

    前言 一.单层感知机 二.双月数据集 三.程序 1.引入库 2.主函数 总结 完整程序 前言 本文主要针对双月数据集实现二分类问题. 一.单层感知机 单层感知机目标是将被感知数据集划分为两类的分离超平 ...

  10. 单层感知机实现布尔函数,附代码

    单层感知机 单层感知器属于单层前向网络,即除输入层和输出层之外,只拥有一层神经元节点. 特点:输入数据从输入层经过隐藏层向输出层逐层传播,相邻两层的神经元之间相互连接,同一层的神经元之间没有连接. 感 ...

最新文章

  1. powerdesigner 同步mysql 报错_PowerDesigner实用技巧小结 及 导出word,想字段顺序跟模型中一致,如何设置...
  2. java中不同包中怎么实例化,Java 笔试题 (01)
  3. 【NOIP2013模拟联考6】选课(select)
  4. 克制linux启动盘,制作Linux启动盘的四种方法
  5. 在linux学习中遇到的问题
  6. 付完版面费就该吃土了
  7. Navicat for MySql管理工具 中文破解版
  8. c 语言所有符号,c语言 符号
  9. 兑现2021年合肥市高新区建设世界一流高科技园区政策部分条款申报指南
  10. 费氏数列 中第n项数值的计算并打印
  11. CCF NOI 2022获奖名单
  12. 退欧令英国科技业措手不及,可能不再享受多项利好政策
  13. photoshop快捷键大全
  14. vim编辑器如何删除一行或者多行内容
  15. 随机数——Random
  16. python编写程序计算三角形的面积_编程题:编写程序输入三角形的3条边长,计算并输出三角形的面积。...
  17. ITE平台开发 chapter4 - https通信
  18. 实现新闻搜索功能:用户输入关键字,用来匹配新闻标题或内容。
  19. win10 UWP 剪贴板 Clipboard
  20. java cup_JavaCUP

热门文章

  1. add file in debian/source/include-binaries if you want to store the modified binary in the debian
  2. LINUX C获取并设置环境变量
  3. linux rpm安装简要说明
  4. eclipse中汉字对齐错误
  5. 手机WIFI的上行下行速度不同
  6. 解决办法:KeyError: ‘ExpandBackward’及老版本pytorch/torchvision的安装办法。
  7. Callback、Listener、Worker、Manager的命名说明
  8. AbstractFactory(抽象工厂)
  9. sketch软件_UI设计师必定需要了解的sketch素材
  10. VC++ DLL注入目标程序