SMOTE算法缺陷:
1、由于选择k近邻,存在一定盲目性;
2、无法克服数据分布问题,可能产生边缘化分布数据 。比如负类样本在边缘,则其k近邻也在边缘,依次类推产生的数据会越来越边缘,增加分类难度 。
PS:对于小数据集来说,当总体数据量不够时,为了简化模型,可以借鉴过采样的方法 。具体到图像任务,还可以直接在图像空间进行变换,通过施加一定幅度的旋转、平移、裁剪、清晰度、对比度等,扩充数据集 。此外,迁移学习也是在小数据集上进行建模的好方法 。
对于模型的评估方法,整体准确率不适用于不平衡数据集,需要引入新的度量方式,比如G-mean,它会看正类上的准确率,再看负类上的准确率,然后两者相乘取平方根 。另外一种常见的度量方法时F-score 。
2、权重设置:
改变样本权重指的是增大样本数较少类别的样本的权重,当类别较少的样本被误分时,其损失值要乘以相应的权重,从而让分类器更加关注这一类数据较少的样本 。
2.1、设置类别权重:
2.2、设置样本权重:
3、集成的思想:
3.1、采用的集成算法:XGB,LGB等(对不平衡数据处理效果较好的模型)
3.2、模型融合:投票法
利用gbdt/lgb/xgb分别对正负样本按比例(1:2 1:5 1:10)进行训练,然后根据AUC分数的比例得到了三者的比例,最后进行投票得到最终模型
4、一分类(转化成异常检测问题):
在样本极度不平衡的情况下,换一个完全不同的角度来看待问题,可以把它看成异常检测问题
利用用异常检测算法(IF、LOF、)建立一个单类分类器,检测异常点(少数类) 。
5、利用深度学习:自编码器
利用进行特征的抽取,再将抽取的特征送入分类器(LR)
6、确定适合样本不平衡问题的评价指标:
ROC,AUC,
链接
三、过拟合和欠拟合 1、过拟合
过拟合是模型在训练集上的表现很好,在测试集上的变现却很差 。出现这种现象的主要原因是训练数据集中存在噪音、训练数据太少、特征选择的过多导致模型复杂度高、模型拟合了数据中噪声和训练样例中没有代表性的特征 。
(1)、Early
Early 便是一种迭代次数截断的方法来防止过拟合的方法,即在模型对训练数据集迭代收敛之前停止迭代来防止过拟合 。对模型进行训练的过程即是对模型的参数进行学习更新的过程,这个参数学习的过程往往会用到一些迭代方法,如梯度下降( )学习算法 。这样可以有效阻止过拟合的发生,因为过拟合本质上就是对自身特点过度地学习 。
(2)、正则化
指的是在目标函数后面添加一个正则化项,一般有L1正则化与L2正则化 。L1正则是基于L1范数,即在目标函数后面加上参数的L1范数和项,即参数绝对值和与参数的积项 。
L2正则是基于L2范数,即在目标函数后面加上参数的L2范数和项,即参数的平方和与参数的积项 。
为解决过拟合,尽量减小高次项特征的影响 。使得w的每个元素都很小,接近于0.越小的元素说明越简单,越简单的模型则越不容易过拟合 。
L2正则化的公式非常简单,直接在原来的损失函数基础上加上权重参数的平方和 。
正则化的目的是限制参数过多或者过大,避免模型更加复杂 。例如,使用多项式模型,如果使用10阶多项式,模型可能过于复杂,容易发生过拟合 。所以为了防止过拟合,可以将其高阶部分的权重w限制为0,这样就相当于从高阶的形式转化为低阶 。为了达到这一目的,最直观的方法是限制w 的个数,但这类是NP难问题,求解非常困难,所以一般的做法是寻找宽松的限定条件:
- win10 + centOS7双系统安装
- S-Funciton应用实例
- 去运动健身用什么耳机好、最好的运动耳机推荐清单
- CUDA 利用NVIDIA显卡跑神经网络
- 高考发挥超常,考了个二本
- CodeEase标准化的低代码平台
- JS获取元素的九种方法、节点,以及在JS中动态增删改元素
- 装刀凯第二季可以在樱花动漫上观看吗
- 二人世界在哪儿在线观看
- 二 TWaver可视化软件数据中心三维可视化上