• [转]感知神经网络模型与学习算法


    本文转载自CSDN,原文链接

    单层感知器

    该概念的是在1957年美国学者Rosenblatt提出的。

    感知器是监督学习的神经网络模型。单层感知器是包含一个突触权值可调的神经元的感知器模型。是神经网络用来进行模式识别的一种最简单的模型,属于前向神经网络类型,但是仅由一个神经元组成的单层感知器只能区分线性可分的模式。

    一个感知器模型,包括一个线性的累加器和一个二值阈值元件,同时还有一个外部偏差 (b) ,也称作阈值,其值可以为正,也可以为负。线性累加器的输出与偏差 (b) 的和作为二值阈值元件的输入,这样当二值阈值原件的输入是正数时,神经元就产生输出 +1 ,反之,若输入是负数,则产生输出 -1 。

    (m) 维空间,单层感知器进行模式识别的判决超平面由下面的式子决定:

    [sum_{i=1}^{m} omega_{i} x_{i}+b=0 ]

    决定判别边界超平面的形状的主要参数是权值向量 (vec{omega}) 其训练过程就是找到适合的学习算法可以训练出满意的权值向量。

    在 20 世纪 60 年代初期,Rosenblatt 等就给出了严格的数学证明对线性可分的样本,算法一定是收敛的,就是说 (vec{omega}) 一定存在,否则,判别边界会产生振荡,导致 (vec{omega}) 不能收敛。

    单层感知器的学习算法

    该学习算法是基于迭代思想,通常是采用误差校正学习规则的学习算法。将偏差b作为神经元突触全职向量的第一个分量加到权值向量中去,那么对应的输入向量也应增加一项,可设输入向量的第一个分量固定为+1,这样输入向量和权值向量可分别写成如下的形式:

    [X(n)=left(+1, x_{1}(n), x_{2}(n), cdots, x_{m}(n) ight)^{T} ]

    [W(n)=left(b(n), omega_{1}(n), omega_{2}(n), cdots, omega_{m}(n) ight) ]

    其中 (n) 为迭代次数。(b(n)) 可用 (omega_{0}(n)) 来表示,于是,二值阈值元件的输入可重新写为:

    [v=sum_{i=0}^{m} omega_{i}(n) x_{i}(n)=W^{T}(n) X(n) ]

    具体学习算法如下:

    1. 设置变量和参量
      (X(n)=left(1, x_{1}(n), x_{2}(n), cdots, x_{m}(n) ight)) 即训练样本。
      (W(n)=left(b(n), omega_{1}(n), omega_{2}(n), cdots, omega_{m}(n) ight)) 为权值向量。
      (b(n)) 为偏差 (f(⋅ )) 为激活函数, (y(n)) 为网络实际输出,(d(n)) 为期望输出,(eta) 为学习速率,(n) 为迭代次数,(e) 为实际输出与期望输出的误差。

    2. 初始化,给权值向量 (omega_{0}(n)) 的各个分量赋一个较小的随机非零值, 设置 (n=0)

    3. 输入一组样本 (X(n)=left(1, x_{1}(n), x_{2}(n), cdots, x_{m}(n) ight)) 并给出它的期望输出 (d(n))

    4. 计算实际输出 (y(n)=fleft(sum_{i=0}^{m} omega_{i}(n) x_{i}(n) ight))

    5. 求出期望输出和实际输出的误差,(e=d(n)-y(n)),根据误差判断目前输出是是否满足条件,若满足条件则算法结束,否则将 (n) 值加1,并用下式调整权值

    [omega(n+1)=omega(n)+eta[d(n)-y(n)] X(n) ]

    在单层感知器学习算法中,最关键的因素是引入了一个量化的期望输出,这样就可以采用误差校正学习规则对权值向量逐步进行修正,最终达到问题所需的精度。

    对于线性可分的两类模式,可以证明单层感知器的学习算法是收敛的,即通过调整神经网络各个链接权值可以得到合适的判别边界,正确区分两类模式;而对于线性不可分的两类模式,无法用一条直线区分两类模式,此时,单层感知器的学习算法不是收敛的,即单层感知器无法正确区分线性不可分的两类模式。

  • 相关阅读:
    Tomcat && Servlet
    List,Set,Collections工具类
    多表查询
    常用的API--集合
    msmpeng.exe阻止移动硬盘弹出
    接口400错误解析
    JDBC/Mybatis连接数据库报错:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.
    tomcat启动报错:A child container failed during start
    PAT 1019 数字黑洞
    PAT 1017 A除以B
  • 原文地址:https://www.cnblogs.com/gshang/p/10960959.html
Copyright © 2020-2023  润新知