我有一个使用 scikit-learn 的正则化逻辑回归模型,并想与其他人分享它,但是它所训练的数据是机密的,必须受到保护。该模型使用词袋风格的特征来自动对描述伤害的文本进行分类,并且可用于各种伤害监测任务。
是否可以在不泄露潜在受保护信息的情况下共享这样一个经过全面训练的模型,例如在其训练的文本中出现的单词?如果是这样,我将如何做到这一点,保密保护有多强?
我有一个使用 scikit-learn 的正则化逻辑回归模型,并想与其他人分享它,但是它所训练的数据是机密的,必须受到保护。该模型使用词袋风格的特征来自动对描述伤害的文本进行分类,并且可用于各种伤害监测任务。
是否可以在不泄露潜在受保护信息的情况下共享这样一个经过全面训练的模型,例如在其训练的文本中出现的单词?如果是这样,我将如何做到这一点,保密保护有多强?
您可以使用散列技巧。这样,您可以只提供一个散列函数,而不是提供一个将单词映射到索引的表,这将揭示有关训练数据中单词的信息。
严格来说,这不是一个统计问题,而是一个合规问题。您需要通过您所在机构的道德沙皇,我认为该机构在医疗保健领域。一些沙皇会说,“不可能,何塞”,无论数据如何匿名。通常,如果您出于一个目的收集数据并在此基础上获得同意,您就不能简单地将数据用于其他目的。收集后如何使用数据将取决于您的机构和您的司法管辖区。如果你来自加拿大,祝你好运,伙计。
我曾经想将机密数据用于说明目的,我向老板建议我会从数据中抽取随机样本(就像你对引导程序一样),这样分布就会相似,但实际上没有一个数据会属于真正的患者。我有多元数据,我准备以尊重协方差和边际的方式重新采样。
我的建议没有被接受,主要是因为我的老板不理解。
但是你能在这里做这样的事情吗?打乱您的数据,以便句子或“词袋”在不同的患者周围随机播放。保密背后的理念是人们不应该能够根据他们看到的信息找到患者或识别该人。你不希望有人看到数据并想,“我认识那个人。”
您可以在一组完全不同的单词上重新训练您的模型,然后将其作为概念证明完全公开,例如,将所有单词替换为动物的名称,并向您的目标受众建议如果他们要重复您的训练步骤完全使用更相关的单词,它们可以完全复制您的模型。