matlab单层感知器画线,MATLAB神经网络学习(1):单层感知器
单层感知器由一个线性组合器和一个二值阈值元件组成。
输入是一个N维向量 x=[x1,x2,...,xn],其中每一个分量对应一个权值wi,隐含层输出叠加为一个标量值:
随后在二值阈值元件中对得到的v值进行判断,产生二值输出:
可以将数据分为两类。实际应用中,还加入偏置,值恒为1,权值为b。这时,y输出为:
单层感知器结构图:
单层感知器进行模式识别的超平面由下式决定:
当维数N=2时,输入向量可以表示为平面直角坐标系中的一个点。此时分类超平面是一条直线:
这样就可以将点沿直线划分成两类。
单层感知器实例:
.....重复上步骤,直到达到设定的loop值,或者误差小于设定值
%perception_hand_un.m%%清理
clear,clc
close all%%n=0.1; %学习率
w=[0,0,0];
P=[ -9, 1, -12, -4, 0, 5;...15, -8, 4, 5, 11, 9];
d=[1,1,0,0,0,1]; %期望输出
P=[ones(1,6);P];
MAX=100; %最大迭代次数为100次%%训练
i=0;while 1v=w*P;
y=hardlim(v); %实际输出%更新
e=(d-y);
ee(i+1)=mae(e);if (ee(i+1)<0.001) %判断
disp('we have got it:');
disp(w);break;
end%更新权值和偏置
w=w+n*(d-y)*P';
if (i>=MAX) %达到最大迭代次数,退出
disp('MAX times loop');
disp(w);
disp(ee(i+1));break;
end
i= i+1;
end%%显示
figure;
subplot(2,1,1); %显示待分类的点和分类结果
plot([-12 -4 0],[ 4 5 11],'o');
hold on;
plot([-9 ,1,5],[15,-8,9],'*');
axis([-13,6,-10,16]);
legend('第一类','第二类');
title('6个坐标点的二分类');
x=-13:.2:6;
y=x*(-w(2)/w(3))-w(1)/w(3);
plot(x,y);
hold off;
subplot(2,1,2); %显示mae值的变化
x=0:i;
plot(x,ee,'o-');
s=sprintf('mae的值(迭代次数:%d)', i+1);
title(s);
% perception_newp.m
% 清理
clear,clc
close all
% 创建感知器
net=newp([-20,20;-20,20],1);
%定义输入训练向量
P=[ -9, 1, -12, -4, 0, 5;...
15, -8, 4, 5, 11, 9];
% 期望输出
T=[0,1,0,0,0,1]
% 训练
net=train(net,P,T);
% 输入训练数据仿真验证
Y=sim(net,P)
matlab单层感知器画线,MATLAB神经网络学习(1):单层感知器相关推荐
- matlab中plot函数画线时 颜色和类型
转自 https://blog.csdn.net/garfielder007/article/details/50449140 matlab里plot函数画线时有很多的颜色和类型可以选择,下面列举一些 ...
- Matlab的plot函数画线显示空白问题解决
Matlab的plot函数画线无法显示问题解决 前言:在使用matlab中的plot函数画图时,没有任何报错,但是画不出线,却能画出点.在查阅资料后找到问题的原因. 这里我们使用y=x^2图像来进行分 ...
- MATLAB plot函数,画线标记数据点(实线、虚线、改变颜色)
数据点画圈: 实线: plot(time1,'o-'); 结果: 虚线: plot(time1,'--o'); 结果: 画线换颜色 plot(time1,'o--r'); 结果:
- Matlab中的color 画线的多种颜色
一.转自:http://blog.sina.com.cn/s/blog_03f96e310106lped.html 注意:MATLAB中调色板色彩强度[0,1],0代表最暗,1代表最亮. ...
- matlab标线,如何在matlab中以方位角画线?
你最好的办法是依靠一个内置的极性绘图功能做到这一点.我认为与您的需求最相似的是compass.它基本上绘制了一个箭头,从中心指向一个极坐标图上的一个点(以笛卡尔坐标定义). theta = deg2r ...
- matlab 刷新图像,MATLAB三维画图、画线、动态刷新、不同视角、自动保存多张图像...
作者:金良(golden1314521@gmail.com) csdn博客:http://blog.csdn.net/u012176591 效果图(http://www.tuyitu.com/gif/ ...
- matlab统计文本数据画直方图,matlab从txt中读取某列数据画直方图
今天本来出去吃饭,回来准备咸鱼躺,结果室友问我matlab的直方图的问题,那就把首次博客内容定为直方图吧.txt中部分数据: 10000000 1E-09 1E-09 -0.0002816916 0. ...
- matlab一直系统函数画脉冲响应,MATLAB之使用 impz 函数计算并画出脉冲响应
EDA365欢迎您登录! 您需要 登录 才可以下载或查看,没有帐号?注册 x ' C" [+ n1 g# Q- ]" A这篇在于讨论 impz 函数的使用. |9 u8 v8 }& ...
- matlab电磁场图像如何画,利用matlab实现矩形波导电磁场分布图的绘制
利用matlab实现矩形波导电磁场分布图的绘制 利用 Matlab 实现矩形波导电磁场分布图的绘制(附源程序)通过 Matlab 计算并绘出任意时刻金属矩形波导的主模 TE10 模的电磁场分布图.波导 ...
- matlab一直系统函数画脉冲响应,Matlab 相关分析法求系统脉冲响应(三)
第三部分:相关改进 基本采用(二)中的做法,只是在y的求解摒弃了原理中介绍的方法,直接用matlab自带的lsim函数求解,使本例更有通用性. 源代码: function mytemp clear a ...
最新文章
- linux存储--线程与栈(十五)
- JavaScript try/catch/finally 语句
- goland 远程调试go_手把手教你学Go语言,基础环境配置和Hello World
- ConcurrentHashMap之实现细节
- js怎么把函数字符串转成函数_字符串处理函数
- [BZOJ] 1688: [Usaco2005 Open]Disease Manangement 疾病管理
- ldap radius_在LDAP上使用RADIUS的好处
- 为什么vacuum后表还是继续膨胀?
- 学习Web前端,前景无限光明?
- Linux运维基础入门(二):网络基础知识梳理02
- Internet信息服务(IIS)管理器--IIS部署发布网站
- 全面分析游戏限制多开原理
- 安卓电子书格式_读出我的潮流!——全新焕彩Kindle Paperwhite亚马逊电子书阅读器...
- 精华文章置顶--使用VSCode 进行IRIS 开发
- 磁控微型机器人将干细胞带到难以到达的人体器官
- 以作回顾、以作借鉴、以作鼓励
- mysql不识别生僻字_MySQL生僻字(不常用字)的完整解决方案
- curl: (60) Peer‘s Certificate issuer is not recognized
- Linux系统 PDF转图片
- pyQT5 AES 加解密