keras之多类损失函数categorical_crossentropy

categorical_crossentropy

在网络中使用categorical_crossentropy损失函数时,你训练网络所使用的m个类别的标签值应当是经过矢量化后的m维向量,其中向量一个索引为1,其余索引为0,对应一个类别。这样类别被向量化,和神经网络训练出来的m个概率值对应,概率值最大的那个输出所对应的向量,其所代表的标签即为该次所得。
One-hot 标签向量化:keras中可使用to_categorical对标签值进行向量化

keras.utils.to_categorical(y, num_classes=None, dtype=‘float32’)
其中:
y: 需要转换成矩阵的类矢量 (从 0 到 num_classes 的整数)。
num_classes: 标签总类别数。
dtype: 字符串,输入所期望的数据类型 (float32, float64, int32…)
例如:
keras之多类损失函数categorical_crossentropy_第1张图片keras之多类损失函数categorical_crossentropy_第2张图片
对于向量亦可通过argmax返回返回指定轴的最大值的索引。argmin返回最小值索引。
此处以argmax为例
keras.backend.argmax(x, axis=-1)
其中
x: 张量或变量。
axis: 执行归约操作的轴。
返回一个张量
接上面程序
在这里插入图片描述
keras之多类损失函数categorical_crossentropy_第3张图片

你可能感兴趣的:(技术,软件,框架)