神经网络设计——笔记(I) 第一到四章

神经网络设计——笔记(I) 第一到四章

有道云编辑Markdown的发到wordpress有点费劲..正在想办法解决…

 

http://note.youdao.com/noteshare?id=1ec1d5420f9fcd02f9cb7f974a4a7b09&sub=B1A3958F58904479B944A165C6828BC0

一. 基础概念等(第二章)

1.单输入神经元模型

输入p,权值w,偏置值b(以及另一个输入1)进入累加器后得到净输入n再进入传输函数f得出输出a

2.传输函数 表

3.简化函数

 

a =f(Wp+b)

4.神经元层

层上标 行下标

 

W^{a}_{1,2}

表示第一层中,由输入2→输出到1的偏置值

 

n=W^{1}p

n=\{n_i\};W=\{W_{i,j}\};p=\{p_j\}

n_i=W_{i,j}\times p_j

W1,2表示由2输入 输出到1

(由于W矩阵下标为W1,2,Wi·p=Σ(Wi,j pj))

输入层 隐含层······隐含层 输出层

5.递归网络中部分模块

延时模块

 

a(t)=u(t-1)

要求对t=0初始化

积分器

 

a(t)=\int u(\tau)d\tau+a(\theta)

递归网络

 

a(0)=p

a(t+1)=satlins(Wa(t)+b)

6.如何选取网络结构

网络输入个数 神经元数目=输出数目 传输函数

二.说明性实例(第三章)

说明性实例:分类苹果和橘子

特征: 外形 质地 重量

传感器: 0 1

特征:向量P

标准橙子向量

 

p_1=\left[ \begin{matrix} 1\\ -1\\ -1 \end{matrix} \right]

标准苹果向量

 

p_2=\left[ \begin{matrix} 1\\ 1\\ -1 \end{matrix} \right]

1.感知机

例:采用对称硬极限传输函数haedlims的单层感知机

 

a=hardlims(Wp+b)

划分边界线

 

Wp+b=0

响应是空间欧式距离判定的

2.Hamming网络

用于 二值模式识别

 

a^1=W^{1}\times p+b^1

a^2(0)=a^1

a^2(t+1)=poslin(W^2a^2(t))

前馈层

 

W^1=\left[ \begin{matrix} p^T_1\\ p^T_2 \end{matrix} \right] =\left[ \begin{matrix} 1&-1&-1\\ 1&1&-1 \end{matrix} \right]

b^1=\left[ \begin{matrix} 3\\ 3 \end{matrix} \right]

a^1=W^1p+b^1= \left[ \begin{matrix} p^T_1\\ p^T_2 \end{matrix} \right] p+ \left[ \begin{matrix} 3\\ 3 \end{matrix} \right] = \left[ \begin{matrix} p^T_1p+3\\ p^T_2p+3 \end{matrix} \right]

由于前馈层采用线性传输函数,偏置值向量中每个元素均为R(输入向量中的元素个数)(目的是让前馈层输出为正)

前馈层的输出等于输入与每个标准模式的内积加上偏置值R

Hamming距离:

两个响亮的Hamming距离等于其向良忠不同元素个数(针对二进制向量)

递归层(竞争层)

使用前馈层输出初始化,递归层中神经元互相竞争,只有一个神经元输出值副等于0,表示类别

 

a^2(0)=a^1

a^2(t+1)=poslin(W^2a^2(t))

W^2= \left[ \begin{matrix} 1&-\epsilon\\ -\epsilon&1 \end{matrix} \right]

\epsilon<\frac{1}{(S-1)}

S为递归层神经元个数

 

a^2(t+1)=poslin\left( \left[ \begin{matrix} a^2_1(t)-\epsilon a^2_2(t)\\ a^2_2(t)-\epsilon a^2_1(t) \end{matrix} \right] \right)

向量中每个元素都减去另一个元素的一部分,减去的比例相同ϵ,扩大差距

3.Hopfield网络

Hopfield最终输出一个标准向量

 

a(0)=p

