当前位置:网站首页 > 技术博客 > 正文

mlp多层感知机



多层感知器是在感知器的基础上多元化,原来只是用一个感知器,但是单个感知器因为是单输出,所以只能进行二分类的操作,他并不能进行类似异或问题的求解,再次基础上前辈们提出了多层感知器。
在这里插入图片描述
如上图所示,{a11,a12,a13}所代表的是第一层的神经元,{a21,a22}所代表的是第二层的神经元,图中的w代表的是权重。
与单层感知器不同的是这里在前层神经元权重求和后,还有进行一次非线性激活函数激活,最后得到的就是该神经元的值。
在这里插入图片描述
如上所示,其中f就是其中的激活函数,激活函数有类似sigmoid函数、tanh函数以及ReLU函数和它的改进Leaky ReLu函数。
MLP多层感知器算法的前馈部分就是这一步,以次遍历到最后的输出。
在这里插入图片描述
到此为止为前馈操作,接下来是反馈操作,前馈和反馈之间还存在一个损失函数。
在这里插入图片描述
此处损失函数代表的是目标值和结果值之间的差距多大。所以反馈操作的目的就是减小该损失函数的结果值。
根据刚才的神经网络图,进行改进。
根据链式求导法则
在这里插入图片描述
在这里我们把激活函数定义为sigmoid函数。
在这里插入图片描述
在这里可以看出,sigmoid函数f(z)的导数是f(z)*(1-f(z))
在这里插入图片描述
这就可以得出从输出层到隐藏层的导数,
在这里插入图片描述
从隐藏层到输入层:
(连式求导)
在这里插入图片描述
在这里插入图片描述
同理可得出别的导数。
然后用所求出的导数去更新权重。
在这里插入图片描述
用MLP多层感知器算法求解异或问题。

 

结果:
在这里插入图片描述

版权声明


相关文章:

  • 数据库中有哪些索引?2024-12-04 20:30:04
  • linux给用户添加组2024-12-04 20:30:04
  • 字符串数组怎么定义,java2024-12-04 20:30:04
  • button中的文字怎么垂直居中2024-12-04 20:30:04
  • vcenter vmotion配置2024-12-04 20:30:04
  • 树状算图与算法流程2024-12-04 20:30:04
  • vue3.0动态路由2024-12-04 20:30:04
  • tinyxml gettext2024-12-04 20:30:04
  • redisson集群模式2024-12-04 20:30:04
  • webhook作用2024-12-04 20:30:04