当前位置: 首页 > >

关于在机器学*和深度学*中class imbalance(分类不*衡)问题

发布时间:


在我利用神经网络训练数据的过程中发现准确率总是处于60%-70%,感觉这个不是神经网络该有的表现,我认为我的问题应该出现在神经个数控制和神经网络的层数控制以及数据集的处理(数据过于集中于某一个类)。class imbalance出现时,会导致mse(误差)最小化但是已经把最小的群体忽略掉了(因为对整体影响很小,考虑进去会导致整体误差偏大),但是小群体往往又是重要的群体,这种情况下我准备先解决class imbalance的问题。关于深度和神经个数的问题我准备利用grid search/random search方法解决。
这里对文献进行调研和反思,总结一下该问题的解决方式。进一步着手自己问题的解决。





目录
文献1关于抽样under-samplingover-sampling
关于algorithm关于特征(feature)选择
示例



文献1

文献名称:Class Imbalance Problem in Data Mining: Review
2013年的一篇review,较多引用,叙述清晰。
处理这类问题的方法主要分为三类:利用算法,利用数据预处理,利用特征选择这三个方法。
数据预处理:主要分为两类,第一类通过添加样本,称为过度抽样,第二类是移除样本,称为不足抽样。
算法:主要分为两类,算法修改以及新建算法,主要的方式为利用代价(cost)函数,识别为基础的算法,核心算法(比如SVM)等。
同时利用抽样的方法结合算法的优化可以更好的进行预测。


关于抽样

两种方式:under-sampling/over-sampling,两种方式可以单独使用也可以结合使用


under-sampling

最主要的方法叫做random under-sampling
这个方法通过移除种类过量的样本,这样就可以*衡各个分类之间的不*衡的现象。但是这个方法的问题在于容易丢失一些重要的信息。
如下图:

可以看出这个方法能够随机的移除过表达的○样本,两类样本之间就会比较的均衡。


over-sampling

最主要的方法为random over-sampling
与undersampling相对,这个方法通过添加表现不足的种类样本,来*衡两者之间的不*衡关系。
如下图:


关于algorithm

算法的目标是优化对没有见过的数据集的表现能力。
一种算法为一类学*方法,它是通过给定特定的类来利用算法进行学*,而排斥调其他的组,这样实现对特定组的预测模型构建。
一种算法为代价敏感的学*方法,这个方法是通过最大化loss function.但是这个方法需要通过给定的数据集决定一个数据集特异的代价函数。
SVM是文献中的一种方法,暂时还未理解具体含义


关于特征(feature)选择

对于高维数据,提取有效的特征是很有效的方法,能够降低时间提升效率和准确性,但是最*才有研究特征的选择在分类不*衡的问题上的作用,具体到yahoo的一个项目中能够有效的优化,文献没有具体说明如何去优化。


示例



友情链接: hackchn文档网 营销文档网 爱linux网 爱行业网 时尚网