Matlab神经网络学习笔记(一)

Matlab神经网络学习笔记(一)


单层感知器介绍

单层感知器属于单层前向网络,即除了输入层和输出层以外,只有一层神经元节点。前向网络的特点是,输入数据从输入层经过隐藏层向输出层逐层传播,相邻两层的神经元相互连接,同一层的神经元之间则没有连接。


一、单纯感知器的结构

单层感知器是感知器中最简单的一种,由单个神经元组成的单层感知器只能用来解决线性可分的二类问题。(如果两类模式线性可分时,则算法一定收敛)


单层感知器是由一个线性组合器和一个两阈值原件组成。输入向量的各个向量与权值相乘,然后在线性组合器进行叠加,得到的结果是一个标量。线性组合器的输出是一个二值阈值原件的输入,得到线性组合结果经过一个二值阈值元件由隐含层传送到输出层,实际上这一步执行了一个符号函数。二值阈值元件通常是一个上升的函数,典型功能是将非负的输入值映射为1,负的输入值映射为-1或0。

考虑一个两类模式分类问题:输入是一个N维向量x=[x1,x2,···,xN],其中的每一个分量都对应一个权值是ωi,隐含层的数车叠加为一个标量值:

ν = ∑ i = 1 N x i ω i \nu= \sum_{i=1}^N {x_i}{\omega_i} ν=i=1Nxiωi

随后在二值阈值元件中对得到的v值进行判断,产生二值输出:

y = { 1 ,   ν >=0 0 , ν <0 y= \begin{cases} 1, & \text { $\nu$>=0} \\ 0, & \text{$\nu$<0} \end{cases} y={ 1,0, ν>=0ν<0

单层感知器可以输入数据分为两类:L1或L2。当y=1时,认为输入x=[x1,x2,···,xN]属于L1类,当y=-1时,认为输入认为输入x=[x1,x2,···,xN]属于L2类。但在实际应用中,除了输入的N维向量外,还有一个外偏置,值恒为1,权值为b。这样,输出y就可表示为

y = s g n ( ∑ i = 1 N ω i x i + b ) y=sgn\left( \sum_{i=1}^N {\omega_i }{x_i}+b \right) y=sgn(i=1Nωixi+b)

当维数N=2时,输入向量可表示为平面直角坐标系中的一个点。此时分类超平面是一条直线:

ω 1 x 1 + ω 2 x 2 + b = 0 \omega_1x_1+\omega_2x_2+b=0 ω1x1+ω2x2+b=0

结构图如图:
在这里插入图片描述

二、单层感知器的学习算法

在实际的应用中,需要使用计算机自动根据训练数据学习获得正确的权值,通常采用纠错学习规则的学习算法。
方便起见,修改单层感知器的结构如图所示,将偏置作为一个固定的输入。
因此,定义(N+1)* 1的输入向量:

x ( n ) = [ + 1 , x 1 ( n ) , x 2 ( n ) , ⋅ ⋅ ⋅ , x N ( n ) ] T x(n)=\left[+1,x_1(n),x_2(n),···,x_N(n)\right]^T x(n)=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值