多层感知机多分类 公式推导

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

多层感知机多分类公式推导
多层感知机(MLP)是一种在深度学习中广泛使用的神经网络模型。

在多分类问题中,MLP也是一种常见的分类器。

本文将对MLP多分类的公式进行推导。

首先,假设有N个样本,每个样本有M个特征,要将它们分类到K个类别中。

MLP模型的基本结构是由多个全连接层和激活函数组成的,其中每个全连接层都有若干个神经元,每个神经元都有一个权重向量和一个偏置量。

对于第i层的第j个神经元,假设其输入为$x_{i,j}$,权重为$w_{i,j}$,偏置为$b_{i,j}$,输出为$y_{i,j}$,激活函数为$f_i$,则有:
$$y_{i,j}=f_i(sum_{k=1}^{n_{i-1}}w_{i,j,k}y_{i-1,k}+b_{i,j} )$$
其中,$n_{i-1}$是第i-1层神经元的数量,当i=1时,
$n_{i-1}=M$。

由于是多分类问题,最后一层输出的是K个类别的概率值,因此最后一层的激活函数通常使用softmax函数,其公式为:
$$y_{L,i}=frac{e^{z_{L,i}}}{sum_{j=1}^Ke^{z_{L,j}}}$$ 其中,$z_{L,i}$表示第L层第i个神经元的输出值,即:
$$z_{L,i}=sum_{k=1}^{n_{L-1}}w_{L,i,k}y_{L-1,k}+b_{L,i}$$ 假设样本的真实标签为$y_{true}$,则我们的目标是最小化损失
函数,常见的损失函数有交叉熵损失函数,其公式为:
$$L=-frac{1}{N}sum_{i=1}^Nsum_{k=1}^Ky_{true,k}log(y_{L,k}) $$
其中,$y_{L,k}$表示第L层第k个神经元的输出值。

为了最小化损失函数,我们需要对每个参数进行梯度下降,即对于第i层第j个神经元的权重和偏置,其梯度计算公式为:
$$frac{partial L}{partial
w_{i,j,k}}=frac{1}{N}sum_{l=1}^N(y_{L,k}^{(l)}-y_{true,k}^{ (l)})y_{i-1,j}^{(l)}$$
$$frac{partial L}{partial
b_{i,j}}=frac{1}{N}sum_{l=1}^N(y_{L,k}^{(l)}-y_{true,k}^{(l )})$$
其中,$y_{L,k}^{(l)}$表示第l个样本经过前向传播后第L层第k个神经元的输出值,$y_{true,k}^{(l)}$表示第l个样本的真实标签中第k个类别的值,$y_{i-1,j}^{(l)}$表示第l个样本经过前向传播后第i-1层第j个神经元的输出值。

最后,我们可以使用梯度下降算法对模型进行训练,不断更新参数,直到达到收敛的条件。

相关文档
最新文档