不用说,数据在机器学习中起着至关重要的作用。机器学习模型的每个实例都使用静态数据集进行训练和评估,静态数据集的特性从根本上影响模型的行为:如果模型的部署环境与其训练或评估数据集不匹配,或者这些数据集存在不必要的错误和偏差,那么不可能表现好。当机器学习模型应用于招聘和金融等高风险领域时,这种不匹配可能会产生特别严重的后果。即使在其他领域,不匹配也会导致收入损失。虽然数据的可信来源已在数据库领域得到广泛研究,但在机器学习领域却并非如此,在该领域中,记录数据集的创建和使用没有得到足够的重视,目前还没有标准化的机器记录学习数据集的过程。有什么好办法吗?不妨试试列表管理。1、关于库存管理在电子行业,每一个元器件,无论简单或复杂,都附有一份数据表,描述其工作特性、测试结果、推荐用途等信息。同样,我们可以尝试使用库存管理,每个数据集都附有一个库存清单,记录其动机、构成、收集、使用等。清点数据集可以提高机器学习的透明度和责任感,减少机器学习模型中不必要的错误和偏差。数据集的清单需要满足两个关键群体的需求:数据集创建者和数据集消费者。对于数据集的创建者,清单允许反思创建、分发和维护数据集的过程,包括任何潜在的假设、风险或危害以及使用的影响。对于数据集消费者,清单确保他们拥有在使用数据集时做出明智决策所需的信息。数据集创建者的透明度对于数据集消费者做出有关适当数据集的明智选择并避免无意中的滥用是必要的。同时,数据集的库存管理促进了机器学习结果更大的可重用性,无法访问数据集的开发人员可以使用库存中的信息创建具有相似特征的替代数据集。2.面向库存的数据集生命周期数据集生命周期包括:动机、组成、获取、预处理/清洗/标记、使用、分发和维护。对于数据集的生命周期,可以试试resumechecklists的列表。需要注意的是,checklist中的内容并不适用于所有的数据集,不适用的选项可以跳过。2.1数据集创建的动机创建数据集的原因是创建它的动机。自检清单可能包括:创建数据集的目的是什么?它希望解决什么问题?有什么具体任务吗?实体(例如,公司、机构、组织)?2.2数据集的组成数据集的创建者在数据收集之前明确列出数据收集,以了解数据集的消费者需要的信息,以便在使用数据收集时做出明智的决定。需要注意的是,如涉及个人信息,应注意《个人信息保护法》等法律法规。构成数据集的实例代表什么(例如,文档、照片、人物、国家等)?是否存在多种类型的实例(例如,电影、用户和评级之间的交互,可能是节点和边缘)?总共有多少例?数据集是否包含所有可能的实例,或者它是来自更大集合的实例样本(不一定是随机的)?如果数据集是样本,那么较大的集合是多少?样本能否代表更大的Collection?如果是,请描述如何验证这种代表性。如果不是,请说明原因。每个实例包含哪些数据?原始数据(例如,未处理的文本或图像)或特征数据?是否有与每个实例关联的标签或对象?个别实例中是否缺少信息?如果是这样,请描述此信息丢失(例如,因为它不可用)。各个实例之间的关系是否明确(例如,社交网络链接等)?是否有推荐的数据拆分(例如,训练、开发/验证、测试)?如果是这样,请描述这些分裂背后的理由。数据集中是否存在任何错误、噪声源或冗余?如果有,请描述是哪些。数据集是独立的,还是链接到外部资源(例如网站或其他数据集)?如果链接到或依赖于外部资源,a)是否可以保证这些资源将继续存在并在一段时间内保持不变;b)是否有完整数据集的官方版本(即包括创建数据集时存在的外部来源);c)外部数据集的来源是否有使用限制(例如,许可证或费用)?描述所有外部来源和任何限制,以及链接。数据集是否包含可能被视为机密的数据(例如,受医患保密保护的数据等)?如果数据集与人有关,它还可能包括:数据集是否识别人口组(例如,按年龄、性别)?如果是,请描述它们是如何被识别的,并提供它们在数据集中的各自分布的描述。是否可以从数据集中直接或间接(即结合其他数据)识别出一个人(即一个或多个自然人)?数据集是否包含任何可能被视为敏感的数据(例如,政治观点或有关身份或位置的信息)?数据;财务或健康数据;生物特征或遗传数据;政府形式的身份证明,如身份证等)?2.3采集数据采集过程允许人们创建具有相似特征的替代数据集,其中可能包括:关联数据?该数据是可直接观察到的(例如,原始文本、电影评级),还是从其他数据(例如,词性标签、年龄或语言)间接推断/派生的?如果相关数据是从其他数据中间接推断/推导出来的,相关数据是否经过验证/验证?采用了哪些机制或程序来收集数据(例如,硬件设备或传感器、人员管理、软件程序、软件API)?这些机制或程序是如何验证的?如果数据集是来自更大集合的样本,那么抽样策略是什么(例如,确定性的,具有特定抽样概率的概率)?数据收集的时间跨度是多少?这个时间段与实例(例如,最近获取的旧文章)是否与创建关联数据的时间段相匹配?是否进行了任何伦理审查程序?如果数据集与人有关,这还可能包括:数据是直接从相关个人收集的,还是通过第三方或其他来源(例如网站)获取的?有关个人是否被告知数据收集?如果是,如何提供通知并提供链接或其他访问点,或以其他方式通知自己。有关个人是否同意收集和使用他们的数据?如果是,请提供链接或其他访问点,或以其他方式复制个人的同意确认。如果获得同意,是否有机制让同意的个人在未来或针对某些用途撤回同意?如果是这样,请提供链接或其他访问点。是否对数据集的潜在影响及其对数据主体的使用进行了分析?如果是这样,分析包括结果、链接或任何支持文档的其他访问点。2.4预处理/清理/标记数据集的消费者需要了解处理以确定“原始”数据是否可以以与他们选择的任务兼容的方式进行处理。检查清单包括:数据是否经过预处理/清理/标记(例如,离散化、标记化、词性标记、特征提取、实例删除、缺失值处理)?除了预处理/清理/标记的数据,“原始”数据是否保留?如果是这样,请提供“原始”数据的链接或其他访问点。是否有可用于数据预处理/清理/标记的软件?如果是这样,请提供链接或其他访问点。2.5目的数据集的应用边界是什么?通过阐明这些任务,数据集创建者可以帮助数据集消费者做出明智的决策,从而避免潜在的风险或危害。数据集是否已用于某些任务?如果是这样,请简要描述这些任务。是否有论文或系统存储所有使用的数据集的链接?如果是这样,请提供链接或其他访问点。数据集可以用于哪些(其他)任务?数据集的组成或数据集的收集和预处理/清理/标记方式是否会影响未来的使用?是否存在不应使用数据集的任务?如果有,请描述一次。2.6分发数据集分发在数据集所代表的组织内部或外部第三方,检查表可能包括:?数据集将如何发布(例如,网站、API、GitHub等上的下载链接)?数据集是否有DOI?什么时候分发数据集?数据集会根据版权或其他知识分发吗?许可分发的使用条款?如果是,请描述许可和/或使用条款并提供链接或其他访问点。是否有任何第三方对实例相关数据施加基于ip或其他限制?对数据集的分布是否有控制或限制?2.7维护无人居住,无人饲养。关于数据集的维护计划,清单可能包括:谁将支持/托管/维护数据集?如何联系数据集的所有者或管理者(例如,电子邮件地址)?有勘误表吗?如果是这样,请提供链接。数据集是否会更新(例如,更正标签错误、添加新实例、删除实例)?如果是这样,数据集的消费者将多久收到一次通知,由谁以及如何通知?是否有适用于实例相关数据的限制?如果是这样,这些限制是如何执行的?是否会继续支持/托管/维护旧版本的数据集?如果其他人希望扩展/增强/构建/贡献数据集,是否有一种机制他们这样做了吗?这些贡献是否经过验证/验证?3.数据集清单管理的作用和影响数据集清单管理并没有提供一个完整的解决方案来减轻不必要的偏见或潜在风险。创建者可能无法预测数据集的每一种可能用途。在创建与人相关的数据集时,可能需要与多个领域的专家合作才能更好地收集数据。数据集的库存管理必然会增加数据集创建者的成本。虽然核对表对一次性问题有更多选择,但创建核对表的过程总是需要时间,需要修改组织的基础设施和工作流程,同样也是开发成本。清单列表和工作流对于动态数据集可能会产生问题,并且频繁更新数据集的清单可能代价高昂。尽管如此,数据集的库存管理促进了数据集创建者和数据集消费者之间更好的沟通,并且还使数据集创建者能够区分透明度和可靠性。一般来说,数据集库存管理的好处应该大于风险。
