【发布时间】:2017-07-27 01:38:54
【问题描述】:
我有整数目标类在 1-5 范围内的数据,其中一个是最低的,五个是最高的。在这种情况下,我应该将其视为回归问题并在输出层中有一个节点吗?
我的处理方式是:
1- 首先我将标签转换为二进制类矩阵
labels = to_categorical(np.asarray(labels))
2-在输出层,我有五个节点
main_output = Dense(5, activation='sigmoid', name='main_output')(x)
3- 我在编译时使用 'categorical_crossentropy 和 mean_squared_error
model.compile(optimizer='rmsprop',loss='categorical_crossentropy',metrics=['mean_squared_error'],loss_weights=[0.2])
另外,谁能告诉我:在这种情况下使用 categorical_accuracy 和 'mean_squared_error 有什么区别?
【问题讨论】:
-
使用序数尺度,回归和分类都有意义。 AFAIK 分类损失,如
categorical_crossentropy,但不考虑“距离”(即所有错误分类同样错误),因此不使用所有实际可用的信息。
标签: deep-learning keras keras-layer