M-P模型

1. M-P模型(阈值加和模型)

M-P模型实际上是模拟人脑中单个神经元结构

生物神经元细胞如图所示:
生物神经元细胞
M-P模型结构如图所示:
M-P模型
对比生物神经元结构与M-P模型,有如下对应关系:

12345678
神经元结构 i i i个输入神经元 j j j个接收神经元 i i i神经元输入到第 j j j个神经元的信号权重(连接强度)阈值总的膜电位 j j j个神经元的信号输出
M-P模型 i i i j j j x i j x_{ij} xij ω i j \omega_{ij} ωij θ j \theta_{j} θj ∑ i = 1 m x i j ω i j   −   θ j \sum_{i=1}^{m}x_{ij}\omega_{ij}\ - \ \theta_{j} i=1mxijωij  θj y j = f ( ∑ i = 1 m x i j ω i j   −   θ j ) y_{j} = f(\sum_{i=1}^{m}x_{ij}\omega_{ij}\ - \ \theta_{j}) yj=f(i=1mxijωij  θj)

生物神经元接受来自多个不同树突的电信号输入(电信号有兴奋和抑制的区别),通过神经元细胞整合后,由轴突输出。
对于M-P模型: x i j x_{ij} xij表示第 j j j个神经元接受来自第 i i i个神经元的输入信号大小, θ j \theta_{j} θj表示第 j j j个神经元的阈值, ω i j \omega_{ij} ωij表示连接的强弱,如果将总的膜电位加和就有 ∑ i = 1 m x i j ω i j   −   θ j \sum_{i=1}^{m}x_{ij}\omega_{ij}\ - \ \theta_{j} i=1mxijωij  θj,通过激活函数 f ( ⋅ ) f(·) f(),就能得到神经元 j j j的输出 y j y_{j} yj
激活函数选取需要注意的性质:
非线性:当激活函数为非线性的时候,可以证明两层的神经网络可以逼近任意复杂的函数。
连续可微:由于神经网络的训练是基于梯度的优化方法,因此要求激活函数连续可微。
范围:当激活函数的取值有限时,特征的表示受有限权重的影响更显著,依仗梯度的方法会更加稳定;反之,特征的表示会则显著影响大部分权重,训练效率会更高,因此采用较小的Learning-rate就能达到目的。
单调性:如果激活函数在原点附近恒有 f ( x ) = x f(x) = x f(x)=x f ′ ( 0 ) = 1 f^{'}(0) = 1 f(0)=1,且 f ′ ( x ) f^{'}(x) f(x)在0点连续,则使用小的随机值初始化权值就能高效地训练神经网络;反之,则需要谨慎选取初始化权值。
下面介绍几种常用的激活函数 f ( ⋅ ) f(·) f()
(1)Binary Step函数
f ( x ) = { 1 , i f x ≥ 0 0 , i f x < 0 f(x) = \begin{cases} 1, & if \quad x \geq 0 \\ 0, & if \quad x < 0 \end{cases} f(x)={1,0,ifx0ifx<0
其优点是简单实用,可用于而分类问题,但是由于 f ′ ( x ) = 0 , f o r   a l l   x ∈ R f^{'}(x) = 0, for\ all\ x \in R f(x)=0,for all xR均成立,因此无法用于依仗梯度的逆向传播机制。
(2)线性函数
f ( x ) = ω T x + b , x ∈ R f(x) = \boldsymbol{\omega}^{T}x + b , x\in R f(x)=ωTx+b,xR
优点是激活输出值与输入成正比,但由于其梯度 f ′ ( x ) = ω f^{'}(x)= \boldsymbol{\omega} f(x)=ω,与 x x x无关,因此无论神经网络有多少层,其输出都只是一个线性变换而且无法减少误差,因此同样也不能用于逆向传播网络中。
(3) S i g m o i d Sigmoid Sigmoid函数
f ( x ) = 1 1 + e − x   , x ∈ R f(x) = \frac{1}{1 + e^{-x}}\ , x\in R f(x)=1+ex1 ,xR
其优点是非线性,处处连续可微,值域 f ( x ) ∈ ( 0 ,   1 ) f(x) \in (0,\ 1) f(x)(0, 1),且 f ′ ( x ) = f ( x ) ( 1 − f ( x ) ) f^{'}(x) = f(x)(1 - f(x)) f(x)=f(x)(1f(x)),缺点是计算耗时,容易出现梯度消失问题, lim ⁡ x → ± ∞ f ′ ( x ) → 0 \lim_{x \to \pm \infty }f^{'}(x) \to 0 limx±f(x)0 max ⁡   f ′ ( x ) = 0.25 \max \ f^{'}(x) = 0.25 max f(x)=0.25,根据链式法则,逆向传过来的梯度至少会缩小到原来的 1 4 \frac{1}{4} 41,层数越多梯度会越趋近于0,而且函数输出并不是Zero-Centered, 因为 f ( x ) > 0   f o r   a l l   x ∈ R f(x) > 0\ for \ all \ x \in R f(x)>0 for all xR
Sigmod函数
(4) t a n h tanh tanh函数
f ( x ) = e x − e − x e x + e − x , x ∈ R f(x) = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}, x\in R f(x)=ex+exexex,xR
具有 S i g m o i d Sigmoid Sigmoid函数的优点, f ( x ) ∈ ( − 1 ,   1 ) f(x) \in (-1,\ 1) f(x)(1, 1),其 f ′ ( x ) = 1 − f 2 ( x ) f^{'}(x) = 1 - f^{2}(x) f(x)=1f2(x),与 S i g m o i d Sigmoid Sigmoid函数缺点相似, lim ⁡ x → ± ∞ f ′ ( x ) → 0 \lim_{x \to \pm \infty }f^{'}(x) \to 0 limx±f(x)0,因此也会出现梯度消失问题。
tanh函数

(5) R e L U ReLU ReLU函数
f ( x ) = max ⁡ ( 0 ,   x ) ,   x ∈ R f(x) = \max (0,\ x), \ x \in R f(x)=max(0, x), xR
不会出现梯度消失问题,运算速度快,收敛性远高于 S i g m o i d Sigmoid Sigmoid t a n h tanh tanh函数,但是输出不是Zero-Centered,而且某些神经元可能永远不会被激活,导致相应的参数永远不被更新,主要是Learning-rate过高,梯度更新过快导致的。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
M-P模型是一种经典的神经网络模型,它由多层感知机(Multi-Layer Perceptron,简称MLP)和一个softmax输出层组成。最速下降法是一种常用的优化算法,可以用于训练神经网络。sigmoid函数是一种常用的激活函数,可以将神经元的输出限制在0到1之间。 结合最速下降法和sigmoid函数设计M-P模型的具体步骤如下: 1. 确定模型的输入层和输出层。输入层的神经元数量应该与输入数据的特征数量相同,输出层的神经元数量应该与类别数量相同。 2. 确定隐藏层的数量和每个隐藏层的神经元数量。隐藏层的数量和神经元数量可以根据实际问题进行调整,通常情况下,隐藏层数量越多,模型的表达能力越强。 3. 初始化模型的权重和偏置。可以使用随机数进行初始化,初始化范围可以根据实际问题进行调整。 4. 定义损失函数。M-P模型通常使用交叉熵作为损失函数,可以将其表示为: $J(W,b)=-\frac{1}{N}\sum_{i=1}^{N}\sum_{j=1}^{K}y_{ij}log\hat{y}_{ij}$ 其中,$W$和$b$分别表示模型的权重和偏置,$N$表示样本数量,$K$表示类别数量,$y_{ij}$表示第$i$个样本的第$j$个类别的真实标签,$\hat{y}_{ij}$表示模型对第$i$个样本的第$j$个类别的预测值。 5. 使用最速下降法更新模型的权重和偏置。具体来说,可以根据以下公式更新: $W^{(t+1)}=W^{(t)}-\alpha\frac{\partial J(W^{(t)},b^{(t)})}{\partial W^{(t)}}$ $b^{(t+1)}=b^{(t)}-\alpha\frac{\partial J(W^{(t)},b^{(t)})}{\partial b^{(t)}}$ 其中,$t$表示第$t$次迭代,$\alpha$表示学习率,$\frac{\partial J(W^{(t)},b^{(t)})}{\partial W^{(t)}}$和$\frac{\partial J(W^{(t)},b^{(t)})}{\partial b^{(t)}}$分别表示损失函数对权重和偏置的梯度。 6. 对模型进行预测。可以使用softmax函数将模型的输出转化为概率值,即: $\hat{y}_{ij}=\frac{e^{z_{ij}}}{\sum_{k=1}^{K}e^{z_{ik}}}$ 其中,$z_{ij}$表示第$i$个样本在第$j$个神经元上的加权和,可以表示为: $z_{ij}=\sum_{k=1}^{d}w_{jk}^{(2)}\sigma(\sum_{l=1}^{m}w_{kl}^{(1)}x_{il}+b_{k}^{(1)})+b_{j}^{(2)}$ 其中,$w_{jk}^{(2)}$表示输出层第$k$个神经元和隐藏层第$j$个神经元之间的权重,$w_{kl}^{(1)}$表示隐藏层第$l$个神经元和输入层第$k$个神经元之间的权重,$b_{k}^{(1)}$表示隐藏层第$k$个神经元的偏置,$b_{j}^{(2)}$表示输出层第$j$个神经元的偏置,$\sigma$表示sigmoid函数。 7. 计算模型的准确率和损失值。可以使用交叉熵作为损失函数,使用准确率作为评价指标。 以上就是结合最速下降法和sigmoid函数设计M-P模型的具体步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值