a(t+1)=satlins(Wa(t)+b)

Satline为[-1,1]区间上的线性传输函数

 

W=\left[ \begin{matrix} 0.2 & 0 & 0\\ 0 & 1.2 & 0\\ 0 & 0 & 0 \end{matrix} \right] , b=\left[ \begin{matrix} 0.9\\ 0\\ -0.9 \end{matrix} \right]

输出要么收敛于橘子标准模式p1要么苹果标准模式p2

 

\begin{matrix} a_1(t+1)=satlins(0.2a_1(t)+0.9)\\ a_2(t+1)=satlins(1.2a_2(t))\\ a_3(t+1)=satlins(0.2a_3(t)-0.9) \end{matrix}

问题:

  1. 当输入较多,而判定边界无法通过土石方法表示时,如果设计权值W和偏置值b
  2. 非线性可分类别
  3. 不知道标准模式时Hamming网络如何学习权值和偏置值
  4. 如何确定Hopfield的权值矩阵和偏置值向量
  5. Hopfield的收敛性

三.感知机学习规则(第四章)

  1. 学习规则

网络学习的规则:

有监督的学习 训练集 目标

训练集

 

|p_1,t_1|,|p_2,t_2|,…,|p_Q,t_Q|

p为网络输入,t为正确(target)输出,网络实际输出与目标比较,然后学习规则调整网络的全职和偏置值,从而使网络的实际输出越来越接近目标输出.

增强学习

与有监督学习类似,只是不像有监督一样为每个输入提供相应的目标输出而是给出级别或评分(是对网络在某些输入序列上的性能测度)

无监督学习

大多数要完成聚类操作

2.感知机的结构

 

a=hardlim(Wp+b)

 

W=\left[ \begin{matrix} w_{1,1} & w_{1,2} & \cdots & W_{1,R}\\ w_{2,1} & w_{2,2} & \cdots & w_{2,R}\\ \vdots & \vdots & & \vdots\\ w_{S,1} & w_{S,2} & \cdots & w_{S,R} \end{matrix} \right]

 

i^W=\left[ \begin{matrix} w_{i,1}\\ w_{1,2}\\ \vdots\\ w_{i,R} \end{matrix} \right]

 

W=\left[ \begin{matrix} {1^w}^T\\ {2^w}^T\\ \vdots\\ {i^w}^T\\ \vdots\\ {S^w}^T \end{matrix} \right]

 

a_i=hardlim(n_i)=hardlim({i^w}^Tp+b_i)

 

