MLP多层感知器

1.多层感知器的原理:

多层感知器(MLP,Multilayer Perception),同时也叫人工神经网络(ANN,Artificial Neural Network),除了输入输出层,中间还有多个隐层。
请添加图片描述
从上图可以看到,多层感知机层与层之间是全连接的(全连接的意思就是:上一层的任何一个神经元与下一层的所有神经元都有连接)。多层感知机最底层是输入层,中间是隐藏层,最后是输出层。

1.输入层: 你输入什么就是什么,比如输入是一个n维向量,就有n个神经元。
2.隐藏层: 隐藏层的神经元怎么得来?首先它与输入层是全连接的,假设输入层用向量X表示,则隐藏层的输出就是

f(W1X+b1)W1权重(也叫连接系数),b1偏置,函数f 可以是常用的sigmoid函数或者tanh函数
请添加图片描述
3.问:输入层到隐藏层
1.输入层接收特征数据,比如年龄、收入、购物习惯等,这些数据可能是连续的实数值。我们需要将这些数据映射到隐藏层。
2.使用Sigmoid函数可以将这些实数值映射到0,1的范围内。这种映射对于隐藏层的神经元来说更易于处理,因为神经元可以根据输入的激活值来做出相应的决策或调整权重。

问:那么为什么要使用sigmod函数作为隐藏层的输出呢?
1.隐藏层会根据输入层的数据学习到一些特征,比如年龄与购买行为的关系、收入与购买意愿的关系等,可以使用Sigmoid函数将这些特征的加权和映射到0,1的范围内,表示购买某个产品的概率。如果输出值接近1,表示有很高的概率购买;接近0则表示很低的概率购买
2.sigmod函数本身的性质就是能够控制输出范围始终在0,1之间,即使输入信号的范围非常大或非常小。这意味着神经元接收到的激活值总是在一个固定的范围内,不会出现过大或过小的情况,有利于神经元的稳定性和输出结果的可控性。
在这里插入图片描述
在这里插入图片描述

4.最后就是输出层,输出层与隐藏层是什么关系?其实隐藏层到输出层可以看成是一个多类别的逻辑回归,也即softmax回归,所以输出层的输出就是softmax(W2X1+b2)X1表示隐藏层的输出f(W1X+b1)

MLP整个模型就是这样子的,上面说的这个三层的MLP用公式总结起来就是,函数G是softmax,W是系数,b是偏置,s(…)是隐藏层的输出sigmod函数

请添加图片描述

因此,MLP所有的参数就是各个层之间的连接权重以及偏置,包括W1、b1、W2、b2。对于一个具体的问题,怎么确定这些参数?求解最佳的参数是一个最优化问题,解决最优化问题,最简单的就是梯度下降法了(SGD):首先随机初始化所有参数,然后迭代地训练,不断地计算梯度和更新参数,直到满足某个条件为止(比如误差足够小、迭代次数足够多时)。这个过程涉及到代价函数、规则化(Regularization)、学习速率(learning rate)、梯度计算等,本文不详细讨论,读者可以参考本文顶部给出的两个链接。

5.问:为什么使用softmax函数?
目的:将输入值转为表示概率分布的值
在这里插入图片描述

2.举个例子

条件: 输入层有三个神经元,隐藏层有四个神经元,输出层有两个神经元;
权重矩阵如图所示:
在这里插入图片描述

流程:
在这里插入图片描述
在这里插入图片描述

  • 14
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fairy要carry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值