首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TFF:如何拆分每个客户端的数据

TFF:如何拆分每个客户端的数据
EN

Stack Overflow用户
提问于 2020-12-26 23:43:14
回答 1查看 127关注 0票数 1

为什么在联邦学习任务中,我们不将数据集分割为训练、测试和验证,而只进行训练和测试。

EN

回答 1

Stack Overflow用户

发布于 2020-12-27 05:53:29

如何拆分数据集的选择实际上取决于评估者以及他们试图实现的目标。TFF中的预处理数据集(来自tff.simulation.datasets)通常只被一分为二,但它们可以按所需的任何方式重新连接和再次拆分。

需要考虑的一件事是:对于联邦学习,(至少)有两个维度可能是有趣的。

  1. 示例:将单个客户端的数据集划分为训练、测试和验证。这可能被视为最类似于集中式培训制度。大多数TFF数据集都使用这种方法。
  2. 用户:将用户划分为训练用户、测试用户和辅助用户在联邦机制中可能特别有趣。这可能能够回答全局模型对看不见的用户的泛化程度,但可能会受到单个数据集和拆分的非iid的严重影响。这在一些TFF提供的数据集中使用。

此外,这两者都可以是基于时间的(如果有时间的概念),例如将每个客户端数据集分为“前一天”(火车)和“第二天”(测试)。或者,就像在跨设备FL的实践中经常出现的情况一样,按一天中的时间进行划分(用户在晚上可以进行训练,可能与白天不同),Eichner 2019使用这种设置进行了一些实验。

注意tff.simulation.datasets.stackoverflow.load_data确实有三个拆分,分别命名为trainheld_outtest。请仔细阅读文档,因为它利用了上面提到的两种类型的拆分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65458032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档