zoukankan      html  css  js  c++  java
  • 多层感知机概述——2020.2.15

    其他博客:

    多层感知机从零开始实现:https://www.cnblogs.com/somedayLi/p/12359167.html
    多层感知机简洁实现:https:////www.cnblogs.com/somedayLi/p/12359420.html

    一、隐藏层

        多层感知机在单层神经⽹络的基础上引⼊了⼀到多个隐藏层(hidden layer)。隐藏层位于输⼊层和输出层之间。下图展示了⼀个多层感知机的神经⽹络图,它含有⼀个隐藏层,该层中有5个隐藏单元。

        上图所示的多层感知机中,输⼊和输出个数分别为4和3,中间的隐藏层中包含了5个隐藏单元(hidden unit)。由于输⼊层不涉及计算,因此上图的多层感知机的层数为2。由上图可⻅,隐藏层中的神经元和输⼊层中各个输⼊完全连接,输出层中的神经元和隐藏层中的各个神经元也完全连接。因此,多层感知机中的隐藏层和输出层都是全连接层。

    二、激活函数

        上述问题的根源在于全连接层只是对数据做仿射变换(affine transformation)⽽多个仿射变换的叠加仍然是⼀个仿射变换。解决⽅法——引⼊⾮线性变换,即通过激活函数(activation function)实现非线性变换。关于激活函数,可以看我的另一篇博客激活函数总结,本书中列举的三个激活函数是:ReLU函数、sigmoid函数、tanh函数。

    三、多层感知机

        多层感知机是指——由全连接组成的神经网络,至少含有一个隐藏层,并且,每个隐藏层的输出均通过激活函数进行变换。多层感知机的层数和各隐藏层中隐藏单元个数都是超参数(超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据——百度百科)。以单隐藏层为例并沿⽤本节之前
    定义的符号(见下面引用内容),多层感知机按以下⽅式计算输出:

    给定⼀个⼩批量样本(X in R^{n imes d}) ,其批量⼤⼩为(n) ,输⼊个数为(d)。假设多层感知机只有⼀个隐藏层,其中隐藏单元个数为 。记隐藏层的输出(也称为隐藏层变量或隐藏变量)为(H),有(H in R^{n imes h})。因为隐藏层和输出层均是全连接层,可以设隐藏层的权重参数和偏差参数分别为(W_h in R^{d imes h})(b_h in R^{1 imes h}),输出层的权重和偏差参数分别为(W_o in R^{h imes q})(b_o in R^{1 imes q})

    [H = phi left( XW_h + b_h ight) \ O = HW_o + b_o ]

        其中(phi)表示激活函数。在分类问题中,我们可以对输出(O)做softmax运算,并使⽤softmax回归中的交叉熵损失函数。 在回归问题中,我们将输出层的输出个数设为1,并将输出(O)直接提供给线性回归中使⽤
    的平⽅损失函数。

    小结

    • 多层感知机在输出层与输⼊层之间加⼊了⼀个或多个全连接隐藏层,并通过激活函数对隐藏层输出进⾏变换。
    • 常⽤的激活函数包括ReLU函数、sigmoid函数和tanh函数。
  • 相关阅读:
    api接口安全
    php读取大文件
    thinkphp5.0的工作流程
    php扩展包索引
    redis学习之持久化与内存淘汰机制
    mysql优化之分区
    简练软考知识点整理-控制干系人参与
    简练软考知识点整理-控制干系人参与
    简练软考知识点整理-管理干系人参与
    简练软考知识点整理-管理干系人参与
  • 原文地址:https://www.cnblogs.com/somedayLi/p/12313804.html
Copyright © 2011-2022 走看看