现在很多比赛大多数人都喜欢去堆特征,特别是随着计算机资源的发展,成千上万的特征成为可能,我们能否换一种方式来解决这个问题,将一部分的特征作为output来做multi-task的任务来提高我们的performance呢,这篇文章就是论证了这个问题,实验表明当输入的存在一定的noisy的时候,将其作为output得到的performance会优于将其作为input。
1.作者在introduction提出了一个特例,某些特征在test的时候无法得到,那么此时我们不能将其作为input,而作为output则没有这个问题,并引用了文章证明这个观点。同时定义了三种模式,STD(标准模式),STD+input(将额外的特征作为input),STD+output(将额外的特征作为output)。
2.实验的目标F1(A,B) = SIGMOID(A+B), SIGMOID(x) = 1=(1 + e(x)),额外的特征则为F2(A,B) = SIGMOID(A-B),实验结如下
根据表格中的结果不难看出,作为output可能提高performance。作者给出的解释为:(1)由于F1和F2之间的相关性较低,从而使得F2很难作为input帮助F1的预测(2)F2和F1都是由A和B得到的,增加F2可以帮助中间的隐藏层更好地学习A和B,从而提高了performance。
3. 关于noisy对于上述两种模式的影响
(1)目标函数:F1(A,B) = SIGMOID(A+B)
辅助特征:
EF(A) = A + NOISE SCALE * Noise1
EF(B) = B + NOISE SCALE * Noise2
从上图可以看出,在噪音较小的情况下,两种模式都提高了performance,一开始STD+input优于STD+output。然而随着噪音的增加,STD+input的作用迅速减弱甚至产生反作用,而STD+output则一直具有正作用。
(2)F3(A,B) = SIGMOID(EXPAND(SIGMOID(A){SIGMOID(B)))
作者为了增加预测的难度,增加了目标函数的非线性,其他的保持不变。
可以看出,STD+output仍然优于STD+input。
作者给出解释如下:
(1)当噪音很大的时候,辅助的input仍然和output存在着一定的相关性,模型去拟合这种相关性会影响其与原始低噪音input的拟合,从而出现当噪音很大的情况下,增加复制特征反而降低了performance的情况。
(2)而对于辅助的output,模型学习到的特征会是两个output之间的平衡,或者是一些共性的东西,所以对噪声相对不敏感,特别熟数据量大的时候,这个噪音模型可能直接忽略掉。
后记:是否有可能既可以利用额外特征作用input,又能够将其作为output,如何避免简单地将input映射output是个问题。