当分类变量被分配了额外的类别标签时,如何继续增量学习?

数据挖掘 机器学习 分类数据 在线学习 机器学习模型
2021-09-21 04:03:26

请帮助回答这个问题或将我指向任何资源。

在使用新数据进行训练并在训练完成后丢弃数据的环境中有一个模型。这种情况不断循环发生。因此,我们处理允许“部分拟合”的模型

在这个模型中,有一个训练变量 X ,它是一个分类变量。X 有一些先前已知的类别 C 并将其编码为长度为 D 的“一个热向量”。

现在假设我们现在正在观察一个新的 X 类别,所以我们需要将 C 的编码扩展到长度 D+1 。

问题是,如何在不丢失模型之前学习的所有知识的情况下做到这一点。

再次训练不是一种选择,因为我们已经丢弃了所有以前保存的数据,只有新数据可以用于训练。

已经有一个问题Updating One-Hot Encoding to account for new categories 但是答案是要么使用整个数据来创建“一个热编码”(这在这种环境中是不可能的,因为未来会有新数据),或者完全省略使用(从而丢失一些信息)。

2个回答

看起来像是增量学习/终身学习的特例。这方面的工作有很多论文:

https://arxiv.org/abs/1611.07725

https://openreview.net/forum?id=BkloRs0qK7

大多数尝试以减少先前知识损失(“灾难性遗忘”)的方式保留模型参数,但有些还尝试找到(或保留)一些样本并保留原始模型对这些样本的响应。

考虑entity embedding使用“语义”/“内在属性”的 s。

“分类变量的实体嵌入” https://arxiv.org/abs/1604.06737

与 one-hot 编码相比,实体嵌入不仅减少了内存使用并加速了神经网络,更重要的是,通过在嵌入空间中映射相似的值彼此接近,它揭示了分类变量的内在属性。

如果这看起来不错,请提出建议并将分享更多资源。