zoukankan      html  css  js  c++  java
  • 动手学深度学习三---多层感知机MLP

    1、隐藏层

    多层感知机在单层神经网络中引入了一到多个隐藏层,隐藏层位于输入层和输出层之间

    输入层特征数为4个,输出层标签类别为3,隐藏单元5个,输入层不涉及计算,多层感知机层数为2

    隐藏层中神经元和输入层中各个输入完全连接,输出层神经元与隐藏层神经元完全连接,因此全连接层有两个:输出层和隐藏层

    假设隐藏层权重和偏差分别为wh、bh,输出层权重和偏差分别为wo、bo,输出o的计算为

    H = XWh + bh,

    O =HWo + bo

    即,O = (XWh + bh)Wo + bo=XWhWo+bhWo+ bo

    此时,仍等价于单层神经网络,输出层权重为WhWo,偏差为bhWo+ bo

    问题:模型仍为线性模型,如何解决非线性问题?

    解决方式:引入非线性变换---激活函数,解决非线性问题

    2、激活函数

    (1)ReLU函数

    给定元素x,ReLU(x)=max(x,0)

    (2)sigmod函数

     将元素的值变换到0和1之间,在早期的神经网络中使用较为普遍,现在更常用的是ReLU

    (3)tanh函数

    tanh双曲正切函数可以将元素的值变换到-1和1之间

    3、多层感知机

    多层感知机就是含有至少一个隐藏层的由全连接层(隐藏层)组成的神经网络,其中每一个隐藏层的输出都会通过激活函数进行变换

    多层感知机的层数和隐藏层的层数都是超参数,可以自己设定

    表示激活函数

  • 相关阅读:
    全局变量引用与声明
    Oracle基础~dg原理
    Oracle基础~dg管理
    Oracle基础~rman克隆
    oracle基础~rman恢复篇
    oracle基础~linux整体性能优化
    oracle基础~报错汇总与解决办法
    oracle基础~用户和权限
    oracle基础~rac-asm
    oracle基础~awr报告
  • 原文地址:https://www.cnblogs.com/slfh/p/10897126.html
Copyright © 2011-2022 走看看