Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pytorch 多类多目标分类问题的最佳损失函数_Pytorch_Classification_Multilabel Classification_Multiclass Classification - Fatal编程技术网

Pytorch 多类多目标分类问题的最佳损失函数

Pytorch 多类多目标分类问题的最佳损失函数,pytorch,classification,multilabel-classification,multiclass-classification,Pytorch,Classification,Multilabel Classification,Multiclass Classification,我有一个分类问题,我不知道如何对这个分类问题进行分类。据我了解, 多类分类问题是,您有多个相互排斥的类,并且数据集中的每个数据点只能由一个类标记。例如,在水果的图像分类任务中,标记为苹果的水果数据点不能是橙色,橙色不能是香蕉等等。在这种情况下,每个数据点只能是水果类的任何一个水果,因此会相应地进行标记 作为 多标签分类是一个问题,其中有多组相互排斥的类,其中的数据点可以同时标记。例如,在汽车的图像分类任务中,标记为轿车的汽车数据点不能是掀背式轿车,掀背式轿车不能是SUV,依此类推。同时,相同的汽

我有一个分类问题,我不知道如何对这个分类问题进行分类。据我了解,

多类分类问题是,您有多个相互排斥的类,并且数据集中的每个数据点只能由一个类标记。例如,在水果的图像分类任务中,标记为苹果的水果数据点不能是橙色,橙色不能是香蕉等等。在这种情况下,每个数据点只能是水果类的任何一个水果,因此会相应地进行标记

作为

多标签分类是一个问题,其中有多组相互排斥的类,其中的数据点可以同时标记。例如,在汽车的图像分类任务中,标记为轿车的汽车数据点不能是掀背式轿车,掀背式轿车不能是SUV,依此类推。同时,相同的汽车数据点可以标记为大众、福特、梅赛德斯等汽车制造商的数据点。因此,在本例中,汽车数据点是从两组不同的互斥类中标记出来的

如果我在这里思考错误,请纠正我的理解

现在来看我的问题,我的多类分类问题,比如A、B、C、D和E。这里每个数据点可以有一个或多个集合中的类,如左图所示:

|-------------|----------|              |-------------|-----------------|
|      X      |     y    |              |      X      |    One-Hot-Y    |
|-------------|----------|              |-------------|-----------------|
|     DP1     |   A, B   |              |     DP1     | [1, 1, 0, 0, 0] |
|-------------|----------|              |-------------|-----------------|
|     DP2     |   C      |              |     DP2     | [0, 0, 1, 0, 0] |
|-------------|----------|              |-------------|-----------------|
|     DP3     |   B, E   |              |     DP3     | [0, 1, 0, 0, 1] |
|-------------|----------|              |-------------|-----------------|
|     DP4     |   A, C   |              |     DP4     | [1, 0, 1, 0, 0] |
|-------------|----------|              |-------------|-----------------|
|     DP5     |   D      |              |     DP5     | [0, 0, 0, 1, 0] |
|-------------|----------|              |-------------|-----------------|
我对培训标签进行了热编码,如上图右侧所示。我的问题是:

  • 我可以使用什么样的损失函数(最好是PyTorch)来训练模型,以优化一个热编码输出
  • 我们称之为什么样的分类问题?多标签还是多类别
  • 谢谢你的回答

    我可以使用什么损失函数(最好是PyTorch中的损失函数)进行培训 用于优化一个热编码输出的模型

    您可以使用(或者它们是等效的)并查看这一个是如何工作的。这是标准方法,其他可能是

    我们称之为什么样的分类问题?多标签还是多类别

    它是多标签(因为多个标签可以同时出现)。在一个热编码中:

    [1, 1, 0, 0, 0], [0, 1, 0, 0, 1] - multilabel
    [0, 0, 1, 0, 0] - multiclass
    [1], [0] - binary (special case of multiclass)
    
    多类不能有多个
    1
    ,因为所有其他标签都是互斥的