ML:机器学习模型的稳定性分析简介常见的解决方法之详细攻略
Posted 一个处女座的程序猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ML:机器学习模型的稳定性分析简介常见的解决方法之详细攻略相关的知识,希望对你有一定的参考价值。
ML:机器学习模型的稳定性分析简介、常见的解决方法之详细攻略
目录
2、提高模型稳定性—适合泛线性模型(如逻辑回归)—幅度过大的变量进行分箱处理
ML:机器学习模型的稳定性分析简介、常见的解决方法
1、增强稳健性的通用方法
(1)、加入噪声数据—加扰动:比如在图像识别场景中,训练CNN识别图片时,常用的数据增强技术包括选择、拉伸、增加白噪声等方法。而在风控场景里,由于数据一般都是标签不平衡的(一般5%左右的bad rate),我只SMOTE方法来对bad的部分进行upsample。SMOTE方法通过对bad的部分加扰动,产生新的数据,这样就能平衡训练集中的各标签比例。
(2)、使用统计特征:比如,在2000年逾期5000元,是很严重的事件,意味着高风险;但2022年逾期5000元,却是低风险的。所以,如果只用金额数据,模型的预测往往不够精准。此时,可以利用统计特征来代表实际值。例如使用Z-Score,z的绝对值值越高,代表他和其他客户的差异越大。
风控领域由于对解释性有一定要求,所以很难使用神经网络等深度学习模型。
2、提高模型稳定性—适合泛线性模型(如逻辑回归)—幅度过大的变量进行分箱处理
对于逻辑回归模型,单个变量的变动会影响模型的输出,而且这种影响是线性的。这会造成两个因素影响稳定性,
问题 | (1)、某特征样本的数值变化幅度过大,对最终输出结果影响会较为剧烈:例如我的模型其中一个特征是逾期金额,逾期10元和逾期20元对于银行来说都是小事,但在模型的某一项里,影响是双倍的。 (2)、对outlier值处理,比较复杂 |
解决方案 | 采用分箱技术→如WOE编码变换→来提高模型的稳定性:采用WOE编码后,(1)、比如,把小于100元的样本都被分到一个组,那么欠银行1元和99元都是一样低风险; (2)、比如,把outlier值的样本,会自动转换成变成分箱的最左或者最右的那一类。例如我们的客户里年龄最大的不到100岁,那么我们可以每10岁设置一个分箱,变为[-∞,10],[11,20],....[90,+∞]十个分箱。 |
3、提高模型稳定性—适合基于树的模型—降低过拟合
3,1、基于树模型的2个天然优势
(1)、自带的自动分箱理念:由于树的split是基于阈值的,即相当于进行自动分箱,这也是基于树模型的好处之一。
(2)、基于树的模型,一般对数据的波动不敏感:数据分布发生微小偏移时,仍能表现稳定。比如决策树,数据的准备往往是简单的甚至是不必要的。
3.2、降低树模型的过拟合问题
但是,使用单棵决策树容易过拟合。为了防止过拟合我们一般会:
(1)、使用单棵决策树顺丰需要修剪枝叶技巧:但是这种方法,需要大量的分析与尝试,所以大多数人,很少使用单颗决策树作为ML模型。
(2)、使用随机森林算法:三个臭皮匠顶过一个诸葛亮,RF在解决回归问题时,并没有像它在分类中表现的那么好,这是因为它并不能给出一个连续的输出。
(3)、使用XGBoost算法:Kaggle比赛中的利器,XGBoost具有非常好的非线性拟合能力,以及对超参数的鲁棒性。但依赖统计特征,特征的准备需要积累一定周期才有足够置信度,比如一年的数据量。
其实,无论稳定性做得多好,模型总有效用递减的时候。下一步就是要如何实现模型监控。
以上是关于ML:机器学习模型的稳定性分析简介常见的解决方法之详细攻略的主要内容,如果未能解决你的问题,请参考以下文章