
数据预处理与数据工程是机器学习发展至今的一大瓶颈,好的数据预处理可以极大提升机器学习预测的准确性。然而现在实践中的数据预处理与数据工程主要是基于人的经验,并没有一个可以依赖的强有力算法。本篇论文提出了一个编码数据的方式,自动进行数据预处理与数据工程,节省人力的同时也在实验中取得不错效果。
问题描述
构建机器学习的训练数据集十分困难,这主要有3个原因。为了方便描述,这里以论文中的STUDENT数据集为例。该数据集是本篇论文生成的数据,包含3个表格:Expenses, Order Info和Price Info。现在我们要预测Total Expenses,我们尝试构建一个机器学习模型用于实现这一预测目标。
首先,确定一个问题的相关特征是困难的。我们希望预测的属性Total Expenses究竟与哪些属性有关,我们并不能提前知道,它可能与school Name有关,可能与Name有关,但在构建模型并获得实验结果之前这些都是不可知的。
其次,在确定了相关特征后,找到那些含有相关特征的数据集是困难的。在这个例子中我们已经给出了可供选择的数据,这个问题的严重性并不明显。但大部分情况下,我们并不知道我们需要的指标在哪些数据集中可以找到。例如在金融领域,人们常常需要预测股票未来涨势。当然,我们可以使用历史的股票价格来进行预测,但这大多数情况并不能取得很好的效果。一些炒股大佬,可能会选择从金融方面的数据集获取一些数据信息,结合大盘历史信息获得用于机器学习的特征。
最后,确定相关数据的连接方式是困难的。回到STUDENT的例子中,我们可以简单粗暴地将所有表格连接到一起,用以获得更加全面的特征。当问题更复杂时,key与foreign key的选择将成为一个严峻问题。表格的连接方式并不唯一,选择什么样的连接方式成为一个问题。

现有方法与不足
针对上述问题,已有方法包括:Base Table、Full Table、Full Table + Feature Engineering三种。
| 方法 | 描述 | 不足 |
|---|---|---|
| Base Table | 只使用包含预测标签的表格作为训练的数据 | 不准确 |
| Full Table | 将尽可能多的表格连接在一起 | 开销大 |
| Full Table + Feature Engineering | 在full table上运行特征工程的算法 | 开销大 |
本篇论文核心观点
Leva使用graph表示数据集中的每一行数据,然后通过graph embedding将每一行表示成一个向量,用于下游ML任务的特征。整个流程中有2个阶段:Graph construction 和 Embedding construction。其中Graph construction阶段中为了降低时间复杂度,在图中引入Value Node节点,用于加速图的构建;而在Embedding construction阶段,论文提出了2个方法用于应对现实中内存不够的情况:Random Walk和Matrix Factorization。

本篇论文提出方法操作
Graph construction
直观的想法是,根据每行数据的相似性构建临界矩阵或相似矩阵,但论文中指出这种构建方式太过缓慢,时间复杂度是 O ( M N 2 ) O(MN^2) O(MN

本文探讨了机器学习中数据预处理和数据工程的挑战,提出了一种利用图表示和嵌入技术自动进行数据处理的新方法。通过引入ValueNode加速图构建,并使用RandomWalk和MatrixFactorization进行嵌入构造,实现在节省人力的同时提高预测准确性。实验表明,即使在存在噪声的情况下,该方法也能保持良好的映射效果。
最低0.47元/天 解锁文章
1374

被折叠的 条评论
为什么被折叠?



