大家好,又见面了,我是你们的朋友全栈君。
1. 什么是长尾分布数据
长尾分布数据是一种偏态分布,是指几个类别(亦叫头类)包含大量的样本,而大多数类别(亦叫尾类)只有非常少量的样本。
类似这样的数据集会使得深度学习网络在头部类中表现良好,在尾部类中效率不高,整体的识别精度显著下降。
2. 解决办法
大多数研究者通过不平衡学习策略来解决长尾识别问题,主要分为两类:数据级方法和算法级方法。
数据级方法
数据水平的策略包括尾部类过采样,头部类欠采样,以及其他新的抽样方法。所以解决手段主要着力于如何对数据进行抽样。这种方法存在的问题是,过采样会导致过拟合,欠采样会导致头部类大量有效信息丢失。
算法级方法
- 通过成本敏感算法来调整类别权重,一定程度缓解长尾分布不平衡问题,提高了尾类识别精度,但降低了头类精度。
- 将头部数据中学习到的知识迁移到尾类,这种迁移学习的缺点是在头尾类特征相差特别大的时候,效果不好。如头类是动物,尾类是植物。
- 层次学习方法,将长尾识别问题转为层次化超类学习问题。知识的迁移是受限的,只能从超类转移到它的直接子类。如尾类哈士奇的识别过程中,首先将其识别为头类的动物类,再归类为一只哈士奇狗。这个过程中,动物的知识不会转移到植物类。即,对头部类的知识迁移进行了限制,限制的方式是父子类层次关联。
Reference
- Q. Chen, Q. Liu和E. Lin, 《A knowledge-guide hierarchical learning method for long-tailed image classification》, Neurocomputing, 卷 459, 页 408–418, 10月 2021, doi: 10.1016/j.neucom.2021.07.008. ↩︎
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/204018.html原文链接:https://javaforall.cn