⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 feel_point.m

📁 此为BP感知神经分类器,自己写的.有须要的请下载,很不错的.
💻 M
字号:
%感知神经网络分类器,只有两个输入,一个输出神经元.只能实现两类模式的分类(有奇异点(60,20))
%其输出只能取0或1用于简单的分类问题
%**************************************************
%举实例建立网络分类器
p=[-0.5 -0.5 0.3 -0.1 0.2 0.0 0.6 0.8 60;
    -0.5 0.5 -0.5 1.0 0.5 -0.9 0.8 -0.6 20];                                  %给出训练样本点(注意是样本点(-0.5,-0.5),(-0.5,0.5),(0.3,-0.5)...)
T=[1 1 0 1 1 0 1 0 1];                                                       %不同的样本点归为0,1不同的类别
figure(1);
plotpv(p,T);                                                               %在图上描绘不同的样本点
net=newp([-1 60;-1 20],1);                                                  %建立两输入样本点在"书上为[-1,1]"之间神经元为1的感知神经网络
handle=plotpc(net.iw{1},net.b{1});                                         %绘制感知器分类线并返回句柄
%*************************************************
 %训练网络使权值和阈值达到一定即满足误差sse(E)为零时则停止训练
E=1;                                                                       
while(sse(E))                                                             
    [net,Y,E]=adapt(net,p,T);                                              %训练
    handle=plotpc(net.iw{1},net.b{1},handle);                              %训练后画分类线
end
%************************************************
%奇异点存在原始样本点在图中聚集在一个很小范围,很难分辨,现将其局部放大
figure(2);
plotpv(p,T);
plotpc(net.iw{1},net.b{1});
axis([-2 2 -2 2]);
%************************************************
%解决实际问题输入10个测试样本
testpoints=[-0.5 0.3 -0.9 0.4 -0.1 0.2 -0.6 0.8 0.1 -0.4;
    -0.3 -0.8 -0.4 -0.7 0.4 -0.6 0.1 -0.5 -0.5 0.3];
a=sim(net,testpoints);
figure(3);
plotpv(testpoints,a);
plotpc(net.iw{1},net.b{1},handle);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -