这篇文章提出了一种新的online learning算法,可以在imbalance和incomplete(样本可能出现部分features缺失)data stream 上跑出较好的效果。
详细流程如图所示,该online learning算法使用较为简单的linear combination作为learner,并通过特定技术处理数据流
对于imbalance情况,该算法提出了一种基于Fβ-measure(eq 14)的loss,F measure综合考虑了精确度和召回率,因此可以在不平衡的数据流上跑出较好的效果。通过对F measure的推导得出结论,只需要在每个iteration的loss前加上动态权重参数c即可(惩罚数量更多的类,让模型更倾向于预测少数类)
动态权重c的计算方式(eq 22,存疑)
对于incomplete情况,该算法针对current sample xt 和previous sample xt-1
,将特征权重分成三部分(1)两个样本都拥有的features(2)从previous sample 消失的features(3)current sample 新添加的features。具体符号参考table S1。本文认为,incomplete data stream 导致online learning精确度下降的原因是由于缺失的features weight无法再提供prior knowledge,而新添加的features weight 无法提供足够的knowledge。因此,对于incomplete data stream,减少current sample weights 和previous sample weights的差值就可以降低prior knowledge 的损失(eq 8)。但是这样做又出现了一个问题,如果一味降低weights的变化,那么模型将无法从current sample中学到knowledge。于是本文又提出了一个设想:如果一个feature在数据流过往的表现中,具有较大的不确定性(方差更大),则可以认为这个features具有较多的信息,可以在linear combination中给这个features增加更多的权重,因此文章利用方差的均值来表示不同类型的特征权重所含有的信息量(eq 5), 然后将这个值来作为linear combination中除了w以外的另一个权重,因此,每个feature要乘以两个不同的权重参数,h代表该feature带有的信息量,w参数代表prior knowledge。
文章中还提到遇见concept drift时,方差会发生变化,从而让p权重发生变化,进而影响模型的预测结果。
ref: Online Learning From Incomplete and Imbalanced Data Streams