独热编码、顺序编码与softMax多分类

激活函数:softmax分类

  • 对数几率回归解决的是二分类的问题,对于多个选项的问题,我们可以使用softmax函数,它是对数几率回归在 N 个可能不同的值上的推广。

Softmax层的作用

  • 神经网络的原始输出不是一个概率值,实质上只是输入的数值做了复杂的加权和与非线性处理之后的一个值而已,那么如何将这个输出变为概率分布?
    这就是Softmax层的作用。

softmax要求每个样本必须属于某个类别,且所有可能的样本均被覆盖,softmax各样本分量之和为 1;当只有两个类别时,与对数几率回归完全相同。

在模型优化时

  • 对于多分类问题我们使用以下两种损失函数(在model.compile 方法中改写参数 loss)
    当标签类别使用独热编码时,使用 loss = 'categorical_crossentropy'
    当标签类别使用顺序编码时,使用 loss = 'sparse_categorical_crossentropy'
    来计算softmax交叉熵

独热编码 和 顺序编码

在这里插入图片描述
两者关系:假如有n类

  • 顺序编码:属于第i类,表示为 i-1(type=int);
  • 独热编码:属于第i类,表示为 [0, 0, …, 1, 0, …, 0](type=list, len=n),只有index=i-1的位置为1,其余n-1个位置均为0。

使得标签由原来的顺序编码变为独热编码,在训练新的模型

train_label_onehot = tf.keras.utils.to_categorical(train_label)
test_label_onehot = tf.keras.utils.to_categorical(test_label)

print('独热编码的train_label(前5个):\n')
print(train_label_onehot[:5])
>>>独热编码的train_label(5):
[[0. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[
  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值