很抱歉,如果这是一个愚蠢的问题,但是我有一个数据集,其中有两个类,我希望尝试使用U-Net进行分类。
创建标签矩阵时,我是否需要显式定义null /基类(不是类的所有内容),还是Keras会自动计算?
例如,如果我有一组图像要分类有狗或这是猫的区域,我应该是否需要创建第三个标签矩阵来标记不是狗或猫的所有内容(因此,具有三个类)?
此外,空类主导了我希望分割的图像;如果我要使用class_weight,它似乎只接受字典作为输入,而我发誓要先指定一个列表,这样就足够了。
如果我将我的问题视为两类问题,则假定我也需要指定null类的权重,即class_weight = [nullweight, dogweight, catweight]
。
谢谢
上面的图像是两类还是三类问题?
答案 0 :(得分:1)
您必须指定其他类别,因为网络需要区分狗,猫和背景。
关于class_weights
参数,讨论稍微复杂一点,您无法像在简单的分类问题中那样进行分配。
实际上,在许多问题中,背景构成了图像的很大一部分,因此在解决这种不平衡的问题时,您需要格外小心。
您需要检查参数sample_weights
,而不是class_weights
,您可以查看以下线程: