1700537700
■ 基于数据的方法
1700537701
1700537702
对数据进行重采样,使原本不均衡的样本变得均衡。首先,记样本数大的类别为Cmaj,样本数小的类别为Cmin,它们对应的样本集分别为Smaj和Smin。根据题设,有|Smaj|>>|Smin。
1700537703
1700537704
最简单的处理不均衡样本集的方法是随机采样。采样一般分为过采样(Over-sampling)和欠采样(Under-sampling)。随机过采样是从少数类样本集Smin中随机重复抽取样本(有放回)以得到更多样本;随机欠采样则相反,从多数类样本集Smaj中随机选取较少的样本(有放回或无放回)。
1700537705
1700537706
直接的随机采样虽然可以使样本集变得均衡,但会带来一些问题,比如,过采样对少数类样本进行了多次复制,扩大了数据规模,增加了模型训练的复杂度,同时也容易造成过拟合;欠采样会丢弃一些样本,可能会损失部分有用信息,造成模型只学到了整体模式的一部分。
1700537707
1700537708
为了解决上述问题,通常在过采样时并不是简单地复制样本,而是采用一些方法生成新的样本。例如,SMOTE算法对少数类样本集Smin中每个样本x,从它在Smin中的K近邻中随机选一个样本y,然后在x,y连线上随机选取一点作为新合成的样本(根据需要的过采样倍率重复上述过程若干次),如图8.14所示。这种合成新样本的过采样方法可以降低过拟合的风险。
1700537709
1700537710
1700537711
1700537712
1700537713
图8.14 SMOTE算法
1700537714
1700537715
SMOTE算法为每个少数类样本合成相同数量的新样本,这可能会增大类间重叠度,并且会生成一些不能提供有益信息的样本。为此出现Borderline-SMOTE、ADASYN等改进算法。Borderline-SMOTE只给那些处在分类边界上的少数类样本合成新样本,而ADASYN则给不同的少数类样本合成不同个数的新样本。此外,还可以采用一些数据清理方法(如基于Tomek Links)来进一步降低合成样本带来的类间重叠,以得到更加良定义(well-defined)的类簇,从而更好地训练分类器。
1700537716
1700537717
同样地,对于欠采样,可以采用Informed Undersampling来解决由于随机欠采样带来的数据丢失问题。常见的Informed Undersampling算法有:
1700537718
1700537719
(1)Easy Ensemble算法。 每次从多数类Smaj中上随机抽取一个子集E(|E|≈|Smin|),然后用E+Smin训练一个分类器;重复上述过程若干次,得到多个分类器,最终的分类结果是这多个分类器结果的融合。
1700537720
1700537721
(2)Balance Cascade算法。级联结构,在每一级中从多数类Smaj中随机抽取子集E,用E+Smin训练该级的分类器;然后将Smaj中能够被当前分类器正确判别的样本剔除掉,继续下一级的操作,重复若干次得到级联结构;最终的输出结果也是各级分类器结果的融合。
1700537722
1700537723
(3)其他诸如NearMiss(利用K近邻信息挑选具有代表性的样本)、One-sided Selection(采用数据清理技术)等算法。
1700537724
1700537725
在实际应用中,具体的采样操作可能并不总是如上述几个算法一样,但基本思路很多时候还是一致的。例如,基于聚类的采样方法,利用数据的类簇信息来指导过采样/欠采样操作;经常用到的数据扩充方法也是一种过采样,对少数类样本进行一些噪声扰动或变换(如图像数据集中对图片进行裁剪、翻转、旋转、加光照等)以构造出新的样本;而Hard Negative Mining则是一种欠采样,把比较难的样本抽出来用于迭代分类器。
1700537726
1700537727
■ 基于算法的方法
1700537728
1700537729
在样本不均衡时,也可以通过改变模型训练时的目标函数(如代价敏感学习中不同类别有不同的权重)来矫正这种不平衡性;当样本数目极其不均衡时,也可以将问题转化为单类学习(one-class learning)、异常检测(anomaly detection)。本节主要关注采样,不再赘述。
1700537730
1700537731
·总结与扩展·
1700537732
1700537733
在实际面试时,这道题还有很多可扩展的知识点。例如,模型在不均衡样本集上的评价标准;不同样本量(绝对数值)下如何选择合适的处理方法(考虑正负样本比例为1∶100和1000∶100000的区别);代价敏感学习和采样方法的区别、联系以及效果对比等。
1700537734
1700537735
1700537736
1700537737
1700537739
百面机器学习:算法工程师带你去面试 第9章 前向神经网络
1700537740
1700537741
深度前馈网络(Deep Feedforward Networks)是一种典型的深度学习模型。其目标为拟合某个函数f,即定义映射y=f (x;θ)将输入x转化为某种预测的输出y,并同时学习网络参数θ的值,使模型得到最优的函数近似。由于从输入到输出的过程中不存在与模型自身的反馈连接,此类模型被称为“前馈”。
1700537742
1700537743
深度前馈网络通常由多个函数复合在一起来表示,该模型与一个有向无环图相关联,其中图则描述了函数的复合方式,例如“链式结构”f (x)=f(3)( f(2)( f(1)(x)))。链的全长定义为网络模型的“深度”。假设真实的函数为f (x),在神经网络的过程中,我们试图令f (x)拟合f (x)的值,而训练数据则提供在不同训练点上取值的f (x)的近似实例(可能包含噪声),即每个样本x伴随一个标签y≈f (x),指明输出层必须产生接近标签的值;而网络学习算法则需要决定如何使用中间的“隐藏层”来最优的实现f*的近似。
1700537744
1700537745
深度前馈网络是一类网络模型的统称,我们常见的多层感知机、自编码器、限制玻尔兹曼机,以及卷积神经网络等,都是其中的成员。
1700537746
1700537747
1700537748
1700537749
[
上一页 ]
[ :1.7005377e+09 ]
[
下一页 ]