a=hardlim(n)=\left\{ \begin{matrix} 1,if\ n\ge0\\ 0,if\ n<0 \end{matrix} \right.

所以,如果权值矩阵的第i个行向量与输入向量的内积≥-bi,输出1,否则为0,因此每个神经元都是将输入空间划分成两个区域。

考虑两输入情况

2.1. 单神经元感知机

 

a=hardlim(n)

=hardlim(Wp+b)

=hardlim((i^W)^T+b)

=harlim(w_{1,1}p_1+w_{1,2}p_2+b)

判定边界

 

n=(i^W)^T+b

=w_{1,1}p_1+w_{1,2}p_2+b=0

  1. 感知机学习规则

输入为点坐标,而对应目标可以用实习点空心点等来表示(为了直观)

3.2. 学习规则的构造

训练开始时,为网络的参数赋初始值。
但是当第一个输入p_1通过网络时,发现没有返回正确值(类1被判定为类0),则需要调整权值向量,使其更多地指向p_1
一种调整方法是将p_1加到1^w上,可以表述为:

 

if\ t=1,a=0

then\ {_1W}^{new}={_1W}^{old}+p_1

而对于第二个输入向量p_2,返回错误(类0被判断为类1),则应该将_1W从p_2方向移开,所以变成:

 

if\ t=1,a=0

then\ {_1W}^{new}={_1W}^{old}-p_2

涵盖实际输出值和目标输出值的所有可能组合的三条规则:

 

\begin{matrix} if\ t=1,a=0 & then\ {_1W}^{new}={_1W}^{old}+p\\ if\ t=0,a=1 & then\ {_1W}^{new}={_1W}^{old}-p\\ if\ t=a & then\ {_1W}^{new}={_1W}^{old} \end{matrix}

3.3. 统一的学习规则
定义误差

 

e=t-a

\begin{matrix} if\ e=1 & then\ {_1W}^{new}={_1W}^{old}+p\\ if\ e=-1 & then\ {_1W}^{new}={_1W}^{old}-p\\ if\ e=0 & then\ {_1W}^{new}={_1W}^{old} \end{matrix}

thus,

{_1W}^{new}={_1W}^{old}+e\bold p={_1W}^{old}+(t-a)\bold p

3.4. 多神经元感知机的训练
通过推广单神经元感知机的规则,我们得到

 

{_1W}^{new}={_1W}^{old}+e_i\bold p

b_i^{new}=b_i^{old}+e_i

感知机规则

 

{\bold W}^{new}={\bold W}^{old}+\bold e\bold p^T

\bold b^{new}=\bold b^{old}+\bold e

  1. 收敛性证明
    引入若干新记号

 

\bold x=\left [ \begin{matrix} _1W\\ b \end{matrix} \right ]

\bold Z_q=\left [ \begin {matrix} \bold P_q\\ 1 \end {matrix} \right]

thus,\ input\ n:

n=_1\bold w^T\bold p+b=\bold x^T\bold z

\bold x^{new}=\bold x^{old}+e\bold z

若只考虑权值向量x发生改变的那些迭代,则

 

\bold x(k)=\bold x(k-1)+\bold z'(k-1)

where\ \bold z'(k-1)\ is\ in

\{\bold z_1,\bold z_2,\cdots,\bold z_Q,-\bold z_1,-\bold z_2,\cdots,-\bold z_Q\}

if\ \exists \bold x^*\ as\ the\ solution\ of\ the\ problem

assume\ \begin{matrix} if\ t_q=1,&then&\bold x^{*T}\bold z_q>\delta>0\\ if\ t_q=0,&then&\bold x^{*T}\bold z_q<-\delta<0 \end{matrix}

assume\ \bold x(0)=\bold 0

\therefore \bold x(k)=\sum_{i=0}^{i=k-1}\bold z'(i)

\because \bold x^{*T}\bold x(k)=\bold x^{*T}\sum_{i=0}^{i=k-1}\bold z'(i)= \sum_{i=0}^{i=k-1}\bold x^{*T}\bold z'(i)

x^{*T}\bold z'(i)>\delta

\therefore \bold x^{*T}\bold x(k) >k\delta

(\bold x^{*T}\bold x(k))^2 \le ||\bold x^{*T}||^2||\bold x(k)||^2

||\bold x||^2=\bold x^T\bold x

||\bold x(k)||^2 \ge \frac{(\bold x^{*T}\bold x(k))^2} {||\bold x^*||^2} \ge\frac {(k\delta)^2} {||\bold x^*||^2}

||\bold x(k)||^2=\bold x^T(k)\bold x(k)

=[\bold x(k-1)+\bold z'(k-1)]^T[\bold x(k-1)+\bold z'(k-1)]

=\bold x^T(k-1)\bold x(k-1)+2\bold x^T(k-1)\bold z'(k-1)+\bold z’^T(k-1)\bold z'(k-1)

\bold x^T(k-1)\bold z’ (k-1) \le 0

 

\Pi=max\{||\bold z'(i)||^2\}

||\bold x(k)||^2\le\Pi

\therefore k<\frac{\Pi||\bold x^*||^2}{\delta^2}

k有上界意味着有限次迭代后收敛
如果输入向量越靠近判定边界,越难分开,需要越多的迭代次数.
成立所需的三条基础假设:
1)解存在
2)仅在错误分类时修改权值
3)输入向量的长度有上界

\Pi

局限性:
要求线性可分:
判定边界

_1\bold W^T\bold p+b=0

发表评论

电子邮件地址不会被公开。 必填项已用*标注