How can we update data for a machine learning model after it has already trained on that data? In this paper, we introduce DART, a variant of random forests that supports adding and removing training data with minimal retraining. Data updates in DART are exact, meaning that adding or removing examples from a DART model yields exactly the same model as retraining from scratch on updated data. DART uses two techniques to make updates efficient. The first is to cache data statistics at each node and training data at each leaf, so that only the necessary subtrees are retrained. The second is to choose the split variable randomly at the upper levels of each tree, so that the choice is completely independent of the data and never needs to change. At the lower levels, split variables are chosen to greedily maximize a split criterion such as Gini index or mutual information. By adjusting the number of random-split levels, DART can trade off between more accurate predictions and more efficient updates. In experiments on ten real-world datasets and one synthetic dataset, we find that DART is orders of magnitude faster than retraining from scratch while sacrificing very little in terms of predictive performance.
翻译:在对数据进行了培训之后,我们如何更新机器学习模型的数据?在本文中,我们引入了DART,这是一个随机森林的变种,它支持以最低限度的再培训来增减培训数据。DART的数据更新是准确的,这意味着从DART模型中添加或删除示例与从零开始的再培训完全相同。DART使用两种技术来提高更新效率。首先,在每一个节点上存储数据统计数据,并在每个叶子上方培训数据,以便只对必要的亚树进行再培训。第二,在每棵树上层随机选择可变的分法,以便选择完全独立于数据,而无需改变。在较低层次上,选择分裂变量是为了贪婪地尽可能扩大一个分割的标准,如基尼指数或相互信息。通过调整随机流水平的数量,DART可以在更准确的预测和更有效的更新之间交换。在十个真实世界数据集和一个合成数据集的实验中,我们发现DART比重新培训要快,而没有多少牺牲预测性能。