曲解目标
机器学习算法要求研究员明确一个用来估量各种错误严重度的“损失函数”,例如到底是有两个1%的错误好,还是单个2%的错误更合理。从业者们倾向于应用函数的一小部分,从而导致他们无法得到真正需要的内容。
还是举个例子,大家一直有用机器学习来辅佐求解微分方程。这些公式在包括流体力学、电磁学、材料科学、天体物理学和金融建模中很常见,一般情况下它们必须以数字方式解决,然后开始训练模型,从而能在有限的条件下提供更高的精确性。
比如说从一个方程开始描述水波如何在一维进行传播吧。该算法的任务是从当前的时间步长来重复预测下一步,在这方面可以准备两种略微不同的方法与训练模型。根据损失函数来看,这两个模型是一样优秀的,但实际上其中一个做了一堆无用功,另一个的产生结果更接近预期。
原因就是控制学习的损失函数只考虑到了下一步的错误,而不是研究者真正想要的多重步骤的解决方案有效性。
我们在糖尿病视网膜病变的机器筛查方面也出现了分歧目标。这是糖尿病的一种并发症,也是世界上可预防性失明的主要原因。如果能从眼后图像及时检测到该病症,它就能被有效治疗。当我们收集数据并且让眼科医生通过图像进行诊断时,我们让机器学习的工具预测一下医生都会说些什么,此时出现了两种情况。
情况一是眼科医生经常不认同诊断,因此研究人员意识到不能通过单一的预测来建立模型。总不能来个投票说少数服从多数,因为在医疗上,有时候少数人的意见才是正确的。情况二是单一疾病的诊断实际上并不是真正的目标。因为往往需要问的是:“这个患者需要去看医生吗?”,然后通过这种方式将目标从单一疾病的诊断扩展到多重疾病。
机器学习从业者很容易迷恋上数据标签都清晰的 “明显“目标,但他们可能正在设置算法来解决错误的问题。所以必须牢记大方向和总目标,否则就只会为错误问题埋单。