美文网首页
多层感知机

多层感知机

作者: 英文名字叫dawntown | 来源:发表于2020-02-14 21:18 被阅读0次

    1. 基础概念

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

    多层感知机相比于线性模型有两个主要特点:多层和激活函数

    1.1 隐藏层

    具有一个隐藏层的多层感知机

    每两层神经元之间的关系如下:

    \begin{aligned} \boldsymbol{H} &= \boldsymbol{X} \boldsymbol{W}_h + \boldsymbol{b}_h,\\ \boldsymbol{O} &= \boldsymbol{H}' \boldsymbol{W}_o + \boldsymbol{b}_o, \end{aligned}

    如果直接将隐层输出作为输出层输入(\boldsymbol{H}'=\boldsymbol{H}),则与线性回归(单层神经网络)等效:

    \boldsymbol{O} = (\boldsymbol{X} \boldsymbol{W}_h + \boldsymbol{b}_h)\boldsymbol{W}_o + \boldsymbol{b}_o = \boldsymbol{X} \boldsymbol{W}_h\boldsymbol{W}_o + \boldsymbol{b}_h \boldsymbol{W}_o + \boldsymbol{b}_o

    此需要引入非线性的激活函数

    1.2 激活函数

    常用激活函数
    名字 公式 求导
    Sigmoid \boldsymbol{S(X)} = \frac{1}{1+e^{\boldsymbol{XW+b}}} \boldsymbol{S(X)}^T(\boldsymbol{1}-\boldsymbol{S(X)})
    Tanh \boldsymbol{Tanh(X)} = \frac{e^{\boldsymbol{XW+b}}-e^{\boldsymbol{-XW-b}}}{e^{\boldsymbol{XW+b}}-e^{\boldsymbol{-XW-b}}} \boldsymbol{1}-\boldsymbol{Tanh(X)}^T\boldsymbol{Tanh(X)}
    ReLU \boldsymbol{ReLU(X)}=max\{\boldsymbol{0,X}\} 0(x<0),1(x>0)
    • ReLu函数是一个通用的激活函数,目前在大多数情况下使用。
    • ReLU函数只能在隐藏层中使用。
    • 用于分类器时,sigmoid函数及其组合通常效果更好。
    • 由于梯度消失问题,有时要避免使用sigmoid和tanh函数。
    • 在神经网络层数较多的时候,最好使用ReLu函数,ReLu函数比较简单计算量少,而sigmoid和tanh函数计算量大很多。
    • 在选择激活函数的时候可以先选用ReLu函数如果效果不理想可以尝试其他激活函数。

    按照自己的需求选用以上激活函数\phi\boldsymbol{H'}=\boldsymbol{\phi(H)}实现非线性变换。

    相关文章

      网友评论

          本文标题:多层感知机

          本文链接:https://www.haomeiwen.com/subject/jcrrfhtx.html