多层感知器 MLP

MLP是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP可以被看作是一个有向图,由多个节点层组成,每一层连接到下一层

  • 解决的问题:分类问题
  • MLP是神经网络中最基础、最简单的
    • 其余神经网络还有
      • 误差反向传播神经网络(BP)
      • 卷积神经网络(CNN——用于图像识别)
      • 时间递归神经网络(LSTM——用于语音识别)
12.1 神经网络的结构
  • 输入层
  • 隐层
  • 输出层
  • 不同层之间不是全连接的
    • 全连接:上一层的任何一个神经元与下一层的所有神经元都有连接
  • 在这里插入图片描述
12.2 神经网络的训练和学习

神经网络的三个基本要素

  • 权重

    • 神经元之间的连接强度由权重表示,权重的大小表示可能性的大小
  • 偏置(阈值)

    • 偏置的设置是为了正确分类样本,是模型中的重要参数
    • 保证通过输入算出的输出值不能随便激活
  • 激活函数

    • 起非线性映射的作用,可以将神经元的输出幅度限制在一定范围内,一般限制在(-1,1)或(0,1)之间。

    • 最常用的激活函数是Sigmoid函数,可将(-∞,+∞)的数映射到(0,1)

    • 在这里插入图片描述

    • tanh也属于激活函数,映射到(-1,1)

    • 在这里插入图片描述

  • 下层单个神经元的值与上层所有输入之间的关系

    • 在这里插入图片描述

    • 注意:在最后需要减掉偏置(阈值),以排除掉一些不符合条件的上层输入

  • 识别过程(以数字识别为例):

    • 读取图片,以像素点为单位分解

    • 归一化每个像素点的灰度值,如果值越大就越亮,值越小就越暗

      • 将每行像素点拼接成一维作为这张图片的特征
    • 输出由10个神经元组成,分别表示(0-9)十个数字,每个神经元的值也在(0-1)之间表示灰度

      • 神经元的值越大表示输入经判断后是该数字的可能性越大,作为结论
    • 在这里插入图片描述

    • 如图有两个隐层,每个隐层有16个偏置

    • 那么总共需要 784×16 + 16×16 + 16×10 = 13002个参数,也就是每条边的权值

      • 神经网络的学习也就是通过训练集来不断训练得到更加合适的权值(参数)和偏置(阈值)
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