我目前正在做一个火灾蔓延预测的深度科学Xi项目,使用的数据集是next_day_wildfire_spread,包括海拔信息、天气、植被等信息,标签是一个64x64的火灾掩模矩阵,有三个值(-1表示不确定,0 表示没有火灾,1 表示发生火灾),我应该使用什么损失函数来完成此任务?评价函数选择什么?
目前我尝试过的损失函数有Dice系数和交叉熵损失函数,但是效果都不是很好,评估函数是AUC,也没有取得好的效果
损失函数的选择取决于很多因素,这些因素可能与网络架构、训练数据集、输出特征等相关,也可能无关。但这里有一些通用准则。
您的任务可以解释为二元/三元分割任务,其中您对标签(火,无火)感兴趣,并且可能有第三个表达不确定性的标签(也许火)。通常,人们要求他们的神经模型给出以 F/NF 作为极值的连续输出;这意味着当输出处于中间时,可以将其解释为不确定性。通过以这种方式解释分割问题,网络可以更轻松地理解任务。另外,通常只训练两个类别的网络会更容易(即使您会推断出三个类别)。
Dice 在许多二元分割任务中通常是一个很好的相似性索引,当没有类别不平衡时(即 F 和 NF 的数量相对相似 - 如果不是这种情况,我建议你去寻找Dice-Soresen 损失的更一般解释,即 Tversky 损失)。有多种方法可以将 Dice-Soresen 分数用于多标签分割任务,但这意味着您应该正确处理其计算方式。
如果您想利用标签的某些特征(例如相邻土地元素之间的空间相关性),Dice-Soresen 和熵将无济于事。在这种情况下,您可能希望寻找更适合您的神经模型实际需要执行的操作的损失函数(可以在here找到最近的分割指标的回顾,这可以让您了解一些关于您想实施什么)