第一课第一周12-13节 多任挑战总结

前面我们已经学习了如何处理类别不平衡。这节课我们来探讨第二个挑战-多任务挑战

目前为止,我们已经研究了二分类,我们关心的是一个例子是否是有 mass 疾病。

然而,在现实世界中,我们关心的是对许多此类疾病的存在与否进行分类。现在,一个简单的方法是让每个模型学习分别学习这些任务中的一个。即A模型学习是否有肺炎,B 模型学习是否有气胸等。

当然,我们可以学习使用一个模型来完成所有的任务。即多任务学习。

image

这样做的一个好处是,我们可以学习识别多种疾病的共同特征,从而使我们能够更有效地利用现有数据。这是多任务学习的设置。

让我们看看如何训练算法同时学习所有这些任务。

image

如图,这些例子不再是一个标签,而是每个疾病都有一个标签。零表示没有该疾病,而1表示该疾病的存在。

假设我们这里的任务是预测胸片中是否包含3中疾病(mass, pneumonia, edema)(肿块,肺炎,水肿)。

如患者P1,标签为(0,1,0)。表示没有肿块,有肺炎,没有水肿。

该模型不再有一个输出,而是有三个不同的输出,表示三种不同疾病的概率。

为了训练这样一个算法,我们还需要将损失函数从二分类loss 修改为多任务loss。让我们看看如何做到这一点。

多任务损失函数

image

我们修改了损失函数,这样我们就可以看到与每种疾病相关的误差。我们可以用多种疾病的损失之和来表示我们的新损失。如图中公式。

这称为multi-label(多标签), multi-task(多任务)损失。

image

在这个图中,我们给出了每个例子的预测概率,以及每个类别下对应的loss。

比如对于P1患者,mass疾病的预测概率为0.3, loss为0.52。pneumonia预测概率为0.1, loss为0.7。edama的预测概率为0.8, loss为0.7。对于P1,总的loss为它们之和。

最后要考虑的是如何在多任务设置中解释类不平衡

image

再一次,我们可以应用之前我们已经学过的加权损失。

只不过,在二分类中,阳性和阴性的权重分别只有一个。

但,对多分类而言,有几种疾病,就有几个不同的权重设置。比如,在图片中,对mass疾病而言,它有w_p,也有w_n

同样,pneumonia和edema也有w_p,w_n

我是Tina, 我们下篇博客见~

白天工作晚上写文,呕心沥血

觉得写的不错的话最后,求点赞,评论,收藏

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容