老饼讲解-神经网络 机器学习 神经网络 深度学习
感知机神经网络

【例子】matlab工具箱的感知机实例

作者 : 老饼 发表日期 : 2023-02-28 10:01:55 更新日期 : 2023-03-01 02:10:02
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com



本文简单展示如何通过matlab工具箱训练一个感知机,

并打印感知机的权重、阈值,和用训练好的感知机预测样本



  01. matlab工具箱的感知机实例代码  



本节展示使用matlab工具箱训练一个感知机神经网络的Demo代码



      代码    


% 训练数据
% ----------训练数据-------------------
X = [0 0 0.2 1 1 0.8; 0 1 0.5 0 1 0.3];
y = [0 0 0 1 1 1 ];

%----使用工具箱训练一个感知机神经网络---------
net = newp(X,y);              % 建立感知机神经网络
net = train(net,X,y);         % 训练感知机神经网络
w   = net.iw{1};              % 感知机的权重
b   = net.b{1};               % 感知机的阈值
py  = sim(net,X);             % 使用训练好的感知机进行预测

%-------------打印权重、阈值和预测结果--------

disp('感知机权重')
w
disp('感知机阈值')
b
disp('感知机预测结果')
py
% -------------绘制结果----------------------
x_line = [min(X(1,:)),max(X(1,:))];
y_line =(-w(1)*x_line-b)/w(2);
plot(x_line,y_line)
hold on
plot(X(1,y==1),X(2,y==1),'bo')
hold on
plot(X(1,y==0),X(2,y==0),'k*')
hold on
axis([min(X(1,:))-1 max(X(1,:))+1 min(X(2,:))-1 max(X(2,:))+1])

版本:matlab 2018a





     运行结果    


运行结果如下
 
 一. 训练好的感知机的权重、阈值和预测结果


二. 训练样本与训练好的感知机(分割线)
 
从结果中可以看到,
感知机所代表的分割线很已好地把两类样本进行区分




     训练好的感知机模型    


由于matlab工具箱中的感知机模型为:
  
 👉具体请参考《matlab工具箱中的感知机原理》
 
套入上述训练好的权重阈值
则有
 
使用时用上式预测就可以啦~









 End 





联系老饼