首先,我向您讲述我的问题和情况。我想在chainer中做多标签分类,我的类不平衡问题非常严重。
在这种情况下,我必须对向量进行切片才能计算损失函数,例如,在多标签分类中,ground truth label vector大多数元素为0,只有少数为1,这种情况下,直接使用F.sigmoid_cross_entropy来申请所有的 0/1 元素都可能导致训练不收敛,所以我决定使用 a[[xx,xxx,...,xxx]] 切片(a is chainer.Variable output by last FC layer)对特定元素进行切片计算损失函数。在这种情况下,由于标签不平衡可能导致稀有类低分类性能,所以我想在反向传播期间设置稀有 gt-label 变量高损失权重,但在反向传播期间设置主要标签(在 gt 中出现太多)变量低权重.
我该怎么做?你对chainer中的多标签不平衡类问题训练有什么建议?