原因:当噪声数量在训练集中占有相当大的比例时,就会与正常数据一起影响训练集的分布,机器学习算法在学习过程中,把正常数据和噪声数据同时拟合,学习到了一个正常数据与噪声数据共同决定的模型,用此模型去预测从正常数据分布上取的未知数据,就很有可能得到不理想的泛化效果。
文献:数据特征识别过程的噪声处理研究 李为 湖南师范大学 硕士学位论文
1、数据噪声概念:数据中存在的错误或异常的数据。
2、数据噪声分类:
- 白噪声,一种功率谱密度为常数的随机信号或随机过程。即,此信号在各个频段上的功率是一样的。由于白光是由各种频率(颜色)的单色光混合而成,因而此信号的这种具有平坦功率谱的性质被称作是“白色的”,此信号也因此被称作白噪声。几何分布上,其期望值为0。
- 有色噪声,相对于白噪声提出,不具备白噪声功率密度均匀分布特性的噪声,包含红噪声、粉红噪声、黑噪声等。
- 脉冲噪声,主要特点是突发的脉冲幅度大,具有非连续性。
- 异常值,在数据处理过程中,个别孤立于整个系统之外的点。该类噪声数据可能也包含数据信息,不能简单的丢弃。
- 高斯噪声,概率密度函数服从高斯分布的一类噪声。
文献:基于噪声过滤及修正的鲁棒流数据分类 吴建钢 天津大学硕士学位论文
数据噪声处理方法大概分为两类:
-
直接集成方法
- 横向集成方法
假设所缓存的数据块分为Di块,假设所缓存的有Dn块,新来的数据块为Dn+1,首先使用学习算法在每个缓存的数据块Di上构建一个基分类器,然后对于所有基分类器利用投票方法进行集成,得到集成分类器,再对Dn+1进行预测。
优点:重复利用缓存数据块上训练的分类器,能够提高后续预测的准确率
缺点:横向集成没有考虑到概念漂移的因素,即默认缓存数据与新数据具有相同的分布,并且缓存数据模型准的确率不会随着时间的推移发生改变,在现实的流数据中往往是不成立的。 - 纵向集成方法
统一个数据块使用m个学习算法,训练出m个基分类器,在进行投票组合,继续训练下一个数据块。
={(Xi,Yi)|i=1,2,…,N},引入隐变量Z={Z1,Z2,…,Zn},当Zi=1时表示(Xi,Yi)是一个噪声数据,为0时表示是一个干净数据,Z不是一个被观测的数据,所以需要其他方法进行估计。
Z确定后,可以根据Z将数据集X分为:
为了估计隐变量Z,引入一个关于对数似然的参数t:
其中f和w表示已训练的学习器以及各自的权重。通过逻辑斯蒂回归建模。
大概步骤根据EM算法分为,E步,基于参数(w,t)估计出隐变量Z;M步:基于隐变量Z通过最大油画目标计算出新的参数值(w,t)。 -
NFC(Noise Filtration and Correction)方法
四个步骤: -
属性噪声过滤:对数据块中的属性噪声进行识别,然后过滤掉包含属性噪声的样本;
-
标签噪声修正:对数据块中的标签噪声进行识别,然后修正噪声标签得到对应样本的真实标签;
-
基分类器生成:经过属性噪声过滤和标签噪声修正之后,在处理后的数据块上训练分类器;
-
分类器集成:对所有缓存数据块上训练的分类器进行集成,得到集成分类器用于新数据块的预测。
NFC分别对属性噪声和标签噪声进行不同的处理:首先对样本的属性概率和标签概率进行建模,接着通过最大化样本的属性概率和标签概率估计出包含两种噪声的样本,最后过滤掉属性噪声并修正标签噪声。在此过程中,同时可以得到分类器的权重,从而将分类器的集成与噪声的估计这两个过程二合一,达到更加鲁棒的分类效果。