week4 神经网络

来源:互联网 发布:搞笑诺贝尔奖 知乎 编辑:程序博客网 时间:2024/05/22 00:33

7 神经网络:表达

7.1 非线性假设

  • 之前我们已经看过,非线性多项式能够更好的处理问题,但它也同样带来了不少问题,比如说,当特征量比较多的时候,我们将这些特征量结合起来,将会是数量非常大的特征组合。
    e.g.
  • 假设我们希望通过学习使计算机能够识别一张图片是否是汽车,即使图片大小事50*50像素的灰度图片,就有2500个基本特征,如果我们想要进一步两两组合这些特征,将会有250022个特征,普通的逻辑回归模型,不能有效的处理这么多的特征,这时候我们需要神经网络来解决这个问题。

7.2 神经网络介绍

  • 神经网络算法源于对大脑的模仿,再八十年代到九十年代被广为使用过,之后逐渐减少使用,现在又流行起来主要的原因是因为神经网络非常依赖计算能力,计算机性能的提高才使这种算法成为一个行之有效的技术。

7.3 模型表达

  • 为了构建神经网络,我们首先需要了解大脑中的神经网络是如何工作的
  • 大脑中每一个神经元被认为是一个神经元,它含有树突和轴突,神经网络是大量神经元相互连接并通过电脉冲交流的一个网络。
  • 神经网络模型建立再很多神经元之上,每一个神经元又是一个个学习模型,这些神经元采纳一些特征作为输入,并且根据自身的模型为下一个模型提供输出,下图是一个以逻辑回归模型作为自身学习模型的神经元示例,再神经元网络中,参数又被称之为权重。
    这里写图片描述

7.4 神经网络模型表达

  • 神经网络模型是许多逻辑单元按照不同的层级组织起来,每一层的输出都是下一层的输入,下图为一个3层神经网络,第一层为输入层,中间层为隐藏层,最后一层为输出层。

    这里写图片描述

  • aji代表第j层第i个神经元

  • Θj代表从第j层到j+1层的权重矩阵,尺寸为(j层神经元个数)*(j+1层神经元个数)
    对于上图,神经元和输出的表达式为:
    a21=g(Θ110x0+Θ111x1Θ112x2Θ113x3)

    a22=g(Θ120x0+Θ121x1Θ122x2Θ123x3)

    a23=g(Θ130x0+Θ131x1Θ132x2Θ133x3)

    hΘ(x)=g(Θ210a20+Θ211a21Θ212a22Θ213a23)
  • Θcab代表的是第c层第b个神经元到c+1层第a个神经元的配权重
  • 上述讨论的只是将特征矩阵中的一行(一个训练实例)给了神经网络,我们要将所有的训练集都给神经网络

7.5 正向传播 forward propagation

  • 我们可以用矩阵的形式,将上一节的两层方程写出:

第一层到第二层:

gΘ110Θ120Θ130Θ111Θ121Θ131Θ112Θ122Θ132Θ113Θ123Θ133×x0x1x2x3=a21a22a23

g(Θ1×XT)=a(2)

第二层到第三层:
g[Θ210Θ211Θ212Θ213]×a(2)0a(2)1a(2)2a(2)3=hΘ(x)

g(Θ2×a(2))=hΘ(x)

7.6 对神经网络的理解

  • 本质上讲,如果是以前的逻辑回归或者线性回归,它只能利用最开始的那些特征,虽然我们可以通过二项式结合,但得到的还是受到原始特征限制,但在神经网络中,原始的特征只是第一层,从第二层开始,是上一层产生的结果作为的新特征。

7.7 神经网络示例:二元逻辑运算符

  • 当输入特征为布尔值的时候(0 or 1),我们可以用单一的神经元作为隐藏层
  • 权重分别为-30,20,20的时候,相当于逻辑与
    这里写图片描述
  • 权重分别为-10,20,20的时候,相当于逻辑或
    这里写图片描述
  • 权重分别为10,-20的时候,相当于逻辑非
    这里写图片描述
  • 我们也可以根据上面这些构造更加复杂的逻辑表达式
    xNOR=(x1ANDx2)OR((NOTx1)AND(NOTx2))
    这里写图片描述

7.8多类分类

如果我们要训练一个神经网络来识别人,汽车,摩托车,卡车,再输出层有4个值,

这里写图片描述

原创粉丝点击