温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

matlab线性神经网络怎么用

发布时间:2022-01-14 10:18:07 来源:亿速云 阅读:95 作者:iii 栏目:大数据

本篇内容介绍了“matlab线性神经网络怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

线性神经网络是最简单的一种神经网络,可以由一个或者多个线性神经元组成。
线性神经网络与感知器的区别在于:线性神经网络的神经元传递函数是线性函数,因此线性神经网络的输出可以取任意值,而感知器的输出只可能是0或者1。
线性神经网络在收敛速度与精度上都比感知器要高,但是同感知器一样,线性神经网络只能解决线性分离问题。
感知器的每一个输入都有一个输出与之相对应。参照输出向量与期望输出向量的差别,调整网络的权值跟阈值,使得训练误差的平方和最小或者小于一定值,这种学习规则就是Widrow-Hoff学习规则,称为LMS(Least Mean Square)算法。
   
%% 定义变量      
   
P=[0,0,1,1;0,1,0,1];
% 输入向量
d=[0,0,0,1];
% 期望输出向量
lr=maxlinlr(P,'bias');
% 根据输入矩阵求解最大学习率
matlab线性神经网络怎么用  
%% 线性网络实现      
   
net1=linearlayer(0,lr);
% 创建线性网络
net1=train(net1,P,d); 
% 线性网络训练
matlab线性神经网络怎么用  
%% 感知器实现
net2=newp([-1,1;-1,1],1,'hardlim');  
% 创建感知器
net2=train(net2,P,d);  
% 感知器学习
matlab线性神经网络怎么用  
%% 显示
plot([0,0,1],[0,1,0],'o');        
% 图形窗口输出
hold on;
plot(1,1,'d');
x=-2:.2:2;
y1=1/2/w1(2)-w1(1)/w1(2)*x-w1(3)/w1(2);   
% 1/2是区分0和1的阈值
plot(x,y1,'-');
y2=-w2(1)/w2(2)*x-w2(3)/w2(2);      
% hardlim函数以0为阈值,分别输出0或1
plot(x,y2,'--');
axis([-0.5,2,-0.5,2])
xlabel('x');ylabel('ylabel');
title('线性神经网络与感知器用于求解与逻辑')
legend('0','1','线性神经网络分类面','感知器分类面');
matlab线性神经网络怎么用    

“matlab线性神经网络怎么用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI