关于多分类神经网络的输出

这里写图片描述
这与之前逻辑回归中的多类分类表示不同,在逻辑回归中,输出y属于类似于{1, 2, 3, 4}中的某个值,而这里输出的是一个向量。因此,神经网络解决多类分类问题的本质是把原分类问题分解为一类对其他类(one-vs-all)的二类分类问题。 
神经网络比直接使用Logistic回归的优势在于:如果给定基础特征的数量为100,那么在利用Logistic回归解决复杂分类问题时会遇到特征项爆炸增长,造成过拟合以及运算量过大问题。而对于神经网络,可以通过隐藏层数量和隐藏单元数量来控制假设函数的复杂程度,并且在计算时只计算一次项特征变量。其实本质上来说,神经网络是通过这样一个网络结构隐含地找到了所需要的高次特征项,从而化简了繁重的计算。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
多分类输出层的前馈神经网络通常使用Softmax作为输出层的激活函数。Softmax函数可以将输出层的多个节点的输出映射为概率,从而进行多分类任务的预测。 具体地,假设输出层有K个节点,分别表示K个类别,对于第k个节点,它的输出为$z_k$,则该节点的输出经过Softmax函数处理后为: $$y_k = \frac{e^{z_k}}{\sum_{i=1}^K e^{z_i}}$$ 其,分母为所有节点的输出的指数函数之和,分子为该节点的输出的指数函数。 Softmax函数的输出可以理解为对于每一个类别的概率越大表示越有可能属于该类别。因此,在进行多分类任务时,我们可以通过比较各个类别的概率,来预测输入数据所属的类别。 在神经网络的训练过程,通常采用交叉熵损失函数来衡量预测与真实标签之间的差异。对于输出层的第k个节点,它的损失函数为: $$L_k = -y_{real,k} log(y_k)$$ 其,$y_{real,k}$表示真实标签的第k个元素,$y_k$表示该节点的输出,$log()$表示自然对数函数。对于整个输出层,它的损失函数为各节点损失函数之和: $$L = -\sum_{k=1}^K y_{real,k} log(y_k)$$ 在训练过程,需要通过反向传播算法来计算神经网络各层的权重和偏置的梯度,以便进行参数更新。具体地,对于输出层的第k个节点,它的梯度为: $$\frac{\partial L}{\partial z_k} = y_k - y_{real,k}$$ 其,$y_k$表示该节点的输出,$y_{real,k}$表示真实标签的第k个元素。 对于其他隐藏层节点,它们的梯度需要根据后续节点的梯度进行计算。在计算完输出层节点的梯度后,可以使用链式法则来计算各层的梯度。最终,通过梯度下降算法来更新各层的权重和偏置,从而使得神经网络能够更好地拟合训练数据,提高预测的准确率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值