zoukankan      html  css  js  c++  java
  • 单层感知器

    单层感知器是最基本的神经网络,采用hardlim或hardlim作为激活函数,下面是其拓扑结构:

    该感知器有s个神经元,m个输入,n个输出,先给出一些定义:

    为了方便表示,将样本向量的第一个分量设为1,p(n)=[1,p1(n),p2(n),...,pm(n)),与之对应地权值矩阵的第一列设为每个神经元对应的阈值W(n)=[b1(n),w11(n),w12(n),...w1m(n);b2(n),w21(n),w22(n),...w2m(n);...;bs(n),ws1(n),ws2(n),...wsm(n)],di(n)表示第i个神经元的期望输出,yi(n)表示第i个神经元的实际输出 ,其中i= 1 to s;n表示迭代次数,η表述学习率

    开始讲解感知器的学习算法:

    1 n=0,初始化权值矩阵W

    2 输入样本p,计算实际输出yi(n)=sgn(p(n)W(n)T)

    3 更新权值矩阵:

                       W(n+1)=W(n)+η[d(n)-y(n)]p(n) d(n),y(n)为向量

    4 判定是否满足条件,满足条件,迭代结束,若不满足,n+1后继续迭代2,3步

    判断条件一般有三个:

    (1) 误差小于一个较小的值ζ

                          |di(n)-yi(n)|<ζ

    (2) 权值变化较小

                           |W(n+1)-W(n)|<ζ

    (3) 达到最大迭代步数

    感知器的局限性:

    1 由于激活函数是hardlim或hardlims,其输出只能是1,0,-1

    2 感知器算法只对线性可分的样本数据收敛,只适用于线性可分的数据

    3 当数据中出现奇异样本的时候,网络训练时间长

  • 相关阅读:
    [loj6484]LJJ爱数书
    [loj3163]动态直径
    [loj2983]数树
    [luogu3785]文本校正
    [loj2572]字符串
    [loj3103]节日庆典
    [atARC118F]Growth Rate
    [atARC118E]Avoid Permutations
    [cf794G]Replace All
    [cf756E]Byteland coins
  • 原文地址:https://www.cnblogs.com/semen/p/6820895.html
Copyright © 2011-2022 走看看