1

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

4

1 回答 1

3

注意:有许多“非独立同分布”的概念可能很有趣。

  • 标签非 iid:您可能希望标签在客户端之间的分布非常不平衡。平均分配样本数量,我们仍然可以得到非独立同分布的分布,例如[(35, 35), (10, 60), (50, 20), (45, 25)]. McMahan 2016 年的论文采用了类似的方法,但存在 10 个类的问题,并且只给大多数客户两个类(确切的方法在论文的第 5 页)。

  • 数据量:您可能希望为某些客户提供比其他客户更多的数据。有 280 个示例,也许拆分是(180, 80, 10, 10)示例(忽略标签的分布方式)。TensorFlow Federated 中的 StackOverflow 数据集也展示了这一点,因为一些客户拥有数万个示例,而其他客户只有 100 个。

  • Feature non-iid:如果特征空间中有模式,将某些模式限制为某些用户可能很有用。例如,在图像识别任务中,可能某些相机的白平衡、旋转或颜色饱和度与其他相机不同(即使它们具有大部分或全部标签)。不是在合成客户端中随机打乱这些,而是​​将相似的特征模式分组到单个客户端中可以提供不同形式的非 iid。

于 2020-05-09T17:22:33.433 回答