在不同分布的数据集上进行训练与验证、测试
深度学习需要大量的数据,但是有时我们可获得的满足我们真实需求分布的数据并不是那么多,不足以对我们的模型进行训练。这时我们就会收集大量相关的数据加入到训练集中,即使有些数据,甚至是大部分数据的分布都与验证集、测试集的数据分布不同。 我们以一个例子理解一下为什么我们会这么做:
![cde26f11a999c449dae9e6fbf63a9465.png](https://i-blog.csdnimg.cn/blog_migrate/fe253eb33cb251dca110b49179c4a7b9.png)
依旧假设我们在建设一个猫分类网站,我们有两种,一种是我们目标分布,也就是我们用户上传的,不是那么专业的,甚至还有些比较模糊的猫图片;一种是我们网络上爬取的清晰的,专业的猫图片。这两种数据分布明显不同,但是问题是,我们从用户那里获取到的训练数据是有限的,只有10000 个左右,而这并不足以对我们的模型进行足够好的训练,训练集较少还容易发生过拟合;我们能从网络中爬取到的图片有200000 份,这个数量足以对我们的模型进行训练。 那么我们该如何做,使用我们从用户中仅能获取的10000 个数据,将我们的模型训练得足够好呢?