【计算智能】-感知器、BP神经网络

本文介绍了计算智能中的两种重要模型——感知机和BP神经网络。首先,详细阐述了感知机的原理,包括感知机形式和算法,接着通过代码展示了感知机的学习和训练过程。然后,讲解了BP神经网络的概念、基本原理,分析了其优缺点,并给出了BP神经网络的构建和训练的代码示例。
摘要由CSDN通过智能技术生成

**

一.感知机的原理

  感知机是二分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,分
别取+1和−1二值。如果要处理的数据是线性可分的,则该模型能取得很好的效果,如
果数据不是线性可分的,则该模型不能取得很好的效果。以二维平面为例,如果要分
类 的点,能被一条直线分开,直线的一侧是正类,直线的另一侧是负类,则说明数据
是线性可分的。如果数据需要一个圆来分开则说明数据不是线性可分的。

二.感知机模型

  感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判
别模型。以二维平面为例,假设平面中存在着′∘′′∘′和′×′′×′两种形状的点,感知机要做
的是就是找到一条直线,将两类点分割开,感知机只适合于线性可分的数据,所以它
是一个线性模型。
2.1 感知机形式

感知机就是为了确定一条直线WX+b,让直线的一侧为正类,直线的另一侧是负类。当WX+b运算大于0时为+1,WX+b运算小于0时为-1,为此引入了sign函数.
在这里插入图片描述
假设平面中存在着′∘′和′×′两种形状的点,感知机要做的是就是找到一条直线,将两类点分割开
在这里插入图片描述

*三.感知机算法

3.1 感知机原始算法

输入:训练数据集T=(x1,y1),(x2,y2),…,(xN,yN),yi∈{−1,+1},学习率η(0<η<1)

输出:w,b;感知机模型f(x)=sign(w⋅x+b)

  1. 赋初值 w0,b0
  2. 选取数据点(xi,yi)
  3. 判断该数据点是否为当前模型的误分类点,即判断若yi(w⋅xi+b)<=0则更新
    w=w+ηyixi
    b=b+ηyi
  4. 转到2,直到训练集中没有误分类点

3.2 代码执行

3.2.1. 感知器神经网络的构建

% 1.1  生成网络

net=newp([0 2],1);                %单输入,输入值为[0,2]之间的数
inputweights=net.inputweights{1,1};       %第一层的权重为1
biases=net.biases{1};                     %阈值为1

% 1.2  网络仿真

net=newp([-2 2;-2 2],1);%两个输入,一个神经元,默认二值激活
net.IW{1,1}=[-1 1];%权重,net.IW{i,j}表示第i层网络第j个神经元的权重向量
net.IW{1,1}
net.b{1}=1;
net.b{1}
p1=[1;1],a1=sim(net,p1)
p2=[1;-1],a2=sim(net,p2)
p3={[1;1] [1 ;-1]},a3=sim(net,p3) %两组数据放一起
p4=[1 1;1 -1],a4=sim(net,p4)%也可以放在矩阵里面
net.IW{1,1}=[3,4];
net.b{1}=[1];
a1=sim(net,p1);

% 1.3  网络初始化

net=init(net);
wts=net.IW{1,1}
bias=net.b{1}
% 改变权值和阈值为随机数
net.inputweights{1,1}.initFcn='rands';
net.biases{1}.initFcn='rands';
net=init(net);
bias=net.b{1}
wts=net.IW{1,1}
a1=sim(net,p1)

运行结果:
ans =

-1     1

ans =

 1

p1 =

 1
 1

a1 =

 1

p2 =

 1
-1

a2 =

 0

p3 =

1×2 cell 数组

{2×1 double}    {2×1 double}

a3 =

1×2 cell 数组

{[1]}    {[0]}

p4 =

 1     1
 1    -1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值