当训练数据集只包含有限数量的案例时,我们应该如何训练一个 CNN 模型,并且训练好的模型应该预测其他几个案例的类别(标签),这是以前没有见过的?
假设有隐藏的独立特征描述在以前看到的数据集案例中重复的标签。
例如,假设我们想要训练一个模型来处理运动时间序列信号,以便它可以预测某种活动(标签),并且我们有很长的运动信号(例如小时)记录,用于在各种不同的人(例如 30)类型的活动(例如 5),我们可以说这些信号带有三种类型的隐藏特征:
- 噪声特征:每个人/活动之间的共同特征
- 案例特征:主要与人相关的特征
- 类特征:主要与活动相关的特征
我们希望训练模型,使其主要学习Class-features
并消除第一种和第二种类型的特征。
在传统类型的监督学习中,CNN 学习数据集如何表示它们的所有特征。在我的测试中,模型很好地学习了这 30 个人的活动,但它只能随机预测新人(即 20% 的成功率)。过拟合?
似乎有三个直接的解决方法:
- 提取
class-features
和使用浅分类器。 - 通过记录其他人的信号来增加数据集的范围:在某些情况下它可能会变得如此昂贵或不可能。
- 信号增强:通过增强信号使其不改变
Class-features
,并使增强Case-features
。在我看来,这比第一种解决方法更难。
这类问题还有其他解决方法吗?
例如要使用的特定类型的训练,学习模型class-features
在类变化期间不同的情况如何相似地遵循,消除case-features
因情况而异的情况。
对不起,很长的问题!