我正在使用包含tripadvisor 餐厅评论及其标签(1、2、3、4 或5 星)的数据集。
最初我想将它用作分类问题,应用 softmax、交叉熵等,但转念一想,我想到了将其实际视为回归问题的想法,即生成一个连续的输出(例如 3.897)非常好(当然假设原始值是 4)。
这有意义吗?还是我应该将答案热编码为 5 个元素的向量(在每颗星上?)。
此外,假设回归是处理这个问题的正确方法,最后一层的线性激活将是可行的方法,要查看的指标将是均方误差和平均绝对误差。
更新:
再浏览了一下,我发现了一个叫Ordinal Regression的东西,其实只要稍微想一想,一切都说得通。如果我只是将问题视为分类问题,并且我有一个预测说给定评论有 1 星,而实际上它是 4 星,我们将如何惩罚它?
- 如果我们正在使用分类问题并且我们正在使用交叉熵,那么这只是一个错误分类错误,并且将某些东西标记为 1 开始而应该是 4 开始被认为是不正确的,因为它应该有标记为 3 星4星。如您所见,这是不正确的,两个预测(1 星和 3 星)都不正确,但其中一个比其他预测更不正确。
- 但是,如果我们使用回归问题,我们的成本函数显然会更多地惩罚 1 个开始的预测,而不是 3 颗星中的一颗(同样,这里我们假设正确的标签应该是 4 颗星)。
因此,鉴于所有这些,我会说回归在这种情况下是有意义的,因为类别彼此相关。