单层感知器
1. 题目要求
使用Matlab的神经网络工具包,建立单层感知器,解决《统计建模与R语言》(薛毅著)电子版第459 页例8.3建立分类器的问题。
2. 解题步骤
2.1问题分析
符合二值输出:有春旱为1,无春旱为-1。
可以选择激活函数:a=hardlims(n)
2.1输入数据
%predict set
P =[24.8,24.1,26.6,23.5,23.5,27.4,22.1,21.6,22.0,22.8,22.7,21.5,22.1,21.4;
-2.0,-2.4,-3.0,-1.9,-2.1,-3.1,-0.7,-1.4,-0.8,-1.6,-1.5,-1.0,-1.2,-1.3];
%target set
T = [1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1];
%定义变量的取值范围
r = [21,25;-4,0];
%定义输出只有一个数字
t = 1;
2.2 设计、实现单层感知器
%建立单层感知器
net = newp(r,t,'hardlims');
%训练
net = train(net,P,T);
2.3 测试
%用训练集进行测试
newT = sim(net,P)
newT =
1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1
3.使用nntool神经网络工具箱建立单层感知器
3.1 打开nntool
>> nntool
3.2 输入数据
点击new->Data,分别输入Inputs、Targets数据。
3.3 配置单层感知器神经网络
Network Type选Perceptron,输入数据选Inputs中的数据,目标输数据选Targets中的数据,传输函数选HARDLIMS(-1,1二值输出)。
3.4训练单层感知器
查看权值向量、偏置值:
3.5测试分类器
使用训练数据对单层感知器进行测试: