单层感知器就像我们大脑中一个简单的神经元一样,神经元输入的是电流信号,而我们这个感知器输入的是一个具体的数。
权向量就是输入的一个节点×对应的权值。输出节点的圆圈是两个符号函数,hardlims和hardlim。偏置因子就是各个权向量累加再加上的一个数(t=0.4也可以写成b,它的值不是固定的)。输出Y,它的值不是1就是0(也可以是1和-1,具体看你选择的函数)。
hardlims和hardlim的函数如上图所示。
接下来看一个具体的例子。
我们用上面的数据集来训练,下面是具体的代码。(matlab2016)
P=[1,1,1,1,0,0,0,0;0,0,1,1,0,1,1,0;0,1,0,1,1,0,1,0;]
T=[-1,1,1,1,-1,-1,1,-1;]
p=[0,1;0,1;0,1]
t=1
net=newp(p,t,'hardlims')
net=train(net,P,T)
结束。我们可以随便输入几个数,判断模型的准确性。
newP=[0,1,1]';
newT=sim(net,newP)
其实,它就是一个简单的分类器。