- 基于机器学习的数据缺失值填补:理论与方法
- 赖晓晨 张立勇 刘辉 吴霞
- 2452字
- 2021-03-31 21:04:29
2.2.1 不做处理
在不完整数据分析中,缺失值处理通常是数据清洗的关键步骤,处理后的完整数据集可用于分类、回归、聚类等进一步研究。然而,对不完整数据进行预处理的过程会引入人为误差,造成数据集原始信息的破坏。此外,由于所得完整数据集的质量视缺失值处理手段不同而不同,研究人员针对相同的不完整数据集,可能会得到不一致的分析结论,这影响了分析结果的有效性和可信度。
为避免由预处理导致的各类问题,可直接基于不完整数据建立模型,并在建模过程中避免对缺失值的直接处理。基于该思路构建的模型无须任何预处理操作即可实现不完整数据集的分析。下面以分类场景为例,介绍几种不做预处理即可分析不完整数据的模型。
1.C4.5决策树模型
决策树(Decision Tree,DT)是一类经典的分类模型,其采用树形结构组织一系列的判断条件,并通过不断限制属性取值范围,将具有相似属性值的样本划入同一类别。决策树的具体建模思路如图2-1所示。
首先,将所有样本置于根节点,选取数据集内的一个属性,并根据各样本在该属性上的取值将其划分到不同的子节点。接着,依次查看每个子节点,若子节点内的样本来自不同类别,并且存在对该节点进行有效划分的属性,则选择一个属性对该子节点展开划分。否则,结束划分,并将该节点标记为叶节点,节点内样本数量最多的类别被视为该叶节点表示的类别。
图2-1 C4.5决策树结构
决策树的实施关键在于每次划分期间如何确定划分属性。一般而言,在某次划分后子节点所包含的样本应尽可能属于同一类别,即节点的纯度越高越好。根据这一标准,可以从若干属性中计算出一个最优的划分属性。然而,最优划分属性的计算往往依赖于所有样本在该属性上的取值,若该属性上存在缺失值,则需改进求解方式以在建模期间分析缺失值。若某样本在最优划分属性上存在缺失值,则无法根据属性取值将其合理划分到某个子节点内。因此,传统的决策树在建模不完整数据时面临两个重要问题,即如何在属性值缺失的情况下选择划分属性,以及如何在给定划分属性后,对该属性为缺失值的不完整样本合理划分。
C4.5是一类能够适应缺失值的决策树模型,为每个样本赋予取值范围为[0,1]且初始值为1的权重,用于表征样本隶属于某个节点的程度。完整样本的权重始终为1,不完整样本的权重在建模期间不断调整。在构建树模型的过程中,若某属性为不完整属性,则忽略其中的缺失值,仅根据该属性上的所有现有值计算最优的划分属性。若样本数据在给定划分属性上为缺失值,则将该样本划入所有子节点,并调整其在每个子节点的权重,从而以不同概率对不完整样本进行划分。
模型应用期间,若新样本数据在某节点的划分属性上为缺失值,则将该样本划入所有子节点,并调整其在每个子节点的权重,随后沿着每个子节点继续向下划分,直至抵达叶节点。最终,C4.5模型能够将样本以不同权重划入多个叶节点,并根据这些权重计算样本从属于每个类的概率,进而将最大概率对应的类别视为样本所属类别。
2.基于多层感知机的简化特征模型集群
多层感知机是一类典型的神经网络结构,具备强大的非线性映射能力,经常应用于分类、回归等场景。其详细介绍见4.3.1节。基于多层感知机的分类方法是指通过构建一个以样本属性值为输入,以类标签为期望输出的网络模型来提炼数据集中对分类有效的信息,进而对新样本类别做出合理预测。
多层感知机不具备缺失值处理能力,当不完整样本输入网络模型后,模型无法正常工作。为此,一种可行的解决思路是为每个不完整样本构造专属分类器,即忽略样本中的缺失值,建立以已知属性值为输入、类标签为期望输出的简化特征模型,用于对符合此类缺失形式的不完整样本进行分类[9]。该方法保持了网络模型内部的计算结构,并通过多种模型的简单组合来应对输入样本中的不同缺失情况。
例如,假设数据集的属性个数为3,采用“?”表示样本中的缺失值,在样本xi=[xi1,xi2,?]、xj=[xj1,?,xj3]、xk=[xk1,xk2,?]中共计存在两种缺失形式,针对xi和xk,可建立以第1、2维属性为输入,以类标签为期望输出的多层感知机模型。针对xj,可建立以第1、3维属性为输入,以类标签为期望输出的模型。训练期间,利用输入属性上为现有值的所有样本对网络模型依次展开训练,并将训练完毕的模型组合为模型集群。预测期间,寻找与不完整样本缺失形式相匹配的模型,将其现有值输入模型以求解类标签。若模型集群中不存在与该样本相匹配的结构,则根据样本的缺失形式构造新的分类器,并在训练完毕后将其加入模型集群。
上述模型集群避免了分类模型对缺失值的直接处理,是一种相对简单的缺失值处理思路。鉴于多层感知机模型构造灵活,能够拟合数据属性间复杂的关联关系,此模型集群可实现缺失值的有效估计。然而,由于数据缺失的随机性,导致数据集中存在多种缺失形式。因此训练和预测期间,模型集群的规模将根据不完整样本中缺失形式的增多而变大,计算和存储开销也会相应增加。考虑到不同缺失形式在不完整样本中的出现频率不相同,为有效降低训练过程中的计算开销,可结合懒惰学习的方式,在训练时仅为出现频率较高的几组缺失形式构建分类器,以此形成初始的模型集群。预测期间,若集群内不存在与某不完整样本所对应的分类器,则构造新分类器并在训练完毕后将其加入集群。此方法通过将次要分类器的构建延迟到预测时期,可在一定程度上缓减前期不必要的时空开销,从而提高算法效率。
缺失值的直接引入增加了模型构建的复杂性,在建模过程中,需结合模型的计算特点去除模型对缺失值的依赖。例如,C4.5决策树改进了模型的内部计算方式,其重新定义确定划分属性的方法,并引入了样本权重,从而在构建树模型期间避免对缺失值的直接运算。基于多层感知机的简化特征模型集群在保持多层感知机内部计算方式不变的前提下,针对不同缺失情况构建若干个模型,以避免网络对不完整样本输入的直接处理。除上述方法外,诸如多视角集成分类[10]等不做预处理即可适应缺失值的模型及方法已经被设计并公开。然而事实上,大多数已有的人工智能算法无法直接处理缺失数据。因此,为了能够利用这些在领域内成熟有效的算法,缺失数据需在预处理阶段得到有效处理。而如何有效地处理缺失数据已成为不完整数据分析的关键问题。