多层感知机

2020-02-14  本文已影响0人  英文名字叫dawntown

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)

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

上一篇 下一篇

猜你喜欢

热点阅读