假设有一种机器学习算法(例如分类)是众所周知的,并且由算法的原始创建者实施。然而,您所拥有的只是使用算法但看不到源代码的能力。
现在你想实现这个算法,然后检查你的实现是否正确。由于您不能对参数使用相同的初始化值(因为您无权访问原始实现的源代码),因此您不能期望得到完全相同的结果。假设该算法给出了输出概率,那么您的方法可能会给出与原始方法略有不同的结果。
确实,您的实现可以像原始实现一样给出正确的分类结果,但概率可能会有所不同。
给定这样的场景,你如何判断你的实现是正确的?
这种情况发生在一个朋友身上,他的实现给出了正确的分类结果,但毕竟他在他的代码中发现了一个严重的错误!
那么有没有办法测试和验证机器学习算法的实现呢?无论算法的类型如何(分类、回归……等)。
我能看到的唯一问题是无法对参数使用相同的初始值。然后也许有某种统计测试可以以某种方式测试关于参数初始值的结果。