TFF:如何创建一个非IID数据集?

问题描述 投票:0回答:1

我有2个班级,每个班级有140个例子,我有4个客户,我想创建一个像McMahan的论文那样的非iid数据集,如何把例子分成碎片?

tensorflow-federated
1个回答
0
投票

注:"非iid性 "的概念有很多,可能是值得探讨的。

  • 给非iid贴标签:你可能想让标签在客户端的分布非常不平衡。即使将例子的数量分布均匀,我们仍然可以得到非iid分布,如 [(35, 35), (10, 60), (50, 20), (45, 25)]. 该 McMahan 2016年 论文采用了类似的方法,但把一个有10个类的问题,只给大多数客户提供两个类(具体方法在论文第5页)。

  • 数据量做法:你可能想给一些客户提供比其他客户更多的数据。在280个例子中,或许可以这样分配: (180, 80, 10, 10) 例子(忽略标签是如何分布的)。TensorFlow Federated中的StackOverflow数据集也有这样的表现,因为有些cleints有上万个例子,而有些只有100个。

  • 特征非iid: 如果在特征空间中存在模式,也许将某些模式限制在某些用户身上是有用的。例如在图像识别任务中,也许一些相机的白平衡、旋转或颜色饱和度与其他相机不同(即使它们有大多数或所有标签)。与其在合成客户端中随机洗牌这些,不如将相似的特征模式分组到一个客户端中,可以给出不同形式的非iid。

© www.soinside.com 2019 - 2024. All rights reserved.