zoukankan      html  css  js  c++  java
  • 神经网络学习之----线性神经网络,delta学习规则,递归下降法

      这里我们提出一个神经网络解决异或问题。

    X = np.array([[1,0,0],[1,0,1],[1,1,0],[1,1,1]])
     
    Y = np.array([-1,1,1,-1])
    x1 = [0,1]
    y1 = [1,0]
    x2 = [0,1]
    y2 = [0,1]

      异或问题出现四个点,此时一条直线无法正确地区分出正负样本,于是我们引入线性神经网络

    线性神经网络:

      线性神经网络于感知器的主要区别在于,感知器的激活函数只能输出两种可能的值,而线性神经网络的输出可以取任意值,其激活函数是线性函数。线性神经网络采用Widrow-Hoff学习规则,即LMS(Least Mean Square)算法来调整网络的权值和偏置。

      线性神经网络在结构上与感知器非常相似,只是神经元激活函数不同。在模型训练时把原来的sign函数改为了purelin函数(y=x)。

    LMS学习规则:

    线性神经网络结构:

      这里我们可以看到线性神经网络结构中有两个激活函数,一个是purelin线性激活函数,一个是感知器里面的sign激活函数。为什么有两个呢?是因为我们训练模型的时候我们可以用purelin线性激活函数,这样我们可以得到一个更好的效果。但是我们输出结果的时候还是要用到sign激活函数,因为要分为-1和1。

    Delta学习规则:

      1986年,认知心理学家McClelland和Rumelhart在神经网络训练中引入了Delta学习规则,该规则也可以称为连续感知器学习规则。

      Delta学习规则是一种利用梯度下降法的一般性的学习规则。

    代价函数(损失函数)(Cost Function,Lost Function):

    梯度下降法(一维情况):代价函数的值随着权值的改变而改变,改变权值的目的是为了得到最小的代价函数值。假如一个点在左边,△W与负梯度成正比,左边梯度为负数,负梯度即为正,△W与其成正比,所以为正。W=W加上一个正数,所以W就变大,向右移。

    梯度下降法(二维情况):红色代表高的地方,蓝色代表低的地方。

    梯度下降法的问题:

  • 相关阅读:
    韩信点兵 中国剩余定理
    A -- A. Quailty and Playing Cards 模拟 + 思考
    HDU 5904 LCIS DP
    Ubuntu上的android sdk提示 bash: ......sdk/platform-tools/adb或者emulator: 没有那个文件或目录 解决笔记
    重学数据结构系列之——平衡树之SB Tree(Size Blanced Tree)
    重学数据结构系列之——二叉排序树
    重学数据结构系列之——二叉树基础
    重学数据结构系列之——哈希表
    如何判断出栈序列合理性
    重学数据结构系列之——栈
  • 原文地址:https://www.cnblogs.com/mengqimoli/p/10348987.html
Copyright © 2011-2022 走看看