返回第82章 復现包  这个学霸疑似巨额知识来源不明首页

关灯 护眼     字体:

上一章 目录 下一页

江临把那张写著【下一执行目標】的audit_log关掉,新建了一个空白的python文件。

minimal_leak_demo.py

距离对方要求的24小时窗口期,还剩二十三个小时四十一分。

时间够用,但他没有任何懈怠的意思。

构造一个最小復现实验,听起来简单,做起来却是一桩挺讲究分寸的活。

第一,不能用平台提供的那3.4gb原始数据集的任何一个字节。

否则对方可以反咬一口,说他是利用了数据集本身的某种特殊结构在断章取义。

第二,不能太复杂。

如果脚本写得花里胡哨,依赖了一堆奇形怪状的库,对方的工程师在覆核时光是配环境就要折腾半天,覆核流程一拖,事情就容易被冷处理。

第三,必须锁死隨机种子。

任何一个浮点数的微小波动,都可能被对方技术组归因於环境差异,进而拖慢覆核流程。

江临盯著空白的代码窗口,思考了两分钟,然后开始动手,用numpy生成了一段由两个不同分布拼接而成的隨机时间序列。

前八十个数据点,服从均值为零、標准差为一的正態分布,用来模擬训练窗口里平稳的市场行情。

后二十个数据点,被他人为地注入了几个三倍標准差以上的极端值,用来模擬测试窗口里突然出现的异常事件。

整个数据构造过程,不超过十行代码。

隨机种子被锁定为42。

为了避免隨机数生成器版本差异,他乾脆刪除了隨机生成过程,直接把一组最小合成序列硬编码进脚本。

数字没有任何金融含义,只用於证明一个数学事实。

测试窗参与標准化,会系统性压低测试窗內极端值的异常分数。

数据准备好后,他在下方写了两个对照函数。

第一个函数叫leaked_scaler,完全照搬baseline第六十七行的逻辑。

把训练窗和测试窗合併,计算全局均值和全局標准差,然后做標准化。

第二个函数叫causal_scaler,严格遵守时间因果律。

只用训练窗的均值和標准差,去標准化测试窗。

然后,他让两个函数分別对同一份合成数据进行处理,把標准化之后的异常分数列印出来。

最后再加一行matplotlib画图代码,把两组结果叠在同一张图上。

代码总长不到四十行。

江临点击运行。

不到一秒钟,屏幕上跳出了那张对照图。

跟之前用真实数据跑出来的结果几乎一模一样。

本书首发 追书就去 101 看书网,101??????.??????超靠谱 ,提供给你无错章节,无乱序章节的阅读体验

leaked_scaler处理后的异常分数曲线,比causal_scaler矮了將近一截。

那些本该刺破天际的尖峰,被未来信息悄悄地按了下去。

乾净,纯粹,无可辩驳。

江临把这张对照图截下来,存进文件夹。

接著,他做了一件更狠的事情。

给这个最小復现实验,写了一份像一份实验室设备校准记录的readme说明文档。

文档第一节,是脚本的目的陈述。

“本脚本旨在使用纯合成数据,復现真实数据集中观测到的预处理阶段未来信息泄漏现象。本脚本完全不依赖主办方提供的任何原始数据,所使用的所有隨机数均由锁定种子42生成,理论上可在任意支持numpy1.24以上版本的python环境中得到完全一致的输出。“

文档第二节,是逐行代码注释。

文档第三节,是预期输出的精確数值。

江临把两组异常分数序列、每一个时间点的具体数值,都以表格形式列印在了readme里。

任何人只要运行一次脚本,就能用diff命令逐字节比对自己的输出和他的输出是否一致。

文档第四节,是数学推导。

他用三页纸的篇幅,从最基础的標准化公式出发,一步一步推导了当测试集样本参与计算时,为什么会导致测试窗內的极端值在標准化后被系统性低估。

每一个推导步骤都有编號,每一个公式都有引用来源。

文档第五节,是工程建议。

他冷静地列出了三种正確的预处理方案,並標註了各自的適用场景和计算开销。

最后一节,是免责声明。

“本实验的所有代码、数据和推导过程,均不涉及主办方提供的任何脱敏数据集的內部信息。本实验旨在通过最小化的方式独立验证一个数学事实,与主办方平台的具体实现细节无关。“

这份readme一旦发出去,对方就彻底失去了所有可以模糊处理的空间。

他用的是合成数据,对方没办法说他在恶意攻击平台。

他锁了种子还附了精確数值,对方没办法说他不可復现。

他给了三页的数学推导,对方没办法说他没有理论依据。

他给出的是建议,不是指责,对方没办法说他在指手画脚。

这就像在物理实验里搭出一个最小闭环的对照装置。

输入固定,处理流程固定,输出差异固定。

你可以不喜欢结论,但不能说它没有发生。

江临扫了一眼右下角的时间,把整个文件夹打包成一个命名为reproduce_leakage_v1.0.zip的文件。

然后切回瀏览器,打开那封站內信,点击补充材料上传按钮。

页面提示:补充材料已提交,等待评审组覆核。

江临关掉瀏览器,从椅子上站起来,走到窗边把窗帘拉开了一道缝。

外面的阳光刺眼得让他眯起了眼睛。

他这才意识到,自己已经连续在屋子里待了將近五天。

转身去洗了个澡。

热水冲在后颈上的那一刻,他脑子里那根紧绷了四天的弦,终於稍微鬆开了一点。

用毛巾擦头髮的时候,他听到客厅里母亲在跟父亲低声说著什么。

“都关在屋里五天了,连饭都是我端进去的。”

“年轻人有事情忙是好事,別去打扰他。”

“我就是担心。”

“孩子能吃能喝的,状態好得很,你少瞎操心。”

江临擦头髮的动作停了一下。

本章未完,点击下一页继续阅读。(1 / 2)

『加入书签,方便阅读』

上一章 目录 下一页