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、多层感知机
多层感知机就是含有至少一个隐藏层的由全连接层(隐藏层)组成的神经网络,其中每一个隐藏层的输出都会通过激活函数进行变换
多层感知机的层数和隐藏层的层数都是超参数,可以自己设定
表示激活函数
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:动手学深度学习三—多层感知机MLP - Python技术站