动手学深度学习三---多层感知机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、多层感知机

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

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

表示激活函数

猜你喜欢

转载自www.cnblogs.com/slfh/p/10897126.